上学期pta期中测试题目

1、

switch语句

用switch语句编程,根据输入的百分制成绩score(整数),转换成相应的五分制成绩grade后输出。

当 90≤ score≤100时, grade=A ;

当80≤ score<90时,grade=B;

当70≤ score<80时, grade=C;

当60≤ score<70时,grade=D;

当0≤ score<60时,grade=E。

如果输入成绩 score<0或 score>100,则输出“Input error!”。

输入格式:
输入一个百分制成绩(整数)。
输出格式:
输出对应等级。输入成绩不合理时,输出提示信息“Input error!”。
输入样例:

85

输出样例:

B

输入样例:

120

输出样例:

Input error!

源代码:

# include<stdio.h>
int main()
{	int score,grade;
	scanf("%d",&score);
	switch(score/10)
	{
		case 10:
		case 9:printf("A\n");break;
		case 8:printf("B\n");break;
		case 7:printf("C\n");break;
		case 6:printf("D\n");break;
		case 5:printf("E\n");break;
		default:printf("Input error!");
		return 0;
	}
	
 } 

2、

【–三个数的中位数B–】

输入三个整数,请编程输出这三个数的中位数。
输入格式:
输入三个整数,一空格分隔,数据都在int表示范围。
输出格式:
输出这三个数的中位数,输出数据后需要输出回车换行。
输入样例:

1 2 3

输出样例:

2

源代码:

# include<stdio.h>
int main()
{	int a,b,c,t;
	scanf("%d %d %d",&a,&b,&c);
	if(a>b)
	{	t=a;
		a=b;
		b=t;
	}
	if(a>c)
	{
		t=a;
		a=c;
		c=t;
	}
	if(b>c)
	{
		t=b;
		b=c;
		c=t;
	}
	printf("%d",b);
		return 0} 

3、**

判断一个三位数是否为水仙花数

**
本题要求编写程序,判断一个给定的三位数是否为水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。

输入格式:
输入在一行中给出一个需要判断的整数 N(100≤N≤999)。
输出格式:
如果N是水仙花数,则在一行中输出Yes,否则输出No。如果N不是三位数,则输出Invalid Value.。
输入样例1:

153

输出样例1

Yes

输入样例2

500

输出样例2

No

输入样例3

-2

输出样例3

Invalid Value.

源代码:

# include<stdio.h>
int main()
{	int N,a,b,c;
	scanf("%d",&N);
	if(N<100||N>999){
	printf("Invalid Value");
	} else{
	a=N/100;
	b=N%100/10;
	c=N%10;
	if(N==a*a*a+b*b*b+c*c*c){
	printf("Yes");
}
	else printf("No");
}
	return 0;
 } 

4、求分段函数
编写程序,根据从键盘输入的x的值,输出y的值。x和y都是双精度浮点数,输出精确到小数点后3位。x与y的函数关系如下图所示:
在这里插入图片描述
输入格式:
输入是一个双精度浮点数。
输出格式:
输出是一个双精度浮点数,要求精确到小数点后3位。
输入样例:

3.1

输出样例:

34.791

源代码:

# include<stdio.h>
int main()
{	double x,y;
	scanf("%lf",&x);
	if(x<0){
	y=x*x+9;	
}
	else
	y=x*x*x+5;
	printf("%.3lf",y);
	return 0;
 } 

5、分段计算居民水费
为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x−17.5。请编写程序实现水费的计算。
输入格式:
给出非负实数x。
输出格式:
在一行输出应交的水费,精确到小数点后2位。
输入样例1:

12

输出样例1

16.00

输入样例2

16

输出样例2

22.50

源代码:

# include<stdio.h>
int main()
{	double x,y;
	scanf("%lf",&x);
	if(x>15){
	y=2.5*x-17.5;	
}
	else y=4*x/3;
	printf("%.2lf",y);
 } 
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值