C语言问题………………

小弟刚学C语言,没事时想自己编个求素数的程序,但确没按我的想法运行……我的想法是将已经求出的素数放在一个数组m中,然后让一个数去依次除以这个数,如果这个数是素数的话就存在m中,然后接着比较……
刚接触C语言,可能程序中有不少低级错误,高手们不要笑我哈…………嘿嘿……谢谢了各位!!
这是我编的程序,欲行后好像只输出了printf(“2\t”);这个语句……
#include<stdio.h>
main()
{
int i,j,k,n;
j=0;
k=j;
int m[9999];
m[k]=2;
printf("2\t");
star:for(i=3;;i+=2)
for(m[j];m[j]=0;j++)
{
if(i%m[j]==0)
goto star;
else if(i%m[j]!=0)
break;
while(m[j]=0)
{
m[k+1]=i;
k++;
printf("%d\t",i);
}
}
}

求素数的程序很简单啊。一个数t能被2~t-1求余不得0就是素数。
scanf("%d",&n);
for(i=2;i<n;i++)
if(!(n%i))break;
if(i==n)printf("n是素数!");

你说的方法让人有点摸不着头脑。
一点点建议是,作为初级学者千万不要使用goto语句,即使是高手也尽量避免使用这个,很容易造成死循环的;
for(m[j];m[j]=0;j++)
这里的初始化不对吧,应该就是简单的j=0,或者什么也不写。
温馨提示:内容为网友见解,仅供参考
无其他回答

C语言问题………
求素数的程序很简单啊。一个数t能被2~t-1求余不得0就是素数。scanf("%d",&n);for(i=2;i<n;i++)if(!(n%i))break;if(i==n)printf("n是素数!");你说的方法让人有点摸不着头脑。一点点建议是,作为初级学者千万不要使用goto语句,即使是高手也尽量避免使用这个,很容易造成死循环...

c语言问题
1 答案应该是B,这个没什么好解释的(就是指针变量指向变量的地址)2 答案应该是D 如果直接用字符串对字符数组初始化的话字符数组的长度要比实际字符串长度大1的 因为字符串在字符数组中是以'\\0'结束的,这个你也可以用sizeof() 分别测试一下 我已经测试过了A比B大1的 3 答案应该是D,这个...

C语言的简单问题。\/。.,.,
for语句是遍历str[]。isalpha(str[i])是判断str[i]是否是字母。j的处置是0,就是将str[]里面的字母填充至str[0]开始的位置。在C语言中,char字符数组的结束符为‘\\0’

C语言的问题!
4,下一步是使用浮点参数以符合浮点格式规范,或在程序中的其他位置执行浮点分配。请注意,此操作将导致加载浮点支持。5,最后一步是,当程序以混合语言编写的程序链接时,在FORTRAN库之前指定C库。重新解决了秋天的飞行问题。

c语言的一个循环问题
=term *10+2中去,可求的当前一项 的值为22,即term =22;由前一次循环可知道sum=2,即此时sum+=term 即为sum=sum+term=2+22;当 i =3 时,。。。之后的一次类推,整个程序就是一个循环累加,别的就没什么了。不知道我这样分析是不是说清楚了,但愿对你有帮助 ...

C语言编程问题.请高手进(附源码)!!!HELP
for(c=0;c!=b;c++)sr();break;case 2:;break;case 3:;break;default:printf("输入错误,请重新打开程序输入!");} } void sr(void){ int b=0,d=0,f=0;float e=0.0;char A[20],c[20];FILE *g;g=fopen("fdsj.dat","a+");\/\/---a方式好,是追加 printf("请输入菜的类别...

C语言编程问题!!高手救命,在线等答案
另外,对于应该输入float的时候用户输入char导致跳过某些变量输入的情况,这和scanf内部实现的机制有关,因为它是靠类型指针来获取对应值的,那么如果对于普通类型(比如float,VC6中为4字节)变量,如果用户的录入有问题(比如char*),scanf会直接跳过当前变量的赋值。针对这种情况,如果非要用C语言而不是...

C语言小问题..
1.include<stdio.h> int main(void){ int i,sign;int n;double s=0;printf("please input n: \\n");scanf("%d",&n);sign=1;for(i=1;i<=n;i++){ s=s+1.0*sign\/i;sign=-sign;} printf("%f\\n",s);return 0;} 2.include<stdio.h> int main(void){ int i,sign;double...

问一道C语言编程的问题,看下图
按你的提问,每天都吃一半多两个,第6天剩一个。程序按图片中的程序照猫画虎即可。计算结果,第一天摘了156个桃子,而不是100个。include <stdio.h>int main(){int day,x1,x2;day=5;x2=1;while(day>0){x1=(x2+2)*2;x2=x1;day--;}printf("total=%d\\n",x1);return 0;} 用...

c语言排列组合问题,怎么算?
只要C的上面是0,不管下面是什么都等于1。分子是从5开始递减的两个数字相乘,即5*4;分母为从1开始递增的两个数字,即1*2;所以结果为5*4÷(1*2)=10;同理:c53=5*4*3÷(1*2*3)=10 c54=5*4*3*2÷(1*2*3*4)=5 从n个不同元素中,任取m(m≤n,m与n均为自然数,下同)个...

相似回答