永发信息网

简单的编程问题

答案:2  悬赏:80  手机版
解决时间 2021-07-30 23:18

请帮我看看我的程序哪有问题

我是初学者 不明白

#include<stdio.h>
void main()
{
int a[99];
int i,n;
float k;
for(i=0;i<100;i++)
a[i]=i+1;
for(i=2;i<100;i=i+2)
{
k=sqrt(a[i]);
for(n=2;n<k;n++)
{
if(a[i]%n==0)
break;
}
if(n>k)
printf("%d",a[i]);
}
}

最佳答案

#include<stdio.h>
#include <math.h> //因为用到sqrt()开平方函数,所以要包含其头文件math.h


void main()
{
int a[100];


//数组长度改成100, 或者将for循环中的i<100改成i<99.否则运行时会数组下标越界导致内存错误.
int i,n;
float k;
for(i=0;i<100;i++)
a[i]=i+1;
for(i=2;i<100;i=i+2)
{
k=sqrt(a[i]);
for(n=2;n<k;n++)
{
if(a[i]%n==0)
break;
}
if(n>k)
printf("%d ",a[i]); //输出加个空格区分下. 否则连在一起看累.
}
}

全部回答

你的程序的问题在于你没有全部给a[99]这个数组赋值就用了,所以会有问题,你把第一个for循环单独放在上面,等第一下for循环运行完后,再运行下面的所有语句就没有问题了

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
东西湖区武汉自助快餐地址有谁知道?有点事想
2009年五年级阅读短文薄荷的结尾怎么写啊
推荐一下数码相机,最好在1000万像素以上的
有什么手机可以下载电子书的网站?
道里区哈尔滨春城旅店(尚志胡同)地址在哪,我
天龙八部怎么让武器资质成霜双完美啦?
2009年1月29号距离2011年9月5号有多久
吉林市PSP2000刷机多钱
人人餐厅里面经常充体力的原因是什么?
可以给我个新手卡吗?
唯独17173连接的视频看不到
为什么网页视频打不开
光山县信阳鼎鑫名酒我想知道这个在什么地方
寻求最简单的自我介绍
人民的力量是要胜利的,真理是永远存在的.的含
推荐资讯
生存战争怎么换皮肤,lol蒙多战争血统皮肤多少
qq会员和黄钻比较那一个比较好?
QQ校友怎么进?
有一种衣服的商标叫康威,请问它属于名(品)牌
为什么我的爱情中只有谎言跟孤单?
找一个电脑录音效果好的软件?
再辉煌的过去终究还是过去,人们不会记得,也
拔了毛的凤凰歇后语是什么
谁会做这几道数学,化学题,有详细步骤
没有基础怎样学习德语
导游用英语把自己介绍给外国游客
怎么我的体验服这样
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?