C程式設計--案例
阿新 • • 發佈:2018-12-05
宣告
案例:來自2007年江蘇大學程式設計考研試題 最後一題
答案為博主自己所寫,可能不是最優的程式碼,僅供參考;
題目
參考程式碼(並非最優程式碼,僅供參考)
#include<stdio.h>
#include<math.h>
int main(){
char c,str[10];//c存放單個輸入字元,str存放數字長度
int a[1000];
int n=0,i=0,sum;//n用來統計數字個數,i統計str長度,sum統計str的整型值
bool start=false;
while((c=getchar())!='\n' ){
if(c>='0'&&c<='9'){//如果c是數字,則將其存放至陣列str中
start=true;
str[i]=c;
i++;
}else{
if(start){//如果前面是數字,但當前不是數字,則寫入a陣列
sum=0;
for(int j=1;j<=i;j++){
sum+=(str[j-1]-'0')*pow(10.0,double(i-j));
}
a[n]=sum;
n++;//a中的元素個數加1
}
start=false;//重置記錄識別符號
i=0;
}
}
if(start){//如果最後以數字結尾,則寫入a陣列
sum=0;
for(int j=1;j<=i;j++){
sum+=(str[j-1]-'0')*pow(10.0,double(i-j));
}
a[n]=sum;
n++;//a中的元素個數加1
start=false;//重置記錄識別符號(寫不寫無所謂)
i=0;
}
//輸出部分
printf("共有 %d 個整數,他們是:\n",n);
for(int j=0;j<n;j++){
printf("%d ",a[j]);
}
printf("\n");
return 0;
}
執行結果