|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
程序要求是提取数据中的数字并求和!
这是我的代码
- #include<stdio.h>
- int main()
- {
- float a;
- int x;
- long long int sum;
- sum=0;
- while(x=(scanf("%f",&a))!=EOF) //没有数据时退出循环
- {
- if(x!=0) //scanf读取到字母时被挡住,返回值是0,读取到数字时返回值是1,我用这个作为条件,是不是有什么问题??
- {
- sum=sum+a;
- }
- else
- {
- getchar();
- }
- }
- printf("%f",sum);
-
-
- return 0;
- }
复制代码
输入数据按下回车后就没动静了,按ctrl+c也没反应
请教了!
- #include<stdio.h>
- int main(void)
- {
- float a ;
- int x ;
- float sum ; // 用于累加浮点数的变量一定要定义为 long long int ? 什么动机???
- sum = 0 ;
- while((x = scanf("%f" , & a)) != EOF)
- {
- while(getchar() != '\n') ; // 为了防止在输入字母时进入死循环,必须添加此句
- if(x) sum += a ;
- }
- printf("%f\n" , sum) ;
- return 0 ;
- }
复制代码
编译运行实况:
- D:\[00.Exerciese.2022]\C>g++ -o x3 x3.c
- D:\[00.Exerciese.2022]\C>x3
- 1.23
- a.bc
- c.de
- 3.14
- v.sd
- 2.78
- ^Z
- 7.150000
- D:\[00.Exerciese.2022]\C>
复制代码
|
|