
#include<stdioh>
void main()
{ int s1,s2,x,i;
s1=s2=0;
for ( i=0;i<10;i++ )
{ scanf("%d",&x);
if ( x>0 ) s1+=x; else s2+=x;
}
printf("正数和%d,负数和%d\n",s1,s2);
}
没有注意到scanf()和getchar() 的区别:前者不接受空格,后者接收空格。
当输入
1空格2空格3空格4 回车
时,数字1被getchar “吃掉了”,接下来scanf忽略1和2之间的空格,“吃掉”2,然后getchar“吃掉”2后面的空格,然后scanf再吃掉3 ……
可以看到数字1被getchar捕捉,其他几个数字被scanf捕捉,即最终计算出来的结果是 0+2+3+4 = 9图一所示
而如果从键盘上提前输一个空格,即输入
空格1空格2空格3空格4回车
时,程序就可以得出正确结果。图二所示
希望可以帮到你!
#include <stdioh>
#include <conioh>
void main()
{
clrscr();
int n=1,i=0,j=0,plus=0,negative=0;
while(n!=0)
{
scanf("%d",&n);
if(n>0)
{
plus=plus+n;
i++;
}
else if(n<0)
{
negative=negative+n;
j++;
}
else
{
printf("里面正数的和是%d,个数是%d\n",plus,i);
printf("里面负数的和是%d,个数是%d\n",negative,j);
}
}
getch();
}
同学
我是在turbo c 30 中运行成功的
我知道合不合你的心意
我们大家都是初学者
希望能够一起在C语言上取得成功
#include <stdioh>
#include <stdlibh>
main()
{
int i,x,s=0;
printf("please inter 10 int numbers\n");
for (i=0;i<10;i++){
scanf("%d",&x);
if (x < 0) {
printf("%d\n",x);
s = s + x;
}
}
printf("negtive data sum= %d",s);
}
再简化一下
#include<stdioh>
#define N 10
void main()
{int a[N], i,s1=0,s2=0;
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N;i++)
{
if(a[i]>0)
s1+=a[i];
else
s2+=a[i];
}
printf("所有正数的和:%d\n",s1);
printf("所有负数的和:%d\n",s2);
printf("总和:%d\n",s1+s2);
}
你的串号我已经记下,采纳后我会帮你制作
#include<stdioh>
void main(void)
{
int a[1000];
int i,j,sum1=0,sum2=0;
scanf("%d",&j);
for(i=0;i<j;i++)
{
printf("Please input: \n");
scanf("%d",&a[i]); //输入数据要放到循环中,多次输入,多次判断!
if(a[i]<0)
sum1=sum1+a[i];
if(a[i]>0)
sum2=sum2+a[i];
}
printf("sum1=%d\n",sum1);
printf("sum2=%d\n",sum2);
}
看你的程序,设置一个数组,其实没有什么意义,不如只定义一个整型变量就可以了!
以上就是关于C语言编程……任意输入十个数,分别计算出其中正数和负数的和……用for,while,do whil全部的内容,包括:C语言编程……任意输入十个数,分别计算出其中正数和负数的和……用for,while,do whil、c语言,编写程序,实现输入n个实数,并分别统计正数的和及负数的和,最后输出统计结果。我编写的程序如图、C语言程序设计~从键盘输入数据,统计负数与正数的个数~并分别求和,输入0结束~求高手帮忙做下~~感激不尽等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)