二、编程题(20分)
reverse.h文件
#ifndef REVERSE_H
#define REVERSE_H
/*
*求整数m~n之间(m
*函数的返回值是反序数中素数的个数。
*2007-09-09 14:24
*/
int reverse(const int m, const int n, int x[]);
bool IsPrime(const int p);
int reverse(const int r);
#endif
reverse.cpp文件
#include "reverse.h"
#include
#include
#include
using namespace std;
bool IsPrime(const int p)
{
int k = (int)sqrt( (double)p);
for (int i=2; i<=k; i++)
{
if (p%i == 0) return false;
}
return true;
}
int reverse(const int r)
{
char chReverse[10];
memset(chReverse, '0', sizeof(chReverse));
int iTmp = r;
int index = 0;
while (iTmp != 0)
{
int digit = iTmp % 10;
sprintf( chReverse+index, "%d", digit);
index++;
iTmp = iTmp / 10;
}
chReverse[index] = '\0';
return atoi(chReverse);
}
int reverse(const int m, const int n, int x[])
{
int index = 0;
for (int i=m; i
if (IsPrime(i))
x[index++] = reverse(i);
}
return index;
}
main.cpp 文件
#include "reverse.h"
#include
using namespace std;
int main()
{
int iMin,iMax;
cout << "Input Min and Max :";
cin >> iMin >> iMax;
const int size = iMax - iMin;
int iResult[size];
int iCount = reverse(iMin, iMax, iResult);
for (int i=0; i
cout << iResult[i] <
cout << "Total Prime Count :" << iCount << endl;
}
估计你是2级C语言考试题,你最好把题目(就是题目中给的程序)也写出来,不然,例如改错,就没有办法跟你做了
兄弟阿,没题目怎么做呢?