检查这段C程序有什么问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 11:56:18
#include <stdio.h>
main()
{
int a[100];
int i,j;
for (i=1;i<=100;i++)
for (j=1;j<i;j++)
if(j!=i)
{
if(i%j==0)
a[i]=i;
}
printf("The Prime Number Between 1 and 100 is: /n");
for(i=1;1<=100;i++)
printf("%d",a[i]);
}

***************************
这是我写的筛选出100以内的素数的程序
改成这样的了,仍然不行。可否给个完整的程序。成功之后再加送10分!

#include <stdio.h>
main()
{
int a[101];
int i,j,b;
printf("The Prime Numbers Between 1 and 100 are: /n");
for (i=1;i<=100;i++)
for (j=2;j<i;j++)
if(i%j==0) printf("%d",a[i]);
}

#include<stdio.h>
void main()
{
int i,j,n,a[101];
for(i=1;i<=100;i++)a[i]=i;
for(i=2;i<sqrt(100);i++)
for(j=i+1;j<=100;j++)
{
if(a[i]!=0&&a[j]!=0)
if(a[j]%a[i]==0)
a[j]=0;
}
printf("\n");
for(i=2,n=0;i<=100;i++)
{
if(a[i]!=0)
{
printf("%5d",a[i]);
n++;
}
if(n==10)
{
printf("\n");
n=0;
}
}
以上是谭浩强老先生的

************
你的那两个绝对不对
第一个:你将输出100个数,显然不对
后来的那个:24这样的合数它将输出3次并且不会输出 任何 一个 素数
*********
帮你改一下
第一个:
#include <stdio.h>
void main()
{
int a[100]={0};
int i,j,flag=1;
for (i=1;i<=100;i++)
for (j=1;j<i;j++)
if(flag)
{
a[i]=i;
if(i%j==0)
{
flag=0;
a[i]=0;
}
}
printf("The Prime Number Between 1 an