首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

大家看看这段程序为什么不能运行,该怎么解决

2012-03-27 
大家看看这段程序为什么不能运行#includestdio.h intmain(){inta1,b,c[1000],i1while(a 10000){for(

大家看看这段程序为什么不能运行
#include   "stdio.h "
int   main()
{
  int   a=1,b,c[1000],i=1;
  while(a <10000)
    {
      for(b=0;b <=a/2;b++)
          if(a/b=0)  
              a+=2;
          else
              c[i]=a;
           
    }
  c[0]=i;
  for(i=1;1 <=c[0];i++)
    printf( "gong   you   %d   ge   su   shu\n ",c[0]);
    printf( "they   are:\n%6d\n ",c[i]);            
    return   0;
}        
在dev-c++里可以通过编译,但是运行什么也不显示,请高手指点


[解决办法]
1 if(a/b = 0)应该为if(a/b == 0)
2 a/b 当b = 0 不能运行
3 for(i=1;1 <=c[0];i++)
printf( "gong you %d ge su shu\n ",c[0]);
printf( "they are:\n%6d\n ",c[i]);
改成:
for(i=1;1 <=c[0];i++)
{
printf( "gong you %d ge su shu\n ",c[0]);
printf( "they are:\n%6d\n ",c[i]);
}
[解决办法]
把if(a/b==0)改成if(a%b==0)试试(如果你的目的是求素数个数的话),并且应该在while循环中加入i++语句,否则不会得到正确答案
#include <stdio.h>
void main()
{
int a,i=0,b,c=0;
for(a=2;a <10000;a++) /* a应该从2开始因为1不是素数 */
{
for(b=2,c=0;b <=a/2;b++)
{
if(a%b==0)
{
c=1;continue;
}
}
if(c==0)
i++;
}
printf( "共有%d个素数 ",i);
}

热点排行