c语言编程,输入一些整数,判断其中正数与负数的个数,并分别求出正数与负数的平均值

而且当输入数值为0时结束... 而且当输入数值为0时结束 展开
 我来答
娱乐小八卦啊a
高粉答主

2020-03-04 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117860

向TA提问 私信TA
展开全部

代码如下:

#include "stdio.h"

main( )

{ int i,iNum,iCount1=0,iCount2=0,iCount3=0;

 for(i=1;i<11;i++)

printf("请输入10个数:"); 

scanf("%d",&iNum);

if (iNum>0)

iCount1++;    /*iCount1表示大于0数*/

else  if(iNum<0)

iCount2++; /*iCount2表示小于0的数*/

else

iCount3++; /*iCount3表示等于0的数*/

}

printf("%d,%d,%d",iCount1,iCount2,iCount3);

}

扩展资料

C语言编程注意事项:

1、当标识符由多个词组成时,每个词的第一个字母大写,其余全部小写;

2、程序中不得出现仅靠大小写区分的相似的标识符;

注意相似的数字及字母(0和o,I(i)和l(L))

3、一个函数名禁止被用于其他之处;

4、所有宏定义、枚举常数、只读变量全用大写字母命名,用下划线分割单词;

#define MAX_NUM = 100

5、一般来说,习惯上用n、m、i、j、k等表示int型变量;c、ch等表示字符类型变量;a等表示数组;p等表示指针;循环变量用i、j、k。

buctears
推荐于2017-11-24 · TA获得超过189个赞
知道答主
回答量:84
采纳率:0%
帮助的人:24.1万
展开全部
#include <stdio.h>
void main()
{
int i,k,n=0,m=0;
float fu,zhen;
int a[10000];
k = 0;
while (scanf("%d",&a[k]) != EOF)
k ++;
fu = 0;
zhen = 0;
for (i = 0;i < k; i ++)
if (a[i] < 0)
{
fu += a[i];
n ++;
}
else
{
zhen += a[i];
m ++;
}
fu = fu/n;
zhen = zhen/m;
printf ("负数的个数为:%d 平均数为:%f.\n",n,fu);
printf ("正数的个数为:%d 平均数为:%f.\n",m,zhen);
}
代码是我直接写的,没用软件所以格式不好看,
追问
在win tc上为什么编译失败?
追答
在win tc 不是编译失败而是一闪而过对么。
你要在末尾加 getch ();
要想以输入0结束,只须把while (scanf("%d",&a[k]) != EOF) 改为while (scanf("%d",&a[k]) &&a[k])

改后程序为:

#include
void main()
{
int i,k,n=0,m=0;
float fu,zhen;
int a[10000];
k = 0;
while (scanf("%d",&a[k])&&a[k])
k ++;
fu = 0;
zhen = 0;
for (i = 0;i < k; i ++)
if (a[i] < 0)
{
fu += a[i];
n ++;
}
else
{
zhen += a[i];
m ++;
}
fu = fu/n;
zhen = zhen/m;
printf ("负数的个数为:%d 平均数为:%f.\n",n,fu);
printf ("正数的个数为:%d 平均数为:%f.\n",m,zhen);
getch();\\这是在win tc 里编译要加的。
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzuxiaolong
2011-04-07 · TA获得超过224个赞
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:88万
展开全部
/*zhengSum为正数的和,zhengCount为正数个数
fuSum为负数的和,fuCount为负数个数*/
void main()
{
int i,a[10],zhengSum=0,fuSum=0,zhengCount=0,fuCount=0;
printf("请输入一些数:\n");
for(i=0;i<10;i++)
a[i]=scanf("%d",&a[i]);
for(i=0;i<10;i++)
{ if(a[i]>0)
{zhengSum+=a[i]; zhengCount++;}
else if(a[i]<0)
{fuSum+=a[i]; fuCount++;}
}
printf("正数个数为%d,平均值为%f\n",zhengCount,1.0*zhengSum/zhengCount);
printf("负数个数为%d,平均值为%f\n",fuCount,1.0*fuSum/fuCount);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhongzunru
2011-04-07 · TA获得超过499个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:225万
展开全部
#include <iostream>
using namespace std;
int main()
{
int num;
int positiveNum = 0;//正数个数
int negativeNum = 0;//负数个数
int p_total=0;//正数的和
int n_total=0;//负数的和
while(cin>>num)
{
if(num>0)
positiveNum++;
p_total += num;
if(num<0)
negativeNum++;
n_total += num;
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HZH90615049
2011-04-07
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
fun(int &a,int b)
{int a,int b;
folat aver;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式