央视网乡村爱情第三部:C语言问题 懂的请进

来源:百度文库 编辑:高校问答 时间:2024/04/29 21:42:27
求0~100之内的质数,不准用数学函数,代码不用精简,可以就行了,我是入门者,想了好久都写不出来?
质数就是素数,就是只能被1和自已整除的自然数.比如1,3,5它们只能被1和自已整除
下面3个程序都不对,难道这个问题很难吗

容易,我的对。
#include <stdio.h>
main()
{
int i,j;
for(i=2;i<100;i++) {
for(j=2;j<i;j++) {
if((i / j * j) == i) goto Lab1;
};
printf("%d is prime\n",i);
Lab1:;
};
}

/*测试通过,不过我不知道什么是质数,如果1不是质数的话,就把isPrime函数的if(n == 1) return 1;这里改成if(n == 1) return 0;*/

#include <stdio.h>

int isPrime(int n) {
int i = 0;
if(n == 0) return 0;
if(n == 1) return 1;
for(i = 2; i < n; i++) {
if(n % i == 0) return 0;
}
return 1;
}

int main(int argc, char **argv) {
int i = 0, count = 0;
for(i = 0; i <= 100; i++) {
if(isPrime(i)) {
printf("%d\t", i);
count++;
if(count % 5 == 0) printf("\n");
}
}
printf("\n");
return 0;
}

#include<stdio.h>
main()
{int n,a[20],i,l=0,j,k,flag1=0,flag2=0,m;
printf("input a number(<100):");
scanf("%d",&n); m=n;
while(2)
{ for(k=2;k<n;k++)
{ flag1=0;flag2=0;
if(n%k!=0) continue;

for(i=2;i<k;i++)
if (k%i==0) break;
if (i>=k) flag1=1;
if(flag1==1) {a[l++]=k;flag2=1;break;}
}
if(flag2) n=n/k;

for(i=2;i<n;i++)
if (n%i==0) break;
if (i>=n) {a[l++]=n;break;}

}
printf("%d=",m);
for(i=0;i<l;i++)
{printf("%d",a[i]);
if (i!=l-1) printf("*");
}
printf("\n");
getch();
}

#include <stdio.h>
int main()
{
int i,j;

for(i=2;i<100;i++)
{
for(j=2;j<i;j++)
{
if((i%j)==0)
printf("%d is prime\n",i)
}
}
}

}