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

这篇具有很好参考价值的文章主要介绍了【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

有一函数:
【C/PTA】选择结构专项练习(额外),C语言入门教程,c语言,算法,数据结构,pta

输入格式:

每组输入数据占一行,包含一个整数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的值

【C/PTA】选择结构专项练习(额外),C语言入门教程,c语言,算法,数据结构,pta

输入格式:

输入一个实数 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

单位 福州大学

设有函数

【C/PTA】选择结构专项练习(额外),C语言入门教程,c语言,算法,数据结构,pta

输入格式:

输入一个实数 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-11));
}

7-10 选择-圆塔

有4个圆塔(圆柱体)。圆心坐标分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1。这4个塔的高度为10m,塔以外无建筑物。令输入任一点的二维平面坐标,求该点的建筑高度(塔外的高度为0)。

输入格式:

输入一个点的平面坐标 (x, y),-3 <= x, y <= 3。

输出格式:

输出该点的建筑高度。

输入样例1:

2 -1.5

输出样例1:

10

输入样例2:

1 1

输出样例2:

0
#include <stdio.h>
#include <math.h>

int main() {
    double x, y;
    int a = 0;
    scanf("%lf %lf", &x, &y);
    if (pow(x - 2.0, 2) + pow(y - 2.0, 2) <= pow(1, 2)) 
    {
        a = 1;
    } 
    else if (pow(x + 2.0, 2) + pow(y - 2.0, 2) <= pow(1, 2)) 
    {
        a = 1;
    } 
    else if (pow(x + 2.0, 2) + pow(y + 2.0, 2) <= pow(1, 2)) 
    {
        a = 1;
    }
    else if (pow(x - 2.0, 2) + pow(y + 2.0, 2) <= pow(1, 2)) 
    {
        a = 1;
    }
    if (a == 1)
        printf("10");
    else
        printf("0");
}

7-11 选择-买奶茶

yz大佬特别爱喝奶茶,他每天上午都要买两杯奶茶,特别的,如果这天是周六,他会在下午再买两杯,如果这天是周天,他会在下午再买四杯。
已知今天是星期x的早晨(1 <= x <= 7),请问直到明天晚上,yz大佬会买多少杯奶茶呢?

输入格式:

一个正整数x (int范围内),代表今天是星期几。

输出格式:

yz大佬购买的奶茶数量。

输入样例:

1

输出样例:

4
#include <stdio.h>
int main()
{
	int x;
	scanf("%d",&x);
	switch(x)
	{
		case 1:
			printf("4");
			break;
		case 2:
			printf("4");
			break;
		case 3:
			printf("4");
			break;
		case 4:
			printf("4");
	        break;
	    case 5:
			printf("6");
		    break;		
		case 6:
			printf("10");
			break;
		case 7:
			printf("8");
	break;
	}
}

7-12 选择-三角形判别

已知三条边的长度为a,b,c,判断三条边是否能构成一个三角形。

输入格式:

每组输入数据占一行,包括不大于10000的3个整数a,b,c。

输出格式:

每组输出数据占一行,如果a,b,c能构成三角形,则输出Yes,否则输出No。

输入样例:

3 4 7

输出样例:

No
#include <stdio.h>
int main()
{
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	if(a+b>c&&a+c>b&&b+c>a)
	{
		printf("Yes");
	}
	else
	printf("No");
}

7-13 选择-三角形分类

输入三角形三边长,判断三角形的种类:等边三角形、等腰三角形或一般三角形。

输入格式:

输入三个整数,表示三角形三边长,范围在 1 到 100 之间。保证输入的三个整数能构成三角形。

输出格式:

按要求输出三角形的类别:

​ 1. 如果是等边三角形,输出 “bian”

​ 2. 如果不是等边三角形,但是等腰三角形,输出 “yao”

​ 3. 否则,输出 “triangle”

输入样例1:

2 2 2

输出样例1:

bian

输入样例2:

3 4 5

输出样例2:

