解题思路:题目的要求是:输入两个整数X和Y,输出X与Y之间的素数个数(已知X要小于Y);
注意事项:①注意有可能出现X大于Y的情况,需要设置一个变量t来交换X与Y的值;
②X等于1时,不符合素数的要求范围(大于2),需要自加一次;
参考代码:
#include <stdio.h> #include <math.h> int isprime(int n) //判断是否为素数 { int i,y; y=sqrt(n); for(i=2;i<=y;i++) { if(n%i==0) return 0; } return 1; } int main() { int i,X,t,Y,n=0; scanf("%d%d",&X,&Y); if(X>Y) //避免X>Y的情况,交换二者的赋值 { t=X; X=Y; Y=t; } else if(X==1) //避免X==1的情况不符合素数范围大于2的要求 X++; for(i=X;i<=Y;i++) { if(isprime(i)) //调用函数 { n++; //是素数则累积计数 } } printf("%d",n); //输出素数个数 return 0; }
0.0分
6 人评分
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1091 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:669 |
P1001 (C语言代码)浏览:836 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:1215 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1334 |
剪刀石头布 (C语言代码)浏览:1792 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:638 |
1157题解浏览:769 |
核桃的数量 (C语言代码)浏览:726 |
大家好,我是验题君浏览:604 |