#include <stdio.h>

int main(){
    int i,j,count=0;
    int prime[100],composite[100],p=0,c=0;
    //prime数组用来存放质数,composite数组用来存放合数
    for(i=2;i<=100;i++){
        for(j=2;j<i;j++){
            if(i%j==0){
                composite[c]=i;
                c++;
                break;
            }
        }
        if(j==i){
            prime[p]=i;
            p++;
            count++;
        }
    }
    printf('100内共有%d个质数,分别为:\n',count);
    for(i=0;i<p;i++){
        printf('%d ',prime[i]);
    }
    printf('\n');
    printf('100内共有%d个合数,分别为:\n',c);
    for(i=0;i<c;i++){
        printf('%d ',composite[i]);
    }
    printf('\n');
    return 0;
}

代码解析:

  1. 头文件包含: #include <stdio.h> 包含标准输入输出库,用于使用 printf 函数进行输出。
  2. 变量声明:
    • ij 用于循环控制。
    • count 记录质数的数量。
    • prime[100] 数组用于存储质数。
    • composite[100] 数组用于存储合数。
    • pc 分别记录质数和合数的数量。
  3. 嵌套循环判断: 嵌套循环用于判断每个数字是否是质数或合数。
    • 外层循环遍历 2 到 100 的所有数字。
    • 内层循环从 2 到当前数字 i-1 遍历,判断 i 是否能被 j 整除。
    • 如果 i 能被 j 整除,则 i 是合数,将其存入 composite 数组,并计数。
    • 如果 i 不能被任何小于它的数字整除,则 i 是质数,将其存入 prime 数组,并计数。
  4. 输出结果: 使用 printf 函数输出质数和合数的数量以及它们的值。

运行结果:

程序运行后,将输出 100 以内所有质数和合数的数量以及它们的值。

学习要点:

  • 理解质数和合数的定义及判断方法。
  • 掌握嵌套循环的使用方法。
  • 熟悉数组的声明和使用。
  • 学习使用 printf 函数输出结果。

拓展:

  • 可以尝试使用更优化的算法来判断质数。
  • 可以扩展程序,统计其他范围内的质数和合数。
  • 可以尝试将代码封装成函数,提高代码可复用性。
C语言程序统计100以内质数和合数:代码示例及解析

原文地址: https://www.cveoy.top/t/topic/mIoN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录