|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
计算正数个数和和,计算负数个数和和,以0结束输入
疑问:可以输出正数的个数但是计算和会出错,还有就是负数好像不会识别,要咋办
#include<stdio.h>
int main()
{
float input,sum1=0,sum2=0;
int num1=0,num2=0;
printf("请输入若干个实数:");
while((input=getchar())!='0')
{
if(input>0)
{
num1=num1+1;
sum1=sum1+input;
}
else if(input<0)
{
num2=num2+1;
sum2=sum2+input;
}
}
printf("正数的个数:%d,正数之和:%f\n",num1,sum1);
printf("负数的个数:%d,负数之和:%f\n",num2,sum2);
return 0;
}
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int main(void)
- {
- char s[80] ;
- float input , sum1 = 0 , sum2 = 0 ;
- int num1 = 0 , num2 = 0 ;
- printf("请输入若干个实数:") ;
- for(sum1 = 0 , sum2 = 0 , num1 = 0 , num2 = 0;;) {
- fgets(s , 80 , stdin) ;
- s[strlen(s) - 1] = '\0' ;
- if(s[0] == '0') break ;
- sscanf(s , "%f" , & input) ;
- if(input > 0) {
- sum1 += input ;
- num1 ++ ;
- } else if (input < 0) {
- sum2 += input ;
- num2 ++ ;
- }
- }
- printf("正数的个数:%d ,正数之和:%f\n" , num1 , sum1) ;
- printf("负数的个数:%d ,负数之和:%f\n" , num2 , sum2) ;
- }
复制代码
|
|