用C语言编写程序:要求输入10个整数,统计正数个数和所有正数和,负数个数和所有负数和,下面哪里出错

用C语言编写程序:要求输入10个整数,统计正数个数和所有正数和,负数个数和所有负数和,下面哪里出错#include<stdio.h>intmain(){inta[10];... 用C语言编写程序:要求输入10个整数,统计正数个数和所有正数和,负数个数和所有负数和,下面哪里出错#include<stdio.h>
int main()
{
int a[10];
int i,a,s,b,sum;
a=0,s=0;
b=0,sum=0;
printf("please input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",a);
for(i=0;i<10;i++)
{
do
{
s+=a[i];
a++;
}while(a[i]<0);
do
{

sum+=a[i];
b++;
}while(a[i]>0);
}
printf("正数个数为:%d\n所有正数之和为:%d\n负数个数为:%d\n所有负数之和为:\n",a,s,b,sum);
return 0;
}
展开
 我来答
My_Persistence
2016-12-16 · TA获得超过3467个赞
知道大有可为答主
回答量:1201
采纳率:81%
帮助的人:434万
展开全部

修改如下:

#include<stdio.h>
int main()
{
int arr[10];
int i,a,s,b,sum; //变量a和数组a[]重名了,这是不允许的,编译报错
a=0,s=0;
b=0,sum=0;
printf("please input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&arr[i]);  //你这里错了
for(i=0;i<10;i++)
{
if(arr[i]>0)
{
s+=arr[i];
a++;
}
if(arr[i]<0)
{
sum+=arr[i];
b++;
}
//已经有for循环来遍历数组了,所以不需要额外的循环语句了
}
printf("正数个数为:%d\n所有正数之和为:%d\n负数个数为:%d\n所有负数之和为:%d\n",a,s,b,sum); //少了一个%d
return 0;
}
追问
谢谢你的详细解答,让我收获颇多!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式