2、题目中要求找出一个大于给定整数 m 且紧随 m 的素数。
本题中的第一个错误:在函数fun()的嵌套循环的循环体中,语句"if (i % k != 0) break ;"是不正确的,结合程序上下文,程序是为了判断当前离m最近的整数是否可以为素数,如果它可以整除除了1和它自身以外其他任意一个整数,就说明它不是素数,所以应当更改为"if(i%k==0) break;";
本题中的第二个错误:函数fun()中的第二个判断语句"if (k<i)"是不正确的,应当更改为"if (i<=k)"。
本评析仅作参考。
知识点:知识点/C程序修改
答案解析
相关题目
89、以下程序的输出结果是 。
main()
{ int x=1,y=0,a=0,b=0;
switch( )
{ case 1:switch( )
{ case 0:a++; break;
case 1:b++; break; }
case 2:a++;b++; break; }
printf( ); }
88、以下程序的输出结果是_______。
#define N 10
void fun( )
{ int i;
for( )
a[i+1]=a[i]; }
main( )
{ int i,a[N]={4,5,6,7,8,9,10};
fun(a,2,6);
for(i=0;i<4;i++)
printf( ); }
87、以下程序的输出结果是_______。
#define N 10
void fun( )
{ int i;
for( )
a[i+1]=a[i]; }
main( )
{ int i,a[N]={1,2,3,4,5,6,7};
fun(a,2,6);
for(i=0;i<4;i++)
printf( ); }
86、以下程序的输出结果是_______。
#define N 20
void fun( )
{ int i;
for( )
a[i+1]=a[i]; }
main( )
{ int i,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,3,8);
for(i=0;i<6;i++)
printf( ); }
85、以下程序的输出结果是_______。
#define N 20
void fun( )
{ int i;
for( )
a[i+1]=a[i]; }
main( )
{ int i,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a ,2 ,9);
for(i=0;i<5;i++)
printf( ); }
84、以下程序的输出结果是_______。
main()
{ char h[]="america",*q;
q=h+2;
printf( );
printf( );
}
83、以下程序的输出结果是_______。
main()
{ char t[]="student",*p;
p=t+1;
printf( );
printf( );
}
82、以下程序的输出结果是_______。
main()
{ char s[]="159",*p;
p=s;
printf( );
printf( );
}
81、下面程序的输出结果是_______。
main( )
{ extern int m;
m+=2;
f( );
printf( );}
int m=7;
f( )
{ printf( ); m+=m;}
80、下面程序的输出结果是_______。
main( )
{ extern int m;
m-=2;
f( );
printf( );}
int m=7;
f( )
{ printf( ); m+=m;}
