
请用简单的C语言程序解决这道题目,有着清晰的思路,最好有运行结果图
参考:
#include <stdio.h>
void readInput(int *m, int *n); //(实现区间录入)
int getPrime(int m, int n); // (输出区间内的所有素数)
void printCount(int ct); //(输出区间素数个数)
int isPrime(int n); // (判断某数是否在素数)
void printPrime(int n); //(输出素数)
int main() // (主函数)
{
int m, n, ct;
readInput(&m, &n);
ct = getPrime(m, n);
printCount(ct);
return 0;
}
void readInput(int *m, int *n)
{
scanf("%d%d", m, n);
}
int getPrime(int m, int n)
{
int i, ct;
ct = 0;
for (i = m; i <= n; i++)
if (isPrime(i))
{
printPrime(i);
ct++;
}
return ct;
}
int isPrime(int n)
{
int i;
if (n<2)
return 0;
for(i=2;i<n;i++)
if(n%2==0)
return 0;
return 1;
}
void printPrime(int n)
{
printf("%d\n",n); //一个一行
}
void printCount(int ct)
{
printf("Total Count=%d\n",ct);
}