PTA c#PTA第三章练习答案【程序设计基础】

本文涵盖了编程基础、数学转换、银行计算、体重标准等,通过实例演示了如何实现简单输入输出、温度转换、打怪计数、财务计算等实用技能。深入浅出地介绍了从基础编程到实际问题解决的全过程。

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

目录

7-1 简单输入输出 (10 分)

7-2 可爱的Tommy (10 分)

7-3 华氏温度转化为摄氏温度 (10 分)

7-4 打妖怪 (10 分)

7-5 计算银行存款的本息 (10 分)

7-6 三角形面积 (10 分)

7-7 计算火车运行时间 (20 分)

7-8 格式化输入输出 (10 分)

7-9 定期存款 (20 分)

7-10 计算标准体重 (20 分)

7-11 小胖入门系列 三 (20 分)

7-1 简单输入输出 (10 分)

编写程序,从键盘输入两个正整数a,b(小于1000),分别计算出它们的商(a/b)和余数(a%b)。输出时,商要求保留2位小数,并对第三位进行四舍五入。

输入格式:

在一行中先后给出a,b,以空格间隔。

输出格式:

在一行中按先后顺序且以空格间隔输出a/b和a%b,行末尾无多余空格和换行

输入样例:

844 21

输出样例:

40.19 4
int main(int argc, char** argv) {
int a,b;
scanf("%d %d",&a,&b);
double c=(double)a/b;
printf("%.2f %d",c,a%b);  
	return 0;
}

7-2 可爱的Tommy (10 分)

John带上小狗Tommy去见女友Mary,他们同时出发相向而行。Tommy跑得快,遇到Mary以后就往回跑,遇到John以后再往回跑,……,直到两人相遇。请问:Tommy一共跑了多少路程?

输入格式

开始时两人之间的距离(km)
John、Mary和Tommy的速度(km/h)

输出格式

Tommy所跑的路程(km)

要求:输出2位小数(末位四舍五入)。

输入样例

43.5
3.6 2.8 22.5

输出样例

152.93
#include <stdio.h>

int main() {
	double d,j,m,t;
	double e;
	scanf("%lf",&d);
	scanf("%lf %lf %lf",&j,&m,&t);
	e=d/(j+m)*t;
	printf("%.2f",e);
	return 0;
}

7-3 华氏温度转化为摄氏温度 (10 分)

将华氏温度转化为摄氏温度(下式中c表示摄氏温度,f表示华氏温度)。

  c=5/9 (f-32)

输入格式:

直接输入一个实数,没有其它任何附加字符。

输出格式:

在一行中按照“c=结果”的顺序输出,结果为保留2位小数的实数,没有其它任何附加格式控制。

输入样例:

34

输出样例:

c=1.11 
int main(int argc, char** argv) {
	int f;
	double c;
	scanf("%d",&f);
	c=(double)5/9*(f-32);
	printf("c=%.2f",c);
	return 0;
}

7-4 打妖怪 (10 分)

话说孙大圣保唐僧西天取经,路上遇到一妖怪。妖怪共有 v 滴血,大圣每打一棒就能使妖怪失去 h 滴血,妖怪一旦没血就会立即死去。大圣打了 n 棒将妖怪打死。

请编写程序,输入 v 和 h,输出 n。

输入格式

v 和 h

输出格式

n

注:题目保证 a、b 和 n 的值都在 int 类型的表示范围内。

输入样例

2510 1000

输出样例

3
int main(int argc, char** argv) {
	int v,h,n;
	scanf("%d %d",&v,&h);
	n=v/h;
	if (v%h!=0) n=n+1;
	printf("%d",n);
	return 0;
}

7-5 计算银行存款的本息 (10 分)

本题目要求计算银行存款的本息,计算公式为sum=money×(1+rate)year,其中sum为存款到期时的本息合计(税前),money是存款金额,year是存期,rate是年利率。

输入格式:

输入在一行中顺序给出两个正整数money、year和一个正实数rate,以空格分隔。

输出格式:

在一行中按“sum = 本息”的格式输出,其中本息保留两位小数,请注意等号的左右各有一个空格。

输入样例:

1000 3 0.025 

输出样例:

sum = 1076.89
#include <stdio.h>
#include <math.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
	int money,year;
	double rate,sum,i;
    scanf("%d %d %lf",&money,&year,&rate) ;
    i=pow(1.0+rate,year);
    sum=money*i;
    printf("sum = %.2f",sum);
    return 0;
}

7-6 三角形面积 (10 分)

请编写程序,输入三角形的底 b 和高 h,计算并输出三角形的面积 a。

