C语言 选择结构相关例题

1.输入一个数,若是偶数,输出“是偶数”,否则输出“是奇数”。是奇数,如果是5的倍数,输出”是5的倍数”。

#include<stdio.h>
int main()
{
	int x;
	printf("输入:"); 
	scanf("%d",&x);
	if(x%2==0)
	{
		printf("输出:是偶数");
	}
	else
	{
		printf("输出:是奇数\n"); 
		if(x%5==0) printf("     是5的倍数"); 
	}
	return 0;
}

2.给出一百分制成绩,要求输出成绩等级‘A’,’B’,‘C’,’D’,’E’。90分以上为‘A’,80~89分为’B’,70~79分为 ‘C’,60~69分为’D ’,60分以下为‘E’。

#include<stdio.h>
int main()
{
	int x;
	printf("输入成绩:"); 
	scanf("%d",&x);
	switch(x/10)
	{
		case 10:
		case 9:printf("输出成绩等级:A");break;
		case 8:printf("输出成绩等级:B");break;
		case 7:printf("输出成绩等级:C");break;
		case 6:printf("输出成绩等级:D");break;
		default:printf("输出成绩等级:E");break;
	}
	return 0;
} 

3.已知x=100,y=15,要求输入一个算术运算符(+、-、* 或 / ),并对x和y进行指定的算术运算。switch语句实现。

#include<stdio.h>
int main()
{
	int x=100;
	int y=15;
	printf("输入一个算术运算符:");
	char ch;
	ch=getchar();
	switch(ch)
	{
		case '+':printf("x+y=%d",x+y);break;
		case '-':printf("x-y=%d",x-y);break;
		case '*':printf("x*y=%d",x*y);break;
		case '/':printf("x/y=%d",x/y);break;
		default:printf("输入错误"); 
	}
	return 0;
}

4.输入年份,判别该年是否为闰年。

#include<stdio.h>
int main()
{
	int year;
	printf("输入年份:");
	scanf("%d",&year);
	if((year%4==0&&year%100!=0)||(year%400==0))
	{
		printf("该年是闰年");
	}
	else printf("该年不是闰年");
	return 0;
}

5.给一个不多于5位的正整数,要求:

   1)求出它是几位数;

   2)分别输出每一位数字;

   3)按逆序输出各位数字,例如原数为321,应输出123。

#include<stdio.h>
int main()
{
	int x,i;
	printf("输入一个不多于5位的正整数:");
	scanf("%d",&x);
	while(x<0||x>99999)
	{
		printf("重新输入:");
		scanf("%d",&x); 
	}
	if(x>9999) i=5;
	else if(x>999) i=4;
	else if(x>99) i=3;
	else if(x>9) i=2;
	else if(x>0) i=1;
	printf("位数:%d\n",i);
	int a,b,c,d,e;
	a=x-(x/10)*10;
	b=(x-(x/100)*100)/10;
	c=(x-(x/1000)*1000)/100;
	d=(x-(x/10000)*10000)/1000;
	e=x/10000; 
	switch(i)
	{
		case 5:printf("万位是%d,千位是%d,百位%d,十位是%d,个位是%d\n",e,d,c,b,a);	
		       printf("逆序输出:%d%d%d%d%d",a,b,c,d,e);
			   break;
		case 4:printf("千位是%d,百位%d,十位是%d,个位是%d\n",d,c,b,a);	
		       printf("逆序输出:%d%d%d%d",a,b,c,d);
			   break;
		case 3:printf("百位%d,十位是%d,个位是%d\n",c,b,a);	
		       printf("逆序输出:%d%d%d",a,b,c);
			   break;
		case 2:printf("十位是%d,个位是%d\n",b,a);	
		       printf("逆序输出:%d%d",a,b);
			   break;
		case 1:printf("个位是%d\n",a);	
		       printf("逆序输出:%d",a);
			   break;
	}
	return 0;
}

5.写一段程序,输入x,输出y的值。

#include<stdio.h>
int main()
{
	int x,y;
	printf("输入x:"); 
	scanf("%d",&x);
	if(x<1) y=x;
	else if(x>=1&&x<10) y=2*x-1;
	else if(x>=10) y=3*x-11;
	printf("输出:%d",y);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值