时间:2022-06-05 11:19:05 | 栏目:C代码 | 点击:次
有时候可能需要在每一行输入的整数不确定,回车作为结束符,整数中间用任意多个空格隔开。
代码如下:
#include<cstdio> int main() { int num[1000]; char ch; do { scanf("%d",&a[i++]); }while((ch=getchar())!= '\n');// 这里用来判断是否输入了回车 return 0; } ------------------------------------------ while(cin>>b[cnt++],cin.get()!='\n');//也可用这句代替
补充知识: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; }