程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 字符串 前導0-字符串怎麼去掉前導0,用C語言,拒絕指針,因為看不懂指針,題目如下麻煩大神寫清楚點,

字符串 前導0-字符串怎麼去掉前導0,用C語言,拒絕指針,因為看不懂指針,題目如下麻煩大神寫清楚點,

編輯:編程解疑
字符串怎麼去掉前導0,用C語言,拒絕指針,因為看不懂指針,題目如下麻煩大神寫清楚點,

阿丟最近遇到些麻煩了,需要從一串字符串中找到其中的數字,親愛的同學們,你能幫他麼?(不考慮負數)

輸入
輸入數據有多組,以EOF結束,每行一個字符串,需要將其中的數字輸出來,比如:

輸入:

asdfjal;jdf234324jlkasdfjlsj35j32i532sdf1

sdgjkafjldsjflsdjfjirtpfihsdfblmdvl

123124isdfjalfl34jljl

有一點出題的學長沒有說明:注意前導0的情況!-----尕小豪

如:

00000hfjkahk353k5hkhdf900kdk45

輸出為:

353590045

輸出
按以下格式輸出,若字符串中沒有數字,空一行

Case #1:

23432435325321

Case #2:

Case #3:

12312434

樣例輸入
asdfjal;jdf234324jlkasdfjlsj35j32i532sdf1
sdgjkafjldsjflsdjfjirtpfihsdfblmdvl
123124isdfjalfl34jljl
樣例輸出
Case #1:
23432435325321
Case #2:

Case #3:
12312434
提示
數字可能比較大,unsigned long long裝不下

下面是小白我代碼,由於這個沒有我想得那麼水所以代碼寫得漏洞百出,大家請輕點吐槽,關鍵是怎麼去掉字符串前導0,不用轉化成整數形式最好,不然又得考慮數字太大裝不下怎麼辦。
#include
int main()
{
int n,i,x,y,z,k,add;
x=y=z=0;
k=0;
char s[1000];
char b[1000];
char c[100];
add=0;
while(scanf("%s",s)!=EOF)
{
k++;
x=0;
for(i=0; s[i]!='\0'; i++)
{
if(s[i]>=48&&s[i]<=57)
{
b[x++]=s[i];
}
}
//int.parse(b);

//add+=b[x];
// if(add!=0)
// printf("Case #%d:\n%d",k,b[x]);

}

printf("%s",c);

}

最佳回答:


 bool key = false;
        for (i = 0; s[i] != '\0'; i++)
        {
            if (s[i] >= 48 && s[i] <= 57)
            {
                if (key || s[i] != '0')
                {
                    if (s[i] != '0') key = true;
                    b[x++] = s[i];
                }


            }
        }
        b[x] = '\0';
        printf("%s", b);
zuoside__lord
zuoside__lord
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved