m0_74852996 2022-11-11 18:58 采纳率: 73.3%
浏览 61
已结题

统计素数并求和C语言

问题遇到的现象和发生背景

统计素数并求和
本题要求统计给定整数M和N区间内素数的个数并对它们求和。

输入格式:
输入在一行中给出两个正整数M和N(1≤M≤N≤500)。

输出格式:
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。

用代码块功能插入代码,请勿粘贴截图

#include<stdio.h>
#include<math.h>
#include "自定义函数.h"

int panduansushu(int x);
int main() {
int m, n,sum=0,count=0;
scanf_s("%d %d", &m, &n);
for (; m <= n; m++) {
if (panduansushu(m) == 0)
{
sum += m;
count++;
}
}

}

int panduansushu(int x)
{
int i = 0;
int panduan = 0;
for (; i <= x/2; i++)
{
if (x % i == 0)
panduan = 1;
}
return x;
}

运行结果及报错内容

img

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-11-11 22:12
    关注

    题主代码修改如下,供对照参考:

    #include<stdio.h>
    #include<math.h>
    //#include "自定义函数.h"
    int panduansushu(int x);
    int main() {
        int m, n,sum=0,count=0;
        scanf("%d %d", &m, &n);
        for (; m <= n; m++) {
            if (panduansushu(m) == 0)
            {
                sum += m;
                count++;
            }
        }
        printf("count=%d,sum=%d",count,sum);  //修改
        return 0;
    }
    int panduansushu(int x)
    {
        int i;   //i = 0; 修改
        int panduan = 0;
        if (x <= 1) return  1; //修改
        for (i = 2; i <= x/2; i++) //(; i <= x/2; i++) 修改
        {
            if (x % i == 0)
                panduan = 1;
        }
        return panduan; //return x; 修改
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题