题目一
编程求Sn =a+aa+aaa+...+aa的值,其中a是一个数字。
#include <stdio.h>
#include <math.h>
int main(){
int a,n;
printf("输入a的值\n");
scanf("%d",&a);
printf("输入n的值\n");
scanf("%d",&n);
printf("\n");
int b,d,s=0,y;
d=a;
for(y=1;y<n+1;y++){
b=pow(10,y);
s=d+s;
d=d+b*a;
}
printf("Sn的值为%d",s);
}
题目二
输入一个五位数,判断是否为回文数。(回文数即个位与万位相同,十位与千位相同,如23432)
#include <stdio.h>
int main(){
int a,b,c,d,e;
printf("输入一个五位数\n");
scanf("%d",&a);
b=a/10000;
c=a%10;
if(b==c){
printf("这是一个回文数\n");
}
d=a%100/10;
e=a%10000/1000;
if(d==e){
printf("这是一个回文数\n");
}else{
printf("这不是一个回文数\n");
}
}
题目三
打印出所有“水仙花数”(即一个三位数,其各位数字立方和等于该数)。如153=1的三次方+5的三次方+3的三次方。
#include <stdio.h>
int main(){
int a,b,c,d,e;
for(a=100;a<=999;a++){
b=a/100; //个
c=a%100/10; //十
d=a%10; //百
e=b*b*b+c*c*c+d*d*d;
if(a==e){
printf("%d是一个水仙花数\n",a);
}
}
}
题目四
输入某年某月某日,判断这是这一年的第几天。
#include <stdio.h>
int main(){
int year,moom,day,d,e;
printf("输入年份\n");
scanf("%d",&year);
printf("输入月份\n");
scanf("%d",&moom);
printf("日期\n");
scanf("%d",&day);
int r=28;
if(year%4==0&&year%100!=0||year%400==0){
r=29;
}
switch(moom){
case 1:d=31;break;
case 2:d=31+r;break;
case 3:d=31+r+31;break;
case 4:d=31+r+31+30;break;
case 5:d=31+r+31+30+31;break;
case 6:d=31+r+31+30+31+30;break;
case 7:d=31+r+31+30+31+30+31;break;
case 8:d=31+r+31+30+31+30+31+31;break;
case 9:d=31+r+31+30+31+30+31+31+30;break;
case 10:d=31+r+31+30+31+30+31+31+30+31;break;
case 11:d=31+r+31+30+31+30+31+31+30+31+30;break;
case 12:d=31+r+31+30+31+30+31+31+30+31+30+31;break;
}
e=d+day;
printf("这是一年中的第%d天\n",e);
}
题目五
从键盘输入一个3位数,编程计算并输出它的逆序数。(例如123的逆序数是321)
#include <stdio.h>
int main(){
int a,b,c,d;
printf("输入一个正三位数\n");
scanf("%d",&a);
b=a/100; //百
c=a%100/10; //十
d=a%10; //个
printf("%d%d%d",d,c,b);
}