TPA部分试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《算法与程序设计》PTA习题集

第4周

本题目要求计算下列分段函数f(x)的值:

输入格式:输入在一行中给出实数x。

输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。输入样例1:10

输出样例1:f(10.0) = 0.1

输入样例2:0

输出样例2:f(0.0) = 0.0

#include

int main()

{

float x,result;

scanf("%f",&x);

if (x==0)

{

result=0;

}

else

{

result=1.0/x;

}

printf("f(%.1f) = %.1f",x,result);

return 0;

}

编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。

输入格式:输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:34表示12点34分。当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分。

提示:在scanf的格式字符串中加入:,让scanf来处理这个冒号。

输出格式:在一行中输出这个时间对应的12小时制的时间,数字部分格式与输入的相同,然后跟上空格,再跟上表示上午的字符串AM或表示下午的字符串PM。如5:6 PM表示下午5点零6分。注意,在英文的习惯中,中午12点被认为是下午,所以24小时制的12:00就是12小时制的12:0 PM;而0点被认为是第二天的时间,所以是0:0 AM。

输入样例:21:11

输出样例:9:11 PM

#include

int main()

{

int a,b;

scanf("%d:%d",&a,&b); if(a>12)

{

printf("%d:%d",a-12,b);

}

if(a==12)

{

printf("%d:%d",a,b);

}

if(a<12)

{

printf("%d:%d AM",a,b);

}

else

{

printf(" PM",a,b);

}

return 0;

}

给定平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3),检验它们能否构成三角形。

输入格式:输入在一行中顺序给出六个[−100,100]范围内的数字,即三个点的坐标x1、y1、x2、y2、x3、y3。

输出格式:若这3个点不能构成三角形,则在一行中输出“Impossible”;若可以,则在一行中输出该三角形的周长和面积,格式为“L = 周长, A = 面积”,输出到小数点后2位。

输入样例1:4 5 6 9 7 8

输出样例1:L = 10.13, A = 3.00

输入样例2:4 6 8 12 12 18

输出样例2:Impossible

#include

int main()

{

int a,b,c;

scanf("%d %d %d",&a,&b,&c); if((a+b>c)&&(b+c>a)&&(a+c>b))

{

printf("YES");

}

else

{

printf("NO");

}

return 0;

}

输入一个年份,判断其是否为闰年,若是闰年输出“yes”的信息,否则输出“no”的信息。

输入格式:直接输入一个4位数年份,没有其它任何附加字符。

输出格式:直接输出“yes”或“no”,没有其它任何附加字符。

输入样例:1900 输出样例:no

输入样例:2000 输出样例:yes

输入样例:1904 输出样例:yes

#include

int main()

{

int a;

scanf("%d",&a);

if(a%4==0&&a%100!=0||a%400==0)

{

printf("yes\n");

}

else

{

printf("no\n");

}

return 0;

}

输入三个整数x,y,z,请把这三个数由小到大输出。

输入格式:在一行中直接输入3个整数,之间各用一个空格间隔。

输出格式:在一行中按照“x=最小值,y=次小值, z=最大值”的顺序输出结果,最大值、次大值和最小值均原样输出,没有宽度控制。

输入样例:2 1 3输出样例:x=1,y=2,z=3

#include

int main()

{

int x,y,z,temp;

scanf("%d %d %d",&x,&y,&z,&temp);

if(x>y)

{

temp=x,x=y,y=temp;

}

if(x>z)

{

temp=x,x=z,z=temp;

}

if(y>z)

{

temp=y,y=z,z=temp;

}

printf("x=%d,y=%d,z=%d",x,y,z);

相关文档
最新文档