经典c语言编程算法题(二)(6-10)

题目一

编程求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); 
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值