原题链接:二级C语言-计负均正
解题思路:
1.因为需要输入20个数,所以需要定义一个数组;
2.输入的数据有两种状态需要判断,所以可用if_else语句
注意事项:
1.数组用for循环输入
2.注意是有一个范围是 >= 0
参考代码:
#include<stdio.h>
int main()
{
int a[20],j=0; //a[20]:存储数据 j:负数个数统计
double sum=0; //所有正数的和
for(int i=0;i<20;i++)
{
scanf("%d",&a[i]);
if(a[i]>=0)
{
sum=sum+(double)a[i];
}
else
{
j++;
}
}
printf("%d\n%.2lf\n",j,sum/(20-j));
return 0;
}0.0分
27 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
正数不能算0吧 #include<stdio.h> int main() { int n; int a[20]; int count1=0,count2=0; double sum=0; for(n=0;n<20;n++) { scanf("%d",&a[n]); if(a[n]<0) count1++; else if(a[n]!=0) { sum+=a[n]; count2++; } } printf("%d\n%.2lf\n",count1,sum/count2); return 0; }#include <stdio.h> int main() { int c=0; int i; int a[20]={0}; int n=0; float b=0; float d; for(i=0;i<20;i++) { scanf("%d",&a[i]); } for(i=0;i<20;i++) { if(a[i]<0) { c++; } if(a[i]>0) { b+=a[i]; n++; d=b/n; } } printf("%d\n",c); printf("%.2f\n",d); return 0; }int i,z,k=0; float avg,sum=0.0; for(i=0;i<20;i++) {scanf("%d",&z); {if(z>0) sum+=z; else k++; } } avg=sum/(20-k); printf("负数有%d个,正数的平均数为%.2f",k,avg); 大神,这个网站说我答案错了,求解答!!!!