我是编程新手 有如下题不会做了,特请教各位高手~谢谢 辛苦了~!
从键盘上输入不超过50个整数,若输入0则输入立即结束。计算并显示这些整数中所有非素数数字的平均值。
(PS:谢谢大家了~如果时间允许的话 最好能在每行代码后面写上注释,我是个新手,我怕有的地方看不懂~十分感谢)
C语言新手请教关于求非素数的平均值问题
答案:2 悬赏:60 手机版
解决时间 2021-04-27 13:52
- 提问者网友:椧運幽默
- 2021-04-27 01:38
最佳答案
- 五星知识达人网友:迷人又混蛋
- 2021-04-27 03:11
#include <stdio.h> //输入输出头文件
#include <math.h> //sqrt()
int isprime(int n) //判断素数,是素数就返回1.不是返回0
{
int i,k;
k=sqrt(n);
for(i = 2; i <= k; i++)
{
if(n % i == 0) break;
}
if(i > k) return 1;
return 0;
}
void main()
{
int t, n = 0, i= 1; //i作为输入控制,初始化为1.最多50个数.
float ave = 0; //平均值可能存在小数,所以用float存储.
while(scanf("%d", &t), t != 0) //循环获取输入,当输入不为0时继续循环.
{
if(++i >= 50) break; //如果输入50个数,就不在获取输入.
if(!isprime(t)) //判断输入的数是否素数. 不是的话就将该数累加到ave中.
{
ave = ave + t;
n++; //n作为非素数计数器.用于求平均值时使用.
}
}
ave = ave / n; //计算非素数的平均值.
printf("ave = %.1f\n",ave);
}
全部回答
- 1楼网友:白昼之月
- 2021-04-27 04:46
#include <stdio.h> //输入输出头文件 #include <math.h> //导入sqrt()函数
…………其他的和楼上的一样
这个垃圾问问,非要人多打些字,审核就是不通过,气死人呢
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