m0_68605299 2022-06-13 19:01 采纳率: 66.7%
浏览 70
已结题

求正确完整代码有正确解答最好!

下列程序完成按每行5个的格式输出所有3位数中的质数,函数judge用来判断一个整数是否为质数。
下列程序中存在一些错误,请指出具体出错行的行号并说明出错原因(每行代码后我给出的注释内容为行号),并且在不改动程序的框架、变量定义的基础上给出正确的程序代码,或者说明将出错行做怎样的修改。
#include <stdio.h> //1
#include <math.h> //2
int judge(int n) //3
{ //4
int i, k; //5
k = (int)sqrt(n); //6
for (i = 1; i <= k; i++) //7
if (!n % i ) //8
return 0; //9
else return 1; //10
} //11
int main() //12
{ //13
int count ,i; //14
for (i=101;i<1000;i=i+2) //15
if (judge(i)) //16
{ //17
printf("%5d", i); //18
count++; //19
} //20
if (count % 5 == 0) //21
printf("\n"); //22
return 0; //23
} //24

  • 写回答

3条回答 默认 最新

  • 天际的海浪 2022-06-13 19:20
    关注

    第7行出错 应该是 i = 2; 是质数是从2开始判断是否能整除
    第8行出错 n % i要加()先计算 if (!(n % i)) 否则!的优先级比%高 !n会先计算
    第10行出错 应该去掉else, return 1应该放循环外
    第14行出错 count要初始为0 count=0
    第21和22行出错 if (count % 5 == 0) printf("\n"); 要放在上一个if中

    你题目的解答代码如下:

    #include <stdio.h>           //1
    #include <math.h>            //2
    int judge(int n)             //3
    {                            //4
        int i, k;                //5
        k = (int)sqrt(n);        //6
        for (i = 2; i <= k; i++) //7 应该是 i = 2;
            if (!(n % i))          //8  n % i要加()先计算
                return 0;        //9
       return 1; //10   去掉else, return 1应该放循环外
    } //11
    int main()                             //12
    {                                      //13
        int count=0, i;                      //14 count要初始为0 count=0
        for (i = 101; i < 1000; i = i + 2) //15
            if (judge(i))                  //16
            {                              //17
                printf("%5d", i);          //18
                count++;                   //19
                if (count % 5 == 0)                //21  放上一个if中
                    printf("\n");                  //22
            }                              //20
        return 0;                          //23
    } //24
    

    img

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月13日
  • 已采纳回答 6月13日
  • 创建了问题 6月13日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么