第一小题:
#include <stdio.h>
#include <stdlib.h>
//第六题,第一小题,求反序数
int reverse(int);
int main()
{
int m,n;
scanf("%d", &m);
n=reverse(m);
printf("%d\n", n);
return 0;
}
int reverse(int x) //函数只管求值,不管输出。输出由main函数完成
{
int y=0;
while(x!=0)
{
y=x%10+y*10;
x=x/10;
}
return y;
}
第二小题:
#include <stdio.h>
#include <stdlib.h>
//第六题,第二小题,判断回文数
int reverse(int);
int isPalindrome(int);
int main()
{
int m;
scanf("%d", &m);
if(isPalindrome(m))
printf("%d是回文数,噢耶!\n", m);
else
printf("%d不是回文数。回文有什么好!\n", m);
return 0;
}
int reverse(int x) //函数只管求值,不管输出。输出由main函数完成
{
int y=0;
while(x!=0)
{
y=x%10+y*10;
x=x/10;
}
return y;
}
int isPalindrome(int n) //在这个函数中只管判断,不能出现printf语句!
{
int m;
int r;
m=reverse(n);
if(m==n)
r=1;
else
r=0;
return r;
}
第三题:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//第六题,第三小题,判断素数
//int reverse(int);
//int isPalindrome(int);
int isPrimer(int);
int main()
{
int num;
scanf("%d",&num);
if(isPrimer(num))
printf("%d是素数",num);
else
printf("%d不是素数",num);
return 0;
}
int isPrimer(int n) //在这个函数中只管判断,不能出现printf语句!
{
int i;
int r=1;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
r=0;
break;
}
}
return r;
}
第四题:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//第六题,第四小题
int reverse(int);
int isPalindrome(int);
int isPrimer(int);
int main()
{
int num,num_anti;
printf("1000以内的素数如下:\n");
for(num=1;num<=1000;num++)
{
if(isPrimer(num))
{
printf("%d ",num);
}
}
printf("\n");
printf("1000以内的回文数如下:\n");
for(num=1;num<=1000;num++)
{
if(isPalindrome(num))
{
printf("%d ",num);
}
}
printf("\n");
printf("1000以内的回文素数如下:\n");
for(num=1;num<=1000;num++)
{
if(isPrimer(num)&&isPalindrome(num))
{
printf("%d ",num);
}
}
printf("\n");
printf("10000以内的可逆素数如下:\n");
for(num=1;num<=10000;num++)
{
num_anti=reverse(num);
if(isPrimer(num)&&isPrimer(num_anti))
printf("%d ",num);
}
return 0;
}
int isPrimer(int n) //在这个函数中只管判断,不能出现printf语句!
{
int i;
int r=1;
if(n==1)
r=1;
else
{
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
r=0;
break;
}
}
}
return r;
}
int reverse(int x) //函数只管求值,不管输出。输出由main函数完成
{
int y=0;
while(x!=0)
{
y=x%10+y*10;
x=x/10;
}
return y;
}
int isPalindrome(int n) //在这个函数中只管判断,不能出现printf语句!
{
int m;
int r;
m=reverse(n);
if(m==n)
r=1;
else
r=0;
return r;
}