main()
{
 int a,i,pd=1;
 scanf("d", &a);
 for(i=2;i<(int)sqrt(a)+1;i++){
   if((ai)==0){
      pd = 0;
      break;
     }
  }
 if(pd==1)
   printf("d is a sushu",a);
 else if(pd==0)
   printf("d is not a sushu", a);
}
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
     可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]

解决方案 »

  1.   

    修改: 
    scanf("%d", &a);
        if((a%i)==0){
         printf("%d is a sushu",a);
        printf("%d is not a sushu", a);
      

  2.   

    算法都是一样的,c语言的和java的没有区别的随便找本书看看就有........
      

  3.   

    main( )
    {
      int i,m,n;        /*n为自己定义的一正数*/
      int flag=0;
      m=n/2+1;      
      for(i=2;i<m;i++)
      {
        if(n%i==0)     /*对m内的数取余看是否为0*/ 
        {
          flag=1;      /*不是素数将标志置1*/
          break;       /*跳出循环*/
        }
      }  
      if(flag==1)
      {
        printf("n isn't 素数");
      }  
      printf("n is 素数");
      

  4.   

    楼上算法不如把m=n/2+1改为m=sqrt(n)+1可以减少循环。
    还有,难道可以不用循环吗?