triangle
#include <stdio.h>
int main()
{
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	if(a==b&&b==c)
	{
		printf("bian");
	}
	else if((a==b&&a!=c)||(a==c&&a!=b)||(b==c&&b!=a))
	{
		printf("yao");
	}
	else
	printf("triangle");
}

7-14 选择-五分制转百分制

学生百分制成绩grade分类:

  • 当成绩grade大于等于85分为‘A’等;
  • 当成绩grade大于等于70分且小于85分为‘B’等;
  • 当成绩grade大于等于60分且小于70分为‘C’等;
  • 当成绩grade小于60分为‘D’等。

输入格式:

每组输入数据占一行,包括一个成绩等级。

输出格式:

每组输出数据占一行,根据成绩等级输出百分制分数段,输出不包括引号。

  • 当成绩为‘A’,输出“85~100”
  • 当成绩为‘B’,输出“70~84”
  • 当成绩为‘C’,输出“60~69”
  • 当成绩为‘D’,输出“<60”
  • 其他情况,输出“Error”

输入样例:

A

输出样例:

85~100
#include <stdio.h>
int main()
{
	char a;
	scanf("%c",&a);
	switch(a)
	{
		case 'A':
			printf("85~100");
			break;
		case 'B':
			printf("70~84");
			break;		
		case 'C':
			printf("60~69");
			break;
		case 'D':
			printf("<60");
			break;
		default:
			printf("Error");
			break;
	}
}

7-15 选择-大小写转换

给定一个字母,如果它是小写,请将其转换成大写字母并输出;如果它是大写字母,请将其转换成小写字母并输出。

输入格式:

输入为一行,仅包含一个英文字母。

输出格式:

输出仅为一行,包含一个经过大小写转换的英文字母。

输入样例:

a

输出样例:

A
#include <stdio.h>
int main()
{
	char a;
	scanf("%c",&a);
  if(a>='a'&&a<='z')
    printf("%c",a-32);
  else
    printf("%c",a+32);
}

7-16 选择-体积最大

小明做了一件好事,妈妈准备奖励他,于是让他在三个礼物中挑选一个。小明当然想选最好的,可是他不知道到底哪个最好。他就想应该是越大的越好,于是他就挑选了三个礼物中体积最大的那个。请你编写一段程序帮小明从三个礼物中挑选出体积最大的一个。

输入格式:

输入仅一行包含三个整数a,b,c,用空格隔开。

输出格式:

输出仅一行,是a,b,c中的最大值。

输入样例:

18 98 100

输出样例:

100
#include <stdio.h>
int main()
{
	int x,y,z;
	scanf("%d%d%d",&x,&y,&z);
	printf("%d",x>(y>z?y:z)?x:(y>z?y:z));
	}

7-17 选择-N以内所有正整数和

给你一个整数,请你输出由1加到该数(包括该数)的和。

输入格式:2

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

输出格式:

输出为一个整数,表示1加到n的和值。

输入样例:

10

输出样例:

55
#include <stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	printf("%d",(1+n)*n/2);
	}

7-18 选择-计算器

根据输入的数据按要求进行计算并输出计算所得的数值(switch语句实现)。

输入格式:

输入有三个整数a,x,y。

输出格式:

请输入a值,输出x与y的运算结果

  • 当a==1,计算x+y;
  • 当a==2,计算x-y;
  • 当a==3,计算x*y;
  • 当a==4,计算x÷y;(保留1位小数)
  • 当a==5,计算x xor y;(xor:异或)
  • 当a非上面的数值时输出:“orzzgg”(不带引号的字符串)

输入样例:

5 6 10

输出样例:

12
#include <stdio.h>

int main() {
    int a, x, y;
    scanf("%d %d %d", &a, &x, &y);

    switch (a) {
        case 1:
            printf("%d", x + y);
            break;
        case 2:
            printf("%d", x - y);
            break;
        case 3:
            printf("%d", x * y);
            break;
        case 4:
            printf("%.1f", (float)x / y);
            break;
        case 5:
            printf("%d", x ^ y);
            break;
        default:
            printf("orzzgg");
            break;
    }
}

7-19 选择-简易计算机

分数 100

作者 Fzu_C

单位 福州大学

