PTA环境熟悉题目 题解
提供24级新生pta环境熟悉题目
7-1 求整数均值
考点:浮点数精度
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。
输入格式:
输入在一行中给出4个整数,其间以空格分隔。
输出格式:
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。
输入样例:
1 2 3 4
输出样例:
Sum = 10; Average = 2.5
AC代码:
#include <stdio.h>
int main ()
{
int a,b,c,d;
scanf("%d %d %d %d",&a,&b,&c,&d);
printf("Sum = %d; Average = %.1f",a+b+c+d,float(a+b+c+d)/4);
return 0;
}
7-2 求圆面积
考点:浮点数精度
输入圆的半径r,求其面积并输出。
输入格式:
输入一个大于零的实数,没有任何附加字符。
输出格式:
直接输出结果,结果是一个保留6位小数的实数,没有任何附加字符。
输入样例:
1
输出样例:
3.140000
ac代码:
#include <stdio.h>
int main ()
{
float r;
scanf("%f",&r);
printf("%.6f",3.14*r*r);
return 0;
}
7-3 输出个位数字
考点:取余
输入一个任意整数,将其个位输出。
输入格式:
直接输入一个整数,没有任何附加字符。
输出格式:
直接输出结果,没有任何附加字符。
输入样例:
24
输出样例:
4
ac代码:
#include <stdio.h>
int main ()
{
char s,s2;
while(s!='\n'){
s2=s;
s=getchar();
}
printf("%c",s2);
return 0;
}
正常思路:
#include <stdio.h>
int main ()
{
int a;
scanf("%d",&a);
printf("%d",a%10);
return 0;
}
7-4 三个整数之和
考点:输入输出
输入三个整数求和并输出。
输入格式:
在一行中输入3个整数,3个整数之间用一个空格间隔,没有其它任何附加字符。
输出格式:
在一行中按照“sum=结果”的顺序输出,其中结果为原样输出。
输入样例:
4 5 6
输出样例:
sum=15
ac代码:
#include <stdio.h>
int main ()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("sum=%d",a+b+c);
return 0;
}
7-5 3个整数平均值
考点:浮点数精度
输入三个整数,求其平均值。
输入格式:
在一行中输入3个整数,3个整数之间各用一个空格间隔,没有其它任何普通字符。
输出格式:
在一行中按照“aver=结果”的顺序输出,结果是保留6位小数原样输出,没有其它附加格式。
输入样例:
2 5 1
输出样例:
aver=2.666667
ac代码:
#include <stdio.h>
int main ()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("aver=%.6f",float(a+b+c)/3);
return 0;
}
7-6 简单最值
考点:条件判断
求3个整数中的最大者。
输入格式:
输入3个整数a,b,c。
输出格式:
输出内容为a,b,c中的最大者。
输入样例:
1 2 3
输出样例:
3
ac代码:
#include <stdio.h>
int main ()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("%d",(a > b ? (a > c ? a : c) : (b > c ? b : c)));
return 0;
}
7-7 计算圆球体积
考点:浮点数计算
设圆球的半径为r,计算并输出圆球体积v。输出结果保留2位小数。提示:计算圆球的体积公式为:
v
=
4
/
3
∗
π
∗
r
3
(
π
=
3.14
)
v=4/3*π*r^3 (π=3.14)
v=4/3∗π∗r3(π=3.14)
输入格式:
输入第一行给出一个正整数半径r(0< r ≤ 100)。
输出格式:
圆球的体积v保留两位小数。
输入样例:
5
输出样例:
v = 523.33
ac代码:
#include <stdio.h>
int main ()
{
float r;
scanf("%f",&r);
printf("v = %.2f",4.0/3.0*3.14*r*r*r);
return 0;
}
7-8 4位整数的数位和
考点:循环
输入一个4位数的整数,求其各数位上的数字之和。
输入格式:
输入在一行中给出1个4位的正整数n。
输出格式:
在一行中输出n的各数位上的数字之和。
输入样例:
1234
输出样例:
10
ac代码:
#include <stdio.h>
int main ()
{
char s;
int sum,i=0;
while(s!='\n'){
//TODO
if (i>0){
sum+=int(s)-int('0');
}
s=getchar();
i+=1;
}
printf("%d",sum);
return 0;
}
for循环实现
#include <stdio.h>
int main ()
{
int a,sum=0;
scanf("%d",&a);
for(int i=0;i<4;i++){
sum+=a%10;
a/=10;
}
printf("%d",sum);
return 0;
}
笨方法:
#include <stdio.h>
int main ()
{
int n,a,b,c,d=0;
scanf("%d",&n);
a=n%10;
b=n/10%10;
c=n/100%10;
d=n/1000;
printf("%d",a+b+c+d);
return 0;
}
7-9 整数算术运算
考点:输入输出
本题要求编写程序,计算并输出2个正整数的和、差、积、商与余数。题目保证输入和输出全部在整型范围内。
输入格式:
输入在一行中给出2个正整数A和B。
输出格式:
在5行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商与余数。
输入样例:
5 3
输出样例:
在这里给出相应的输出。例如:
5 + 3 = 8
5 - 3 = 2
5 * 3 = 15
5 / 3 = 1
5 % 3 = 2
ac代码:
#include <stdio.h>
int main ()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d + %d = %d\n",a,b,a+b);
printf("%d - %d = %d\n",a,b,a-b);
printf("%d * %d = %d\n",a,b,a*b);
printf("%d / %d = %d\n",a,b,a/b);
printf("%d %% %d = %d\n",a,b,a%b);
return 0;
}
7-10 将秒数转换成时分秒
考点:取余
编写程序实现:从键盘输入一个以秒为单位的时间值整数,将其转换成时、分、秒的形式输出。
(C语言微课视频——哔哩哔哩网站——账号:巨之说)
输入格式:
输入代表总秒数的整数。
输出格式:
输出时、分、秒的整数值,以英文冒号分隔,最后换行。
输入样例:
20000
输出样例:
5:33:20
ac代码:
#include <stdio.h>
int main ()
{
int a,h,m,t;
scanf("%d",&a);
h=a/3600;
m=a%3600/60;
t=a%60;
printf("%d:%d:%d\n",h,m,t);
return 0;
}