永发信息网

C语言的一道题,望解决

答案:2  悬赏:80  手机版
解决时间 2021-03-14 10:56
设N为五位数。求2~N之间最大的5个质数,将其存放在数组中,并求出这5个素数之和及其平均数,同时按升序输出这5个质数。要求质数的判断用函数实现,以便在主函数中调用。 N是51004
最佳答案
#include "stdio.h"
int prime(int n){
int i;
if(!(n&1))
return 0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return 0;
return 1;
}
int main(int argc,char *argv[]){
int a[5],N,i,k;
for(N=51003,k=0,i=4;i>=0;N-=2)
if(prime(N))
k+=(a[i--]=N);
for(i=0;i<5;printf("%6d",a[i++]));
printf("\nThe SUM is %d\n",k);
printf("The AVE is %g\n",k/5.0);
return 0;
}
全部回答
把这里改一下 …… printf(">> enter choice : "); scanf("%d", &s); 加上:getchar(); 后面还是一样的,不变 之所以加上getchar(),是因为在scanf("%d", &s);之后,s只接受你输入的整数(比如1),但是你的回车换行没有接收,这个回车换行还留在缓存中,如果你没有用getchar();接受这个回车换行,那么这个回车换行将被你后面的语句scanf("%c", &s);接收,意思就是:在此语句中,你没有输入要选择的字符就按了enter键了,所以导致你之前的那个问题。而我现在加上那么一句话,就把之前的那个回车换行给接收了,你后面就可以正常进行选择了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
于都县火车站在于都的什么位置?
要开一个两元店,在一个15平米的店里铺满货,
开车从天津站上津保高速怎么走最快
临沂沂蒙之味糁粥柳园小区NO.8地址有知道的么
陆官塘我想知道这个在什么地方
黄山市企业退休职工补发工资什么时候到位
原价120元,现减价42元 折扣是多少
最新版我的世界联机平台里怎么开外挂
石墨烯净化宝多久能去除甲醛
固化地坪施工方法有哪些?需要注意啥不
在室外工作的大学专业有哪些?
中国农业银行澄城县支行我想知道这个在什么地
通过银联支付渠道购买理财产品是怎样扣钱的?
十佳家庭范文
信阳天成纺机有限公司地址在什么地方,想过去
推荐资讯
福建名饺鸿运楼分店地址在哪,我要去那里办事
佳能24-105mm镜头背景虚化效果如何?
御可贡茶(溧水店)这个地址在什么地方,我要处
温州哪里有卖平板电脑的店面
三国演义中周瑜的兵器是什么?如题 谢谢了
现实中以前有赌王出老千被人把双脚断了这人叫
舞魅力培训机构地址在哪,我要去那里办事
接地扁钢120╳60X8mm什么意思
泸州醇小街店地址在什么地方,想过去办事
什么软件可以在玩穿越火线的时候透视墙壁?电
这个星期天我必须在家做饭的英文是什么。 请
梁静茹有哪些歌是电视电影里的曲子?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?