1. 程式人生 > >C程式設計--案例

C程式設計--案例

宣告

案例:來自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; }

執行結果

在這裡插入圖片描述
在這裡插入圖片描述