2022年3月青少年软件编程等级考试(C语言)一级试卷及C语言版答案

2022年3月青少年软件编程等级考试(C语言)一级试卷及C语言版答案

1.双精度浮点数的输入输出
输入一个双精度浮点数,保留8位小数,输出这个浮点数。

输入
只有一行,一个双精度浮点数。
输出
一行,保留8位小数的浮点数。
样例输入
3.1415926535798932
样例输出
3.14159265

参考范例

#include <stdio.h>
int main()
{
 double a;//单精度float是7位,双精度double是16位
 scanf("%lf",&a);//lf双精度浮点数
 printf("%.8lf",a); //输出8位双精度浮点数
 return 0;
}

2.足球联赛积分
在足球联赛里,一个球队赢下一场比赛得到3个积分,打平一场比赛得到1个积分,输掉比赛得到0分。
现已知一个球队在整个联赛里的比赛情况,求该球队最终的积分。

输入
三个整数x,y,z,以空格分开,分别表示这个球队赢下的比赛场数,打平的比赛场数,输掉的比赛场数。(0 ≤ x,y,z ≤ 40)
输出
一个整数,表示该球队最终的积分。
样例输入
19 6 4
样例输出
63
提示
63=193+61+4*0

参考范例

#include <stdio.h>
int main()
{
 int x,y,z,s=0;//赢、平、输的数量和积分
 scanf("%d%d%d",&x,&y,&z);//输入赢、平、输的场数
 s=x*3+y*1;//积分计算。0分可以忽略不计
 printf("%d",s);//输出积分
 return 0;
}

3.小写字母的判断
输入一个字符,判断是否是英文小写字母,即是否是a-z中的一个。

输入
一个字符。
输出
如果是英文小写字母,则输出yes,否者输出no。
样例输入
k
样例输出
Yes

参考范例

#include <stdio.h>
int main()
{
char ch;//定义字符类型变量ch
scanf("%c",&ch);//输入ch
if (ch>='a'  &&  ch <='z')
    printf("yes");
else
    printf("no");
}

4.足球联赛积分2
一场足球比赛中,两支参赛队A,B,如果A队的进球数大于B队,则A赢,A积3分B积0分,如果A队的进球数等于B队,则两队打平,各积1分,如果A队的进球数小于B队,则A输,A积0分B积3分。
现有一个球队一个赛季的比赛情况,请计算该球队的积分。

输入
第一行一个整数n(0 < n ≤ 40) 接下来n行,每行两个非负整数,表示一场该球队的进球数以及对手球队的进球数。
输出
一个整数,表示该球队的赛季积分。
样例输入
5
3 1
0 0
1 2
3 2
3 3
样例输出
8
提示
该球队5场比赛的结果分别为赢,平,输,赢,平,总计2赢2平1输,积分为8分。

参考范例

#include <stdio.h>
int main()
{
	int n,a,b,s=0;//场数、A队进球、B队进球、积分
	scanf("%d",&n);//输入场数
	for (int i=1; i<=n; i++)//按场次输入每场进球
 		{
			scanf("%d%d",&a,&b);//输入两队进球数
			if(a>b) {s=s+3;}						
			if(a==b) {s=s+1;}									
		}	
    printf("%d",s);//输出最后积分
    return 0;
}

5.与7无关的数
一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和。

输入
输入为一行,正整数n(n < 100)
输出
输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。
样例输入
21
样例输出
2336

参考范例

#include <stdio.h>
#include <math.h>
int main()
{
	int n,i,s=0;//n为目标数,i用于遍历循环,s为平方和
	scanf("%d",&n);//输入n
	for (i=1; i<=n; i++)//进行遍历循环
 		{
			if(i%7!=0 && i/10!=7 && i%10!=7) //排除三种情况
			                                 //1.i=7或7的倍数
			                                 //2.i=70
			                                 //3.i除以10后余7
			s+=pow(i,2);//不是上述三种情况即与7无关,求平方和			
		}
	printf("%d\n",s);//输出最后积分
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖之远izxg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值