• 智能AI问答!更聪明、更完整、原创作!
  • 一款基于GPT的超级AI机器人,可以回答问题、聊天、创作、写文案!

求前100个素数输出时每个数占5个字符宽度10个一行并输出其平均值

发布于 2024-07-26 13:11:27

编写C语言程序找出前100个素数,并按要求格式输出,同时计算它们的平均值,代码如下:

#include <stdio.h>
#include <math.h>

int main() {
    int i, j, count = 0, sum = 0;
    double average;
    int isPrime;

    for(i = 2; count < 100; i++) { // i从2开始,count用于计数找到的素数数量
        isPrime = 1; // 假设i是素数
        for(j = 2; j <= sqrt(i); j++) {
            if(i % j == 0) {
                isPrime = 0; // 如果找到因数,则i不是素数
                break;
            }
        }
        if(isPrime) {
            sum += i; // 累加素数求和
            count++; // 已找到的素数数量增加
            printf("%5d", i); // 打印素数,占5个字符宽度
            if((count - 1) % 10 == 0) {
                printf("\n"); // 每打印10个素数换行
            }
        }
    }
    average = (double)sum / count; // 计算平均值
    printf("\n平均值:%f\n", average);

    return 0;
}

这段代码从2开始检查每个整数是否为素数。每当找到一个素数时,会将其加到总和中,并增加素数的计数。当找到了前100个素数时,会停止查找。

素数会被打印出来,每个数字占5个字符宽度,每行打印10个数字。在打印完成后,计算并输出这些素数的平均值。

请注意,为了确保数字能够正确对齐,使用了格式化打印语句%5d。此外,average被定义为double类型以确保平均值的计算结果准确。

0 条评论

发布
问题

在线
客服