大一新生求助,搞了半天没搞明白哪里有问题!
c语言吧
全部回复
仅看楼主
level 1
[泪][泪][泪]
#include<stdio.h>
void findp(int n){
char biao[lbk]10000[rbk];
char prime[lbk]100[rbk];
int i,j,k,c,num=0;
for(i=0;i<(sizeof(biao)/sizeof(biao[lbk]1[rbk]))-1;i++){
biao[lbk]i[rbk]=1;
}
for(j=0;num<=100;j++){
if(biao[lbk]j[rbk]==1){
num++;
prime[lbk]num-1[rbk]=j;
for(k=2;k*j<=10000;k++){
biao[lbk]k*j[rbk]=0;
}
}
}
printf("以下是前100个素数");
for(c=0;c<num;c++){
printf("%d ",prime[lbk]c[rbk]);
}
undefined
}
int main()
{int i=0,j=0,n;
printf("你希望如何求取素数?输入1求取前n个素数,输入2求取1-n之内的素数\n");
scanf("%d",&i);
if(i==1){
printf("给我n吧\n");
scanf("%d",&n);
findp(n);
}else{
printf("给我n吧\n");
scanf("%d",&n);
}
return 0;
}
我只写的第一部分,就发现不能工作[呵呵],我输入的n=10,应该没有越界,还是不对。具体情况我放楼下,提前感谢各位大佬
2023年10月14日 15点10分 1
level 1
2023年10月14日 15点10分 2
level 1
然后它就卡在这个不能输入,也不输出,也不结束的状态不动了,编译器是devc++
2023年10月14日 15点10分 3
level 1
没有写注释,帮助各位大佬读我说一下:
作业是阿氏筛求素数
输入n,表示需要n个素数
把biao数组全初始化为1,用prime数组盛放素数,最后输出prime数组的每一个数。
2023年10月14日 15点10分 4
level 1
dd
2023年10月14日 16点10分 5
level 1
char biao[lbk]10000[rbk];
char prime[lbk]100[rbk];
这些是什么?看不懂。
给你写了一个筛选法求N以内的素数,用了一点C++,你自己翻译成C。
你的程序按F10单步执行,很快就能知道卡在哪里了。
2023年10月14日 17点10分 7
好的谢谢大佬的代码[乖]请问f10单步执行这个功能是特定编译器的还是都自带的?
2023年10月14日 17点10分
我觉得大多都是这样规定吧?我用的都是按F10,就像按F5是执行程序一样
2023年10月14日 18点10分
2023年10月15日 02点10分
1