pilipilipiu~ 2021-10-31 19:41 采纳率: 83.3%
浏览 45
已结题

新手上路)c语言循环结构问题,不知道哪里出错了

题目:编写程序exp3_4.c,先用一层循环判断从键盘读入的正整数x是否为质数,并输出判断结果。在此基础上改写,再加上外层循环,找出规定范围(a,b)内的所有质数,并按每行5个的格式输出。(这里a,b变量从键盘输入并且范围为:10≤a≤b≤1000)
我的答案:#include<stdio.h>
int main()
{
int a,b,x,i,c=0,k=0;
printf("请输入两个数a,b\n");
scanf("%d,%d",&a,&b);
if(a<10||b>1000||a>b)
printf("请输入正确范围内的a和b,[a,b]包含于[10,1000]\n");
else
for(x=a+1;x<=b;x++)//
{
for(i=2;i<x;i++)
{if(x%i==0)
c++;}
if(c>0)
break;
if(c==0)
{
k++;
printf("%5d",x);
if(k%5==0)
printf("\n");
}
}
printf("\n");
system("pause");
return 0;
}
不知道哪里出错了,求大佬们救救孩子⁂((✪⥎✪))⁂

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-10-31 20:03
    关注

    修改见注释处,供参考:

    #include<stdio.h>
    int main()
    {
        int a,b,x,i,c=0,k=0;
        printf("请输入两个数a,b\n");
        scanf("%d,%d",&a,&b);
        if(a<10||b>1000||a>b)
           printf("请输入正确范围内的a和b,[a,b]包含于[10,1000]\n");
        else
           for(x=a;x<=b;x++)// 修改
           {
               for(i=2,c=0;i<x;i++) //修改
               {
                  if(x%i==0)
                  {
                     c++;
                     break;
                  }
               }
               //if(c>0)  修改
               //   break;
               if(c==0)
               {
                  k++;
                  printf("%5d",x);
                  if(k%5==0)
                     printf("\n");
               }
           }
           printf("\n");
           system("pause");
           return 0;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月8日
  • 已采纳回答 10月31日
  • 创建了问题 10月31日

悬赏问题

  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作