C语言程序统计100以内质数和合数:代码示例及解析
#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;
}
代码解析:
- 头文件包含:
#include <stdio.h>包含标准输入输出库,用于使用printf函数进行输出。 - 变量声明:
i和j用于循环控制。count记录质数的数量。prime[100]数组用于存储质数。composite[100]数组用于存储合数。p和c分别记录质数和合数的数量。
- 嵌套循环判断: 嵌套循环用于判断每个数字是否是质数或合数。
- 外层循环遍历 2 到 100 的所有数字。
- 内层循环从 2 到当前数字
i-1 遍历,判断i是否能被j整除。 - 如果
i能被j整除,则i是合数,将其存入composite数组,并计数。 - 如果
i不能被任何小于它的数字整除,则i是质数,将其存入prime数组,并计数。
- 输出结果: 使用
printf函数输出质数和合数的数量以及它们的值。
运行结果:
程序运行后,将输出 100 以内所有质数和合数的数量以及它们的值。
学习要点:
- 理解质数和合数的定义及判断方法。
- 掌握嵌套循环的使用方法。
- 熟悉数组的声明和使用。
- 学习使用
printf函数输出结果。
拓展:
- 可以尝试使用更优化的算法来判断质数。
- 可以扩展程序,统计其他范围内的质数和合数。
- 可以尝试将代码封装成函数,提高代码可复用性。
原文地址: https://www.cveoy.top/t/topic/mIoN 著作权归作者所有。请勿转载和采集!