C語言-輸入任意多個數字,數字間用空格隔開,然後將數字求和。
阿新 • • 發佈:2019-02-03
C語言練習,看到一個題目:輸入任意多個數字,數字間用空格隔開,然後將數字求和。
苦於不會用連結串列來做一個動態陣列,所以用了一個土辦法,先定義一個“足夠大”的陣列,然後將使用者輸入的數字填入陣列,同時用變數記錄填入的個數,用於後面for迴圈的迴圈次數限制。最後用for迴圈求和。
C語言程式碼如下:
#include<stdio.h> int main() { int array[100]; int i=0; int sum=0; char y; printf("請輸入任意個數,按回車鍵結束,統計求和\n"); do { scanf("%d",&array[i]); i++; }while(y=getchar()!='\n'); //用於判斷是否按了回車 for(int j=0;j<i;j++) { sum =sum+array[j]; } printf("求和 = %d \n", sum); return 0; }
除此之外。在網上也看到別的方法:
程式碼如下:
#include <stdio.h> int main() { int num = 0,sum = 0; char ch; while((ch = getchar()) != '\n') { if(ch >= '0' && ch <= '9') num = 10 * num + ch - '0'; if(ch == ' ') { sum += num; num = 0; } } printf("sum = %d\n",sum + num); return 0; }