本文结合PTA专项练习带领读者掌握选择结构,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。
文章目录
-
- 7-1 选择-孔融让梨
- 7-2 选择-最大数
- 7-3 选择-奇偶判断
- 7-4 选择-ASCII值
- 7-5 选择-闰年
- 7-6 选择 -排序
- 7-7 选择-分段函数1
- 7-8 选择-分段函数2
- 7-9 选择-分段函数3
- 7-10 选择-圆塔
- 7-11 选择-买奶茶
- 7-12 选择-三角形判别
- 7-13 选择-三角形分类
- 7-14 选择-五分制转百分制
- 7-15 选择-大小写转换
- 7-16 选择-体积最大
- 7-17 选择-N以内所有正整数和
- 7-18 选择-计算器
- 7-19 选择-简易计算机
- 7-20 选择-简单的运算
- 7-21 选择-水仙花数
- 7-22 选择-三角形面积
- 7-23 选择-完全平方数
- 7-24 选择-矩形与点的位置
- 7-25 选择-数的判别
- 7-26 选择-数字字符的判别
- 7-27 选择-销售菜单
- 7-28 选择-电话费
- 7-29 选择-税收计算1
- 7-30 选择-自然数
- 7-28 选择-电话费
- 7-29 选择-税收计算1
- 7-30 选择-自然数
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