[一个C语言问题,急!]

编程统计一维数组中有多少个正数、多少个负数,多少个零,并返回统计结果。m<=100,n<=100[例如]输入:16-2230343445-4545231234554-34... 编程统计一维数组中有多少个正数、多少个负数,多少个零,并返回统计结果。m<=100,n<=100

[例如]输入:
16
-2 23 0 34 34 45 -45 45 231 23 45 54 -34 -4 -34 34
输出:
10
5
1
展开
 我来答
pengmao200510
2008-06-10 · TA获得超过1.1万个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:153万
展开全部
/*这份代码经源码格式软件格式化过

#include "stdio.h"
#define N 10 ////N的值视情况而定,如果你所需要的数组长度为100,则改为100就行,当然可以动态分配内存容量,但是由于时间原因,就没有弄那么复杂了.

main()
{
int s[N]={0};
int a=0,b=0,c=0,i,m ;
printf("请输入你需要分类的数组数字\n");
for(i=0;i<N;i++)
{
scanf("%d",&s[i]);
if(i==N-1)
{break;}
printf("请输入第 %d 个数字\n",i+2);
}
for(i=0;i<N;i++)
{
if(s[i]>0)
{
a++;
}
else if(s[i]<0)
{
b++;
}
else if(s[i]==0)
{
c++;
}
}
printf("正数负数及等于零的数的个数分别为\n");
printf("\n%d\n%d\n%d\n",a,b,c);
getch();
}

输出的格式为第一行大于零的数的个数,第二行为小于零的数的个数,第三行为等于零的数的个数。
还好,花了半个小时的时间还是写出来,编译软件测试通过了,没有什么问题,你还可以改得更加人性化,当然那是后话,由于我是用的WINTC编译软件,所以在最后用了一个语句---getch(),这是为了输出可视化的结果。
在此鸣谢伍氏同学,以及江氏同学。
Kokoromi
2008-06-10 · TA获得超过1328个赞
知道小有建树答主
回答量:405
采纳率:0%
帮助的人:263万
展开全部
很简单的,写了一个,你看看吧。

#include <stdio.h>
main()
{
int num[100];
int n,z=0,l=0,f=0;
printf("请输入一维数组元素个数:");
scanf("%d",&n);

for(int i=0;i<n;i++)
{
printf("%s%d%s","请输入第" ,i+1 ,"个数组元素:");
scanf("%d",&num[i]);
if(num[i]>0) z++;
if(num[i]==0) l++;
if(num[i]<0) f++;
}

printf("\n正数、零和负数的个数分别是:");
printf("%d\ %d\ %d\n",z,l,f);
}

请参考~~
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高金山
2008-06-11 · TA获得超过1万个赞
知道大有可为答主
回答量:4101
采纳率:0%
帮助的人:1991万
展开全部
很简单的题目!程序如下:
#include <stdio.h>

int main()
{
int a[100]={0};
int n,i,x=0,y=0,z=0;

printf("输入一维数组元素个数:");
scanf("%d",&n);
printf("输入一维数组:");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]>0)
{
x++;
}
else if(a[i]<0)
{
y++;
}
else
{
z++;
}
}
printf("%d\n%d\n%d\n",x,y,z);
return 0;
}

输入:
16
-2 23 0 34 34 45 -45 45 231 23 45 54 -34 -4 -34 34
输出:
10
5
1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CLOSE_TO_ARM
2008-06-10 · TA获得超过431个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:191万
展开全部
建立一个一维数组a[]保存这些输入的数组和3个统计变量P,N,Z
然后使用一个for循环
if a[i]>0 P++
if a[i]==0 Z++
if a[i]<0 N++
打印就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
87725981
2008-06-10 · 超过28用户采纳过TA的回答
知道答主
回答量:542
采纳率:0%
帮助的人:409万
展开全部
#include <stdio.h>
int main()
{
int temp[100];
int n,x=0,y=0,z=0;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&temp[i]);
if(temp[i]>0)
x++;
else
if(temp[i]==0)
y++;
else
z++;
}
printf("%d\n%d\n%d\n",x,y,z);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式