C语言练习第2天---选择结构练习

这篇博客包含了多个编程挑战的解决方案,涉及闰年判断、超女选秀资格判断、学生分数评级以及找出两个数中的最大值。每个挑战都使用了不同的条件语句,如if、if-else和switch,展示了条件判断在编程中的应用。此外,还包含了一个字符判断的示例,以及根据三角形三边判断三角形类型的逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.输入任意年份的正整数n,判断该年份是否为闰年。

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

闰年的定义:1.能被400整除的年份为闰年。

                      2.能被4整除同时不能被100整除的年份为闰年。

2.输入年龄,身高,身材,颜值,判断超女是否选秀合格。

#include<stdio.h>
int main() 
{
	int age;
	int height;
	int sc;
	int yz;
	printf("请输入年龄、身高、身材(1-火辣;2-普通;3-飞机场):");
	scanf("%d%d%d",&age,&height,&sc);
	printf("请输入颜值:(1-漂亮;2-一般;3-歪瓜裂枣):");
	scanf("%d",&yz);
	if((age>=25)&&(age<=30))
	{
		if((height>=165)&&(height<=175))
		{
			if(sc==1)
			{
				if((yz==1)||(yz==2))
				{
					printf("合格\n");
				}
			}
		}
	 }
	 else
	 {
	 	 printf("不合格\n");
	  } 
	
return 0;
}

"=="是算数运算符,"="是赋值运算符,两者不同,前者的优先级高于后者。

3.输入学生分数进行评级。

//单个if语句
#include<stdio.h>
int main() 
{
	int i;
	printf("请输入分数:");
	scanf("%d",&i);
	if(i>=90) 
	{
		printf("A\n");
	}
		if(i<90&&i>=80) 
	{
		printf("B\n");
	}
		if(i>=70&&i<80) 
	{
		printf("C\n");
	}
		if(i>=60&&i<70) 
	{
		printf("D\n");
	}
		if(i<60) 
	{
		printf("E\n");
	}
	
return 0;
}
//if-else语句
#include<stdio.h>
int main() 
{
	int i;
	printf("请输入分数:");
	scanf("%d",&i);
	if(i>=90) 
	{
		printf("A\n");
	}
	else if(i<90&&i>=80) 
	{
		printf("B\n");
	}
		else if(i>=70&&i<80) 
	{
		printf("C\n");
	}
		else if(i>=60&&i<70) 
	{
		printf("D\n");
	}
		else
	{
		printf("E\n");
	}
	
return 0;
}

  if一般与自己最近的else配对,常出现悬挂else的状况,所以我们通常吧if语句写在“{}”中。

//switch语句 
#include<stdio.h>
int main(void) 
{
	int score;
	printf("请输入成绩:\n");
	scanf("%d",&score);
	score/=10;
		switch(score)
		{
			case 10:printf("A\n");break;
				case 9:printf("A\n");break;
					case 8:printf("B\n");break;
						case 7:printf("C\n");break;
							case 6:printf("D\n");break;
								default:printf("E\n");
			
		}
	 
return 0;
}

break语句作用:1.switch条件语句中,终止某个case并跳出switch结构。

                           2.循环语句中,结束本层循环。

4.输出两个数中的最大值

#include<stdio.h>
int main() 
{
int a,b;
printf("请输入两个整数:"); 
scanf("%d%d",&a,&b);
if(a>b)
{
printf("%d",a);
}
else
{
	printf("%d",b);
 } 
	
return 0;
}

5.判断字符。

#include<stdio.h>
int main() 
{
char ch;
printf("请输入一个字符:");
ch=getchar();//输入一个字符
if(ch<=31)
{
	printf("这是一个控制字符或通讯专用字符!\n");
 } 
 else if(ch>='0'&&ch<='9')
{
	printf("这是一个数字!\n");
 } 
 else if(ch>='A'&&ch<='Z')
{
	printf("这是一个大写字母!\n");
 } 
 else if(ch>='a'&&ch<='z')
{
	printf("这是一个小写字母!\n");
 } 
 else
 {
 	printf("这是其他字符!\n");
 }
	
return 0;
}

1.getchar、putchar专门用于字符输入输出;

2.getchar()函数的功能是接受一个从键盘输入的字符;

3.scanf()函数可以接受许多类型的输入,将接收到的字符串转为整数,浮点数等。输入时的格式要对应格式字符串中的格式进行输入,但是其不能接受回车(%d、%f读入数据类型,会自动跳过多余的空格和换行,%s遇到空格和换行会停止,%c就可以读入换行和空格);getchar()函数一次只能处理一个缓冲区中的字符,包括空格,会读取回车。其返回类型为int类型。
 4.ch=getchar(); 与scanf("%c",&ch); 效果相同  

    putchar(); 与printf("%c",ch); 效果相同     

6.输入三角形三边,判断三角形类型。

#include<stdio.h>
int main() 
{
	int a,b,c;
	printf("请输入三角形三边的长度:");
	scanf("%d%d%d",&a,&b,&c);
	if(a+b<=c||b+c<=a||a+c<=b)
	{
	printf("不能构成三角形\n");
}
	else if(a==b&&a==c)
	 {
	 printf("三角形是等边三角形\n");
}
else if(a==b||a==c||b==c)
	 {
	 printf("三角形是等腰三角形\n");
}
	else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(c*c+b*b==a*a))
	{
	  printf("三角形是直角三角形\n");
}
	 else if(a==b&&a==c)
	 {
	 printf("三角形是等边三角形\n");
}
	 else 
	 {
	 printf("三角形是普通三角形\n");
}
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万能的憨憨^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值