C语言程序没有语法错误但无法运行,为什么?

2024-12-04 16:07:21
推荐回答(2个)
回答1:

printf("%d+%d+%d+%d+%d+%d+%d+%d+%d+%d=%d\n",a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],sum);
这个换成for语句:
for( i = 0; i<10; i++ )
printf( "%d+", a[i+1] );

回答2:

#include
#include
int main(){
int i,j,k,t,sum=0,a[11],p;
a[0]=0;
for(i=499,k=0;k<=10;i-=2){
p=sqrt(i);
for(j=t=2;t<=p;t++){
if(i%t==0)break;
else j=1;}
if(j==1||i==1){
sum+=i;
a[k]=i;
k++; } /* 原程序写的是a[i]=i;应为a[k]=i; 另 C中的数组是从0开始的。程序没有运行,不知道有没有其他问题。 */
if(i==1&&k<=10){
printf("没有十个素数");
break;}
}
for( i = 0; i<10; i++ )
printf( "%d+", a[i+1] ); /* 楼上观点很正确!*/
}