【C/PTA】选择结构专项练习(额外)

本文结合PTA专项练习带领读者掌握选择结构,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。

7-1 选择-孔融让梨

孔融小时候聪明好学,才思敏捷,巧言妙答,大家都夸他是奇童。4岁时,他已能背诵许多诗赋,并且懂得礼节,父母亲非常喜爱他。
一日,父亲买了一些梨子,特地拣了一个最大的梨子给孔融,孔融摇摇头,却另拣了一个最小的梨子说:“我年纪最小,应该吃小的梨,你那个梨就给哥哥吧。”父亲听后十分惊喜。

输入格式:

在一行中给出两个不超过32767的正整数a,b,分别表示孔融父亲拿出的两个梨的质量。

输出格式:

输出孔融选择的梨的质量。

输入样例:

3 4

输出样例:

3
#include <stdio.h>
int main()
{
   
	int a,b;
	scanf("%d%d",&a,&b);
	printf("%d",a<b?a:b);
}

7-2 选择-最大数

输入三个整数,输出其中最大的数。

输入格式:

输入三个整数,在 int 范围内。

输出格式:

输出其中最大的数。

输入样例:

23 78 32

输出样例:

78
#include <stdio.h>
int main()
{
   
	int a,b,c;
  scanf("%d%d%d",&a,&b,&c);
  printf("%d",a>(b>c?b:c)?a:(b>c?b:c));

}

7-3 选择-奇偶判断

给定一个整数,请你判断其奇偶性。如果是奇数输出YES,否则输出NO。

输入格式:

输入仅一行,包含一个整数a。

输出格式:

输出仅一行,为整数a的奇偶判断结果。

输入样例:

9

输出样例:

YES
#include <stdio.h>
int main()
{
   
	int a;
	scanf("%d",&a);
	if(a%2!=0)
	{
   
		printf("YES");
	}
	else
	printf("NO");
}

7-4 选择-ASCII值

从键盘输入一个字符,若输入的是数字字符则输出它的ASCII值,否则输出提示信息“input error”。

输入格式:

输入一个字符。

输出格式:

若输入的是数字字符则输出它的ASCII值,否则输出提示信息“input error”,输出不含引号。

输入样例1:

7

输出样例1:

55

输入样例2:

W
#include <stdio.h>
int main()
{
   
	char c;
	scanf("%c",&c);
	if(c>='0'&&c<='9')
	{
   
		printf("%d",c);
		
	}
	else
	printf("input error");
}

7-5 选择-闰年

判别用year表示的某一年是否闰年。

输入格式:

输入占一行,给出一个不大于32767的整数year。

输出格式:

输出占一行,如果该年是闰年,则输出YES,否则输出NO。

输入样例:

2021

输出样例:

NO
#include <stdio.h>
int main()
{
   
int year;
scanf("%d",&year);
if((year%4==0&&year%100!=0)||year%400==0)
{
   
	printf("YES");
}
else
printf("NO");
}

7-6 选择 -排序

对两个实数按代数值从大到小排序。

输入格式:

一行中给出2个两个实数a,b。

输出格式:

将两个实数按从大到小输出,保留三位小数,两个实数间以空格隔开。

输入样例:

9.9 10.0

输出样例:

10.000 9.900
#include <stdio.h>
int main()
{
   
double a,b;
scanf("%lf%lf",&a,&b);
printf("%.3f %.3f",a>b?a:b,a<b?a:b);
}

7-7 选择-分段函数1

有一函数:
在这里插入图片描述

输入格式:

每组输入数据占一行,包含一个整数x(-32768<=x<181)。

输出格式:

每组输出数据占一行,输出y的值。

输入样例:

5

输出样例:

15
#include <stdio.h>
int main()
{
   
int x;
scanf("%d",&x);
if(x>0)
printf("%d",x*x-10);
else if(x==0)
printf("0");
else 
printf("%d",x+10);
}

7-8 选择-分段函数2

输入一个实数 x,按如下公式计算并输出y的值

在这里插入图片描述

输入格式:

输入一个实数 x

输出格式:

输出计算结果,要求结果保留两位小数。

输入样例1:

0.5

输出样例1:

0.50

输入样例2:

3

输出样例2:

4.58
#include <stdio.h>
#include <math.h>
int main()
{
   
	double x;
	scanf("%lf",&x);
	if(x<1)
	printf("%.2f",abs(x));
	else if(x==1)
	printf("3.00");
	else
	printf("%.2f",sqrt(x*x*x-2*x));
}

7-9 选择-分段函数3

分数 100

作者 Fzu_C

单位 福州大学

设有函数

在这里插入图片描述

输入格式:

输入一个实数 x(-1000<x<1000)。

输出格式:

输出y的值,结果保留3个小数点。

输入样例:

11

输出样例:

3.091
#include <stdio.h>
#include <math.h>
int main()
{
   
	double x;
	scanf("%lf",&x);
	if(x<1)
	printf("%.3f",x);
	else if(x<10)
	printf("%.3f",sqrt(2*x-1));
	else 
	printf("%.3f",log(3*x
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

秋说

感谢打赏,祝你平安喜乐。

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

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

打赏作者

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

抵扣说明:

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

余额充值