编写程序实现以下功能。
输入整数n(2<=n<=200),输出n以内所有素数。并计算素数的个数count;
要求:
当素数多余10个时,每输出10个换行一次。
左对齐宽度为5(每行最后一个数字也要求宽度为5)
最后换行输出:整数n以内共有count个素数
输入不在范围时输出:输入有误!
输入格式:
请输入整数n(2<=n<=200):
100
输出格式:
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
整数100以内共有25个素数
输入样例:
在这里给出一组输入。例如:
100
输出样例:
请输入整数n(2<=n<=200):
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
整数100以内共有25个素数
代码长度限制
40 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
#include<math.h>
int isPrime(int);
int main() {
int n;
scanf("%d",&n);
int count =0;
int cl=0;
while(n<2){}
printf("请输入整数n(2<=n<=200):\n");
if(n<2||n>200){
printf("输入有误!");
return 0;
}
for(int i=2;i<=n;i++){
if(cl==10){printf("\n");cl=0;}
if(isPrime(i)){
printf("%-5d",i);
count++;
cl++;
}
}
printf("\n整数%d以内共有%d个素数",n,count);
}
int isPrime(int number) {
if(number<2)return 0;
for (int i = 2; i <= sqrt(number); i++) {
if (number % i == 0)return 0;
}
return 1;
}
测试点
0 100
1 200
2 25
3 30
4 201
5 2