1. 程式人生 > >C語言-輸入任意多個數字,數字間用空格隔開,然後將數字求和。

C語言-輸入任意多個數字,數字間用空格隔開,然後將數字求和。

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;
}