输入格式

b 和 h

输出格式

a

输入样例

19.77 48.36

输出样例

478.04

要求:输出 2 位小数(末位四舍五入)。

#include <stdio.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
	float b,h,a;
	scanf("%f %f",&b,&h);
	a=0.5*b*h;
	printf("%.2f",a); 
    return 0;
}

7-7 计算火车运行时间 (20 分)

本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。

输入格式:

输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。

输出格式:

在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。

输入样例:

1201 1530

输出样例:

03:29
#include <stdio.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
	int a,b,c,d,e,f,g,h;
	scanf("%d %d",&a,&b);
	c=a%100;
	d=b%100;
	e=a/100;
	f=b/100;
	g=d-c;
	h=f-e;
	if (g<0){
		g=60+g;
		h=h-1;
	}
	printf("%02d:%02d",h,g);
	return 0;
}

7-8 格式化输入输出 (10 分)

本题要求格式化输入数据三个数据,第一个是整数,第二个是实数,第三个是一个字符。然后格式化输出这三个数据。

输入格式:

在一行输入三个数据,a是整数,b是实数,c是字符。格式为:
a=整数,b=实数:c=字符。

输出格式:

输出为a=整数,b=实数,c=字符 。其中整数的宽度为10,左对齐,并且数字的前面带正负号;实数的宽度为20,其中小数3位;字符不做特别要求。

输入样例:

a=3,b=5.5:c=A

输出样例:

a=+3        ,b=               5.500,c=A
#include <stdio.h>
int main() {
	int a;
	double b;
	char c;
	scanf("a=%d,b=%lf:c=%c",&a,&b,&c);
	printf("a=%-+10d,b=%20.3f,c=%c",a,b,c);
	return 0;
}

7-9 定期存款 (20 分)

客户到银行存1年期的定期存款。请编写程序,输入1年期定期存款利率和存款金额,帮客户计算到期本金、利息和合计金额。

输入格式

存款金额 利率

输出格式

本金
利息
合计

注:利率为百分数,低于10%;存款金额小于100万元。本金、利息和本息合计精确到分,输出格式按小数点对齐。

输入样例

201930.00 4.36

输出样例

本金:  201930.00元
利息:    8804.15元
合计:  210734.15元
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char** argv){
	double a,b,c,sum;
	scanf("%lf %lf",&a,&b);
	c=a*b*0.01;
	sum=c+a;
	printf("本金:%11.2lf元\n",a);
    printf("利息:%11.2lf元\n",c);
    printf("合计:%11.2lf元",sum);
	return 0;
}

7-10 计算标准体重 (20 分)

据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知公斤是市斤的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)

输入格式:

输入第一行给出一个正整数H(100 < H ≤ 300),为某人身高。

输出格式:

在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。

输入样例:

在这里给出一组输入。例如:

169

输出样例:

在这里给出相应的输出。例如:

124.2
#include <stdio.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
	int a;
	float b,c;
	scanf("%d",&a);
	b=(a-100)*0.9;
	c=b*2;
	printf("%.1f",c);
	return 0;
}

7-11 小胖入门系列 三 (20 分)

小胖刚刚进入acm的时候,表示有各种迷茫,在问了蔡哥各种问题以后,才勉强入门,最近有人问小胖,你写了一个程序,可执行文件在哪里呢?小胖对此类问题进行了很仔细的思考,如果在D盘的 C Code 文件夹下面的 test 文件夹里面写文件,也就是在 test文件夹里面创建一个 hello world.c 的源文件,经过VC6.0 的编译以后,VC6.0编译器会在 test文件夹下创建一个debug文件夹,里面会有1个 hello world.exe,这个就是根据 hello world.c这个源文件生成的可执行文件,只要输出这个路径就可以了,想到这里,小胖已经迷糊了,你能够帮小胖输出这个路径吗?

输入格式:

输出格式:

输出"D:\C Code\test\debug\hello world.exe"。

输入样例:

在这里给出一组输入。例如:


输出样例:

在这里给出相应的输出。例如:

D:\C Code\test\debug\hello world.exe

提示:小胖科普 (三):
在高级语言里面,""是作为转义字符存在的,如果想要输出"\n",你发现直接 printf("\n")得到的只是回车,但是如果你是 printf("\n") 的话,你会发现输出的是 \n,如果\作为转移字符存在的话,\后面的字符就会正常输出,而不是当做特殊的字符去处理掉了,例如 \n," 等。

#include <stdio.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
	printf("D:\\C Code\\test\\debug\\hello world.exe");
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值