​ 计算机指令就是指挥机器工作的指示和命令,通常一条指令包括两个部分:操作码和操作数,操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址。在计算机中,操作要求和操作数地址都由二进制数码表示,分别称作操作码和地址码,整条指令以二进制编码的形式存放在存储器中。
现要求编程模拟一个简易计算机的计算功能。要求给出一条指令,输出相应的运行结果。为方便起见,给定的指令有一个操作码(用十进制数表示),和 3 个操作数(即通过寻址得到的操作数)。现规定这台简易计算机的操作码如下表所示:

操作符 操作码 操作数1 操作数2 操作数3 等价表达式
+ 0 a b c a+b
- 1 a b c a-b
* 2 a b c a*b
/ 3 a b c a/b
% 4 a b c a%b
?: 5 a b c a?b:c
> 6 a b c a>b
< 7 a b c a<b
!= 8 a b c a!=b
== 9 a b c a==b

例如指令“1 12 9 99”,其中“1”表示“-”。由于减法只需两个操作符,所以我们只需要使用前两个操作数12 和 9,即表达式为“12-9”。执行该指令的结果是“3”。

输入格式:

输入为标准输入,输入共一行,仅四个整数,即操作码X(0<=x<=9),操作数a,b,c(0<=|a|,|b|,|c|<= 1000)。

输出格式:

输出仅一行,为该指令的运行结果,对于逻辑运算符的结果,如果为真输出“1”,否则输出“0”。

输入样例1:

0 9 -1 9

输出样例1:

8

输入样例2:

8 2 2 9

输出样例2:

0
#include <stdio.h>
int main()
{
	int x,a,b,c;
	scanf("%d%d%d%d",&x,&a,&b,&c);
	switch(x)
	{
		case 0:
			printf("%d",a+b);
			break;
		case 1:
			printf("%d",a-b);
			break;
		case 2:
			printf("%d",a*b);
			break;
		case 3:
		    printf("%d",a/b);
			break;		
		case 4:
			printf("%d",a%b);
			break;
		case 5:
			printf("%d",a?b:c);
			break;
		case 6:
			printf("%d",a>b);
			break;		
		case 7:
			printf("%d",a<b);
			break;
		case 8:			
			printf("%d",a!=b);
			break;
		case 9:
			printf("%d",a==b);
			break;
	}
}

7-20 选择-简单的运算

洛洛现在遇到了个很简单的算术题,给定一个实数n,求它的向上取整以及向下取整,当然如果这个数是整数,那么两个运算的结果是一样的。洛洛很懒不想写代码,所以就来找你帮忙了。

输入格式:

输入一个实数n(n<1000000)。

输出格式:

输出对n的向上取整值、向下取整值和n值(保留5位小数)。

输入样例:

3.5

输出样例:

4 3 3.50000
#include <stdio.h>
#include <math.h>
int main()
{
	double x;
	scanf("%lf",&x);
	printf("%d %d %.5f",(int)ceil(x),(int)floor(x),x);
}

7-21 选择-水仙花数

春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,它是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+3^3。现在要求你判断一个数是不是水仙花数。

输入格式:

输入包含一个整数n(99<n<1000)。

输出格式:

如果n是水仙花数输出yes,否则输出no。

输入样例:

555

输出样例:

no
#include <stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int a=n/100;
	int b=n/10%10;
	int c=n%10;
	if(a*a*a+b*b*b+c*c*c==n)
	{
		printf("yes");
	}
	else
	printf("no");
}

7-22 选择-三角形面积

根据输入的三角形的三条边a、b、c,计算并输出面积和周长。

输入格式:

输入为3个正整数,分别代表三角形的3条边a、b、c。

输出格式:

若输入的边能构成一个三角形,则在一行内输出三角形的面积和周长,保留两位小数。否则,输出 no triangle。

输入样例:

5 5 3

输出样例:

7.15 13.00
#include <stdio.h>
#include <math.h>
int main()
{
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	if(a+b>c&&a+c>b&&b+c>a)
	{
		double p=(a+b+c)/2.0;
		double s=sqrt(p*(p-a)*(p-b)*(p-c));
		double t=a+b+c;
		printf("%.2f %.2f",s,t);
	}
	else
	printf("no triangle");
}

