#include
int x;
printf(\请输入一个整 数\\n\
scanf(\
printf(\ }
int isprime(int n) {
int i=2;
while(i
if(n%i==0) return 0; i++; }
return 1; }
(3)写一个函数reverse( char s[]),将字符串s[]中的字符串倒序输出。试分别用递归和非递归两种形式编写。 递归型:
#include
void res(char s[],int len); void reverse(char b[]); void main() {
char a[100];
printf(\请输入一串字符:\\n\gets(a); reverse(a);
printf(\}
void res(char s[],int len) {
if(len>=0) {
printf(\ len--; res(s,len); } }
void reverse(char b[]) {
res(b,strlen(b)); }
非递归型:
#include
char s[100];
printf(\请输入一串字符\\n\ gets(s); reverse(s); printf(\}
void reverse(char s[]) {
int j,i=0; do {
i++;
}while(s[i]!='\\0'); for(j=i-1;j>=0;j--) printf(\}
(4)写一个主函数输入测试数据(自己指定),并调用上述函数,检查函数功能的正确性。 判断奇偶性:
#include
int parity(int n) { }
if(n%2==0)
printf(\int x;
printf(\scanf(\parity(x);
else
printf(\
return 0;
(5)一个数如果从左到右和从右到左读,数字是相同的,则称这个数字为回文数,比如898、1221、15651都是回文数。求:既是回文数又是质数的5位十进制数有多少个?要求:回文判断和质数判断都需要通过子函数实现,输出的时候要求5个数字一行。
#include
int i; int cnt=0;
for(i=10000;i<100000;i++) {
if(hw(i)) {
if(isprime(i)==1) {
cnt++;
printf(\ } } }
printf(\合计:%d个\\n\}
int isprime(int n) {
int i=2;
while(i
if(n%i==0) return 0; i++; }
return 1; }
int hw(int n) {
int m=0; int t=n;