爱敲代码的噗 2021-12-29 14:16 采纳率: 89.7%
浏览 151
已结题

求500以内的最大素数,我的代码有问题,没有报错但出不来结果

500以内的最大素数。编程计算n(n<=500)以内的10个最大素数及其和,分别输出这最大的10个素数及其和。n的值要求从键盘输入。要求10个素数按从大到小的顺序输出。(总分占比50%)

程序运行示例1:
Input n(n<=500):10↙
7 5 3 2
sum=17
程序运行示例2:
Input n(n<=500):100↙
97 89 83 79 73 71 67 61 59 53
sum=732

输入提示信息:"Input n(n<=500):"
输入格式: "%d"
10个最大素数的输出格式:"%6d"
10个最大素数和的输出格式:"\nsum=%d\n"

我的代码:
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,x,count=0;
int a[500];
int sum=0;
printf("Input n(n<=500):");
scanf("%d\n",&n);
for(x=0;x<=n;x++)
{
for (i=2; i<=sqrt(x); i++)
{
if (x % i == 0 )
{
a[count]=x;
count++;
sum+=x;
}
}
for(;count>=count-10;count--)
{
printf("%d\t",a[count]);
}
printf("\n sum=%d\n",sum);
}
return 0;
}

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2021-12-29 15:26
    关注

    修改如下,供参考:

    #include<stdio.h>
    #include<math.h>
    int main()
    {
        int n, i, x, count = 0;
        int a[500], flg;       //修改
        int sum = 0;
        printf("Input n(n <= 500):");
        scanf("%d", &n);       //scanf("%d\n", &n);修改
        for (x = n, count = 0, sum = 0; count < 10 && x > 1; x--)  //for (x = 0; x <= n; x++)
        {
            for (i = 2, flg = 1; i <= sqrt(x); i++) //修改
            {
                if (x % i == 0)
                {
                    flg = 0;       //修改
                    break;
                    //a[count] = x;
                    //count++;
                    //sum += x;
                }
            }
            if(flg)               //修改
            {
                printf("%6d", x);//修改
                count++;
                sum += x;
            }
        }
        printf("\nsum = %d\n", sum);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月28日
  • 已采纳回答 4月20日
  • 创建了问题 12月29日

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来