原题链接:二级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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
#include"stdio.h" #include"math.h" #include"string.h" int main() { int a[100],count=0; float aver,sum; for(int i=0;i<20;i++) { scanf("%d",&a[i]); if(a[i]<0) { count++; } else sum=sum+a[i]; } aver=sum/(20-count); printf("%d\n",count); printf("%.3f\n",aver); return 0; }int i,a[20],n; double sum=0; float m; for(i=0;i<=20;i++) { scanf("%d",&a[i]); if(a[i]<0) n++; else { sum=sum+(double)a[i]; } } m==sum/(20-n); printf("%d\n",n); printf("%.2f\n",m); return 0; 错哪里了呀 有大佬帮我看看嘛?!拜托了#include<stdio.h> int main(void) { double arr[20]={0}; int count=0; double sum=0; for(int i=0;i<20;i++) { scanf("%lf",&arr[i]); if(arr[i]<0) { count++; }else { sum+=arr[i]; } } printf("负数个数为:%d\n正数的平均值为:%0.2lf\n",count,sum/(20-count)); return 0; }#include "stdio.h" void main() { int a[20],i,j=0; double h; for(i=0;i<20;i++) {scanf("%d",&a[i]); if(a[i]>=0)h=h+a[i]; else j++; } printf("%d\n%.2f",j,h/10); } 我的哪里出问题了?为什么这个网站识别一直是错误?????#include<stdio.h> int main(){ int a[20],b=0; double sum=0; for(int i=0;i<20;i++){ scanf("%d",&a[i]); if(a[i]<0){ a[i]=0; b++; } } printf("%d\n",b); for(int i=0;i<20;i++){ sum=sum+a[i]; } printf("%0.2lf\n",sum/10); return 0; }