| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
- #include <stdio.h>
 
 - #define N 100
 
 - int main(void)
 
 - {
 
 -         int i,j,a[N],k = 0,flag = 0;
 
 -         for(i = 200;i <= 300;i++)
 
 -         {
 
 -                 for(j = 2;j < i / 2;j++)
 
 -                 {
 
 -                         if(i % j == 0)
 
 -                         {
 
 -                                 flag = 1;
 
 -                                 break;
 
 -                         }
 
 -                         else
 
 -                         {
 
 -                                 flag = 0;
 
 -                                 
 
 -                         }
 
 -                 }
 
 -                 if(!flag)
 
 -                 {
 
 -                         a[k] = i;
 
 -                         k++;
 
 -                 }
 
 -         }
 
 -         for(i = 0;a[i] != 0;i++)
 
 -         {
 
 -                 printf("%d\n",a[i]);
 
 -         }
 
 -         
 
 -         return 0;
 
 - }
 
  复制代码 
 
编译运行实况 
 
 
211 
223 
227 
229 
233 
239 
241 
251 
257 
263 
269 
271 
277 
281 
283 
293 
48 
 
-------------------------------- 
Process exited after 0.03712 seconds with return value 0 
请按任意键继续. . . 
 
 
为什莫最后打印出来会出现48 
#include <stdio.h> 
#define N 100 
int main(void)                        //数组输出的时候越界了,数组未定义项可不是!0,而是无意义的数. 
{ 
        int i,j,a[N],k = 0,flag = 0;    //不妨再试试把这里的a[N]改为a[N]={0},其余不变,你会理解的,加油! 
        for(i = 200;i <= 300;i++) 
        { 
                for(j = 2;j < i / 2;j++) 
                { 
                        if(i % j == 0) 
                        { 
                                flag = 1; 
                                break; 
                        } 
                        else 
                        { 
                                flag = 0; 
                                 
                        } 
                } 
                if(!flag) 
                { 
                        a[k] = i; 
                        k++; 
                } 
        } 
        for(i = 0;i<k;i++)    //这里进行了修改! 
        { 
                printf("%d\n",a[i]); 
        } 
         
        return 0; 
} 
 
 
 |   
 
 
 
 |