7-23 选择-完全平方数

输入一个正整数N,判断它是否为完全平方数。

输入格式:

一个正整数N(N<=1,000,000,000)

输出格式:

若是完全平方数输出“Yes”,否则输出“No”。

输入样例:

4

输出样例:

Yes
#include <stdio.h>
#include <math.h>
int main()
{
	int n;
	scanf("%d",&n);
    int a=(int)sqrt(n);
    if(a*a==n)
    {
		printf("Yes");
	}
	else
	printf("No");
}

7-24 选择-矩形与点的位置

给定一个矩形A的左上、右下顶点坐标,以及另一个点B的坐标,判断点B是否在矩形A内(恰好在某条边上也算在矩形内)。

输入格式:

输入三个坐标(xL,yL),(xR,yR),(x,y) 分别表示矩形的左上、右下顶点坐标、点B坐标。(坐标均为绝对值<=1000000的整数,保证矩形合法,即xL<xR, yL>yR)。

输出格式:

若点B在矩形A内,输出“Yes”,否则输出“No”(输出不带引号)。

输入样例1:

0 10 10 0 10 10

输出样例1:

Yes

输入样例2:

0 10 10 0 13 3

输出样例2:

No
#include <stdio.h>
#include <math.h>
int main()
{
	int zs1,zs2,yx1,yx2,b1,b2;
	scanf("%d%d%d%d%d%d",&zs1,&zs2,&yx1,&yx2,&b1,&b2);
	int max=abs(zs1)>abs(yx1)?abs(zs1):abs(yx1);
	int min=abs(zs2)>abs(yx2)?abs(zs2):abs(yx2);
	if(abs(b1)<=max&&abs(b2)<=min)
	{
		printf("Yes");
	}
	else 
	printf("No");
}

7-25 选择-数的判别

从键盘输入一个正整数n,先判断它是奇数还是偶数。当它是奇数的时候,进一步判断它是否能被3整除。

输入格式:

输入一个正整数n。

输出格式:

输出相应的判断结果。

  • n是偶数,输出“n is an even number”
  • n是奇数且能被3整除,输出“n is an odd number,it can be divided by 3”
  • n是奇数且不能被3整除,输出“n is an odd number,it can’t be divided by 3”

输出不包含引号。

输入样例:

17

输出样例:

17 is an odd number,it can't be divided by 3
#include <stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	if(n%2!=0)
	{
		if(n%3==0)
		printf("%d is an odd number,it can be divided by 3",n);
		else
		printf("%d is an odd number,it can't be divided by 3",n);
	}
	else
	printf("%d is an even number",n);
}

7-26 选择-数字字符的判别

判断输入字符是否为数字字符,是数字字符,则输出该字符;否则输出“input error”

输入格式:

输入一个字符。

输出格式:

输出相应信息。

输入样例:

a

输出样例:

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

7-27 选择-销售菜单

假设自动售货机出售四种商品:[1]薯片、[2]爆米花、[3]巧克力和[4]可乐,其单价分别为8元、4.5元、12.8元和3元。现从键盘输入商品编号,当输入为1~4时,输出对应商品的单价;当输入其他编号时,输出“Exit”。(用switch语句实现)

输入格式:

输入一个整数,表示商品编号。

输出格式:

输出所选商品的单价。如果商品编号不在[1,4]区间内,则输出“Exit”(输出不包含引号)

输入样例:

1

输出样例:

8

输入样例:

0

输出样例:

Exit
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
switch (n) {
	case 1:
		printf("8");
		break;
	case 2:
		printf("4.5");
		break;
	case 3:
		printf("12.8");
		break;
	case 4:
		printf("3");
		break;
	default:
		printf("Exit");
		break;
    }
}

7-28 选择-电话费

甲乙两家通讯公司,甲公司每月通话收费标准如下:

甲:

月租费 通话费
25元 0.1 元/分钟

乙:

0 < t (分)< 100 t(分) >= 100
20 元/月 0.3 元/分

