本试题仅供大家学习复习使用
回文数判断
#include<stdio.h>
int main()
{
int a,b,c;
while(scanf("%d",&a)!=EOF)//这样就可以一直一直输入了
{
c=0;
b=a;//将原始a的值保存到b中
while(a>0)
{
c=c*10+a%10;
a/=10;
}//通过反复的计算,使得输出余数的方式,输出每个位数,并使得位数倒置过来
if(b==c)
printf("%d是回文数\n",b);
else
printf("%d不是回文数\n",b);//得出判断结果
}
return 0;
}
回文数猜想
#include <stdio.h>
int hanshu(int n)
{
int a;
a=0;
while(n>0)
{
a=a*10+n%10;
n=n/10;
}
return a;
}//得出倒数
int main()
{
int n,m=0;
while(scanf("%d",&n)!=EOF)
{
while(n!=hanshu(n))
{
printf("%d-->",n);
n+=hanshu(n);
m+=1;//记录次数
}
printf("%d\n",n);//加上最后一个数字
printf("%d\n",m);//输出次数
}
return 0;
}
A+B
#include <stdio.h>
int main()
{
int a,b,n=0;
while(scanf("%d %d",&a,&b)!=EOF)
{
n++;
printf("CASE %d:\n",n);
printf("%d\n",a+b);
}
return 0;
}
#include<stdio.h>
int f(int n) {
int A,B;
if(1<=A&&B<=1000&&1<=n<=100000000)
if(n==1||n==2)
return 1;
else
return A*f(n-1)+B*f(n-2);//运算
}//f(n)公式计算
int main () {
int A,B,n,i;
while(printf("sample input:\n")&&scanf("%d%d%d",A,B,n)!=EOF) {
if(1<=A&&B<=1000&&1<=n<=100000000) { //限制条件
i=f(n);
printf("sample output:\n%d\n",i);//输出value
}
}
return 0;
}
上面这个有点问题,之后改了会修改
#include <stdio.h>
int f(int n);//递归函数
int main()
{
int n,i;
while( printf("sample input:\n")&&scanf("%d",&n)!=EOF)
{
i=f(n);
if(i%3==0)
printf("sample output:\n yes\n");
else
printf("sample output:\n no\n");//判断
}
return 0;
}
int f(int n)
{
if(n==1||n==2)
return 1;
else
return f(n-1)+f(n-2);//f(n)计算
}