C基础习题

1.判断回文数

代码如下:

#include<stdio.h>

int main(int argc, const char *argv[])
{
	//判断回文数1231
	int a;
	printf("输入一个五位数");
	scanf("%d",&a);
	int gewei = a%10;
	int shiwei = a/10%10;
	int baiwei = a/100%10;
	int temp = gewei*10000+shiwei*1000+baiwei*100+shiwei*10+gewei;
	if(a==temp)
	{
		printf("%d是回文数",a);
	}else{
		printf("%d不是回文数",a);
	}
	return 0;
}

结果如下:

输入一个五位数46625
46625不是回文数

2.输入一个不大于五位的整数,输出整数位数,并逆输出 

#include<stdio.h>


int main(int argc, const char *argv[])
{
	//输入一个不大于五位的整数,输出整数位数,并逆序输出
	int a;
	printf("输入一个不大于五位的正整数");
	scanf("%d",&a);
	if(a>99999||a<=0)
	{
		printf("请重新输入");
	}else
	{
		int gewei = a%10;
		int shiwei = a/10%10;
		int baiwei = a/100%10;
		int qianwei = a/1000%10;
		int wanwei= a/10000;
		if(a>10000&&a<99999){
			a = gewei*10000+shiwei*1000+baiwei*100+qianwei*10+wanwei;
			printf("逆序输出是%d",a);
		}else if(a>1000&&a<9999){
			a = gewei*1000+shiwei*100+baiwei*10+qianwei;
			printf("逆序输出是%d",a);
		}if(a>100&&a<999){
			a = gewei*100+shiwei*10+baiwei;
			printf("逆序输出是%d",a);
		}if(a>10&&a<99){
			a = gewei*10+shiwei;
			printf("逆序输出是%d",a);
		}else
			printf("逆序输出是%d",a);
		printf("\n");

	}
	return 0;
}

结果如下:

输入一个不大于五位的正整数4564
逆序输出是4654逆序输出是4654

 3.输出该日期在这一年的多少天
#include<stdio.h>


int main(int argc, const char *argv[])
{
	int a,b,c,sum;
	printf("输入年份");
	scanf("%d",&a);
	printf("输入月份");
	scanf("%d",&b);
	printf("输入日期");
	scanf("%d",&c);

	if(b>12||b<1||c>31||c<1)
	{
		printf("日期错误");
	}else if((b==2||b==4||b==6||b==9||b==11)&&c>30)
	{
		printf("日期错误");
	}else{
		if((a%4==0&&a%100!=0)||a%400==0)//是闰年,2月加一
		{
			int feb = 29;
			if(b==1)
			{
				sum = c;
				printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
			}else if(b==2)
			{
				if(b!=30){
					sum = c+31;
					printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);}
			}else if(b==3)
			{
				sum = c+31+feb;
				printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
			}else if(b==4)
			{
				sum =c+31+feb+31;
				printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
			}else if(b==5)
			{
				sum = c+31+feb+31+30;
				printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
			}else if(b==6)
			{
				sum = c+feb+31+31+30+31;
				printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
			}else if(b==7)
			{
				sum = c+feb+31*3+30*2;
				printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
			}else if(b==8)
			{
				sum = c+feb+32*4+30*2;;
				printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
			}else if(b==9)
			{
				sum = c+feb +31*5+30*2;;
				printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
			}else if(b==10)
			{
				sum = c+feb+31*5+30*3;
				printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
			}else if(b==11)
			{
				sum = c+feb+31*6+30*3;
				printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
			}else if(b==12)
			{
				sum = c+feb+31*6+30*4;
				printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
			}

		}else//平年
		{
				int feb = 28;
				if(b==1)
				{

					sum = c;
					printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
				}else if(b==2)
				{
					if(b!=30){
						sum = c+31;
						printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);}
				}else if(b==3)
				{
					sum = c+31+feb;
					printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
				}else if(b==4)
				{
					sum =c+31+feb+31;
					printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
				}else if(b==5)
				{
					sum = c+31+feb+31+30;
					printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
				}else if(b==6)
				{
					sum = c+feb+31+31+30+31;
					printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
				}else if(b==7)
				{
					sum = c+feb+31*3+30*2;
					printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
				}else if(b==8)
				{
					sum = c+feb+31*4+30*2;;
					printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
				}else if(b==9)
				{
					sum = c+feb +31*5+30*2;;
					printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
				}else if(b==10)
				{
					sum = c+feb+31*5+30*3;
					printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
				}else if(b==11)
				{
					sum = c+feb+31*6+30*3;
					printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
				}else if(b==12)
				{
					sum = c+feb+31*6+30*4;
					printf("%d年%d月%d日是%d年的第%d天",a,b,c,a,sum);
				}


			
		}
	}
		printf("\n");
		return 0;
}

结果如下:

输入年份2022
输入月份11
输入日期1
2022年11月1日是2022年的第305天

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值