输入格式:

输入每个月通话时长 t (0 < t < 10^10 ) ,t为整数。

输出格式:

输出选择哪家公司更实惠 ,甲公司更实惠输出 1 ,乙公司输出2 (两公司价格相等优先选择甲公司)。

输入样例1:

50

输出样例1:

2

输入样例2:

300

输出样例2:

1
#include <stdio.h>
int main()
{
	int t;
	scanf("%d",&t);
	double s1,s2;
	s1=25+0.1*t;
	if(t<100)
	s2=20;
	else
	s2=0.3*t;
	if(s1>s2)
	printf("2");
	else
	printf("1");
}

7-29 选择-税收计算1

若规定个人稿费纳税规则为:不超过800元不纳税;超过800不超过4000元的按超过800元部分的15%纳税;超过4000元的按全部稿酬的10%纳税。

输入格式:

输入某人获得的稿费 x(0 < x <10^9),x为整数。

输出格式:

输出应付的税费y (保留一位小数)。

输入样例1:

400

输出样例1:

0.0

输入样例2:

1000

输出样例2:

30.0
#include <stdio.h>
int main()
{
   int x;
   scanf("%d",&x);
   double y;
   if(x<=800)
     y=0;
   else if(x<=4000)
     y=(x-800)*0.15;
   else 
     y=x*0.1;
     printf("%.1f",y);
}

7-30 选择-自然数

判断给定的数a是否为自然数

输入格式:

输入一个浮点数a,a在int的范围内。

输出格式:

若为自然数则输出“Yes”,反之输出“No”。(输出不包括引号)

输入样例:

95.27

输出样例:文章来源地址https://www.toymoban.com/news/detail-720079.html

No
#include <stdio.h>
int main() {
    float a;
    scanf("%f", &a);
    if (a >= 0 && (int)a == a) {
        printf("Yes");
    } else {
        printf("No");
    }
}

7-28 选择-电话费

甲乙两家通讯公司,甲公司每月通话收费标准如下:

甲:

月租费 通话费
25元 0.1 元/分钟

乙:

0 < t (分)< 100 t(分) >= 100
20 元/月 0.3 元/分

输入格式:

输入每个月通话时长 t (0 < t < 10^10 ) ,t为整数。

输出格式:

输出选择哪家公司更实惠 ,甲公司更实惠输出 1 ,乙公司输出2 (两公司价格相等优先选择甲公司)。

输入样例1:

50

输出样例1:

2

输入样例2:

300

输出样例2:

1
#include <stdio.h>
int main()
{
	int t;
	scanf("%d",&t);
	double s1,s2;
	s1=25+0.1*t;
	if(t<100)
	s2=20;
	else
	s2=0.3*t;
	if(s1>s2)
	printf("2");
	else
	printf("1");
}

7-29 选择-税收计算1

若规定个人稿费纳税规则为:不超过800元不纳税;超过800不超过4000元的按超过800元部分的15%纳税;超过4000元的按全部稿酬的10%纳税。

输入格式:

输入某人获得的稿费 x(0 < x <10^9),x为整数。

输出格式:

输出应付的税费y (保留一位小数)。

输入样例1:

400

输出样例1:

0.0

输入样例2:

1000

输出样例2:

30.0
#include <stdio.h>
int main()
{
   int x;
   scanf("%d",&x);
   double y;
   if(x<=800)
      y=0;
   else if(x<=4000)
     y=(x-800)*0.15;
   else 
     y=x*0.1;
     printf("%.1f",y);
}

7-30 选择-自然数

判断给定的数a是否为自然数

输入格式:

输入一个浮点数a,a在int的范围内。

输出格式:

若为自然数则输出“Yes”,反之输出“No”。(输出不包括引号)

输入样例:

95.27

输出样例:

No
#include <stdio.h>
int main() {
    float a;
    scanf("%f", &a);
    if (a >= 0 && (int)a == a) {
        printf("Yes");
    } else {
        printf("No");
    }
}

