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日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改