到了这里,关于【C/PTA】选择结构专项练习(额外)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数据结构入门精讲 | 第九篇】考研408排序算法专项练习(一)

    前面几篇文章介绍的是排序算法,现在让我们开始排序算法的专项练习。 1.希尔排序是稳定的算法。(错) 解析:稳定性是指如果两个元素在排序前后的相对顺序保持不变,那么这个排序算法就是稳定的。对于具有相同的元素,排序后它们的相对位置应该保持不变。

    2024年02月03日
    浏览(50)
  • 【PTA-C语言】编程练习3 - 循环结构Ⅱ

    如果代码存在问题,麻烦大家指正 ~ ~ 有帮助麻烦点个赞 ~ ~ 给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。 输入格式: 输入在一行中给出不超过9的正整数a和n。 输出格式: 在一行中按照“s = 对应的和”的格式输出。 输入样例: 输出样例:

    2024年02月03日
    浏览(53)
  • C语言快速入门教程1快速入门 2指令 3条件选择

    C是一种编程语言,1972年由Dennis Ritchie在美国AT T的贝尔实验室开发。C语言变得很流行,因为它很简单,很容易使用。今天经常听到的一个观点是--\\\"C语言已经被C++、Python和Java等语言所取代,所以今天何必再去学习C语言\\\"。我很不赞同这种观点。这有几个原因。这些原因如下:

    2024年02月03日
    浏览(46)
  • 【GoLang入门教程】Go语言工程结构详述

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:人工智能 前言 当创建一个Go语言项目时,良好的工程结构是确保项目可维护性、可扩展性和清晰性的关键。 虽然Go本身没有强制性的项目结构要求,但是采用一致性

    2024年01月24日
    浏览(80)
  • 【C/PTA】结构体进阶练习

    本文结合PTA专项练习带领读者掌握结构体,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。 “一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,

    2024年02月05日
    浏览(36)
  • 数据结构第5章练习答案(PTA)

    2-1以下说法错误的是( A ) A.树形结构的特点是一个结点可以有多个直接前趋 B.线性结构中的一个结点至多只有一个直接后继 C.树形结构可以表达(组织)更复杂的数据 D.树(及一切树形结构)是一种\\\"分支层次\\\"结构 E.任何只含一个结点的集合是一棵树 2-2利用二叉链表存储树,则根

    2024年02月04日
    浏览(51)
  • 数据结构第6章练习答案(PTA)

    2-1具有5个顶点的有向完全图有多少条弧?( C ) A.10        B.16        C.20        D.25 2-2关于图的邻接矩阵,下列哪个结论是正确的?( B ) A.有向图的邻接矩阵总是不对称的 B.有向图的邻接矩阵可以是对称的,也可以是不对称的 C.无向图的邻接矩阵总是不对称的

    2024年02月05日
    浏览(45)
  • 数据结构第7~8章练习答案(PTA)

    2-1适用于折半查找的表的存储方式及元素排列要求为( D ) 。 A.链接方式存储,元素无序 B.链接方式存储,元素有序 C.顺序方式存储,元素无序 D.顺序方式存储,元素有序 2-2在顺序表(8,11,15,19,25,26,30,33,42,48,50)中,用二分(折半)法查找关键码值20,需做的关键码比较次数为

    2024年02月04日
    浏览(37)
  • 数据结构第1~2章练习答案(PTA)

    2-1下面代码段的时间复杂度是( B ) A.O(n)                B.O(n²)                C.O(n³)                D.O(2ⁿ) 2-2下列函数的时间复杂度是( B ) A.O(logn)           B.O()                C.O(n)                 D.O(nlogn)  2-3顺序表是线性表的( B ) A.链式

    2024年02月07日
    浏览(48)
  • 【PTA-C语言】编程练习4 - 数组Ⅰ

    如果代码存在问题,麻烦大家指正 ~ ~ 有帮助麻烦点个赞 ~ ~ 作者 翁恺 单位 浙江大学 班级里要搞智力竞赛啦!同学们都踊跃参加。进入最后决赛的是10个同学,随着一道道题目的出示,有时是1号选手得分,有时是5号选手得分,每次答对者得10分,最后结果如何呢? 输入格式:

    2024年02月03日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包