微信扫码关注公众号获取更多资讯
想当年,题目虽多,但是很简单~,发现电脑里还存有19年9月一级真题,那就发出来吧
2019年09月软件编程(C语言)等级考试(一级)
分数:100 题数:8
时间限制:1000 ms 内存限制:65536 kB
一、编程题(第1部分)(共4题,每题12分,共48分)
1、输出第二个整数
【题目描述】
输入三个整数,把第二个输入的整数输出。
【输入】
只有一行,共三个整数,整数之间由一个空格分隔。整数是32位有符号整数。
【输出】
只有一行,一个整数,即输入的第二个整数。
【样例输入】
123 456 789
【样例输出】
456
2、浮点数向零舍入
【题目描述】
输入一个单精度浮点数,将其向零舍入到整数。
说明:向零舍入的含义是,正数向下舍入,负数向上舍入。
提示:可以使用强制类型转换来实现。
【输入】
一个单精度浮点数。
【输出】
一个整数,即向零舍入到整数的结果。
【样例输入】
2.3
【样例输出】
2
3、计算(a+b)*c的值
【题目描述】
给定3个整数a、b、c,计算表达式(a+b)*c的值。
【输入】
输入仅一行,包括三个整数a、b、c,数与数之间以一个空格分开。(-10000<a,b,c<10000)
【输出】
输出一行,即表达式的值。
【样例输入】
2 3 5
【样例输出】
25
4、苹果和虫子
【题目描述】
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每X小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
【输入】
输入仅一行,包括n,X和y(均为整数)。输入数据保证y<=n*X。
【输出】
输出也仅一行,剩下的苹果个数。
【样例输入】
10 4 9
【样例输出】
7
二、编程题(第2部分)(共4题,每题13分,共52分)
5、输出绝对值
【题目描述】
输入一个浮点数,输出这个浮点数的绝对值。
【输入】
输入一个浮点数,其绝对值不超过10000。
【输出】
输出这个浮点数的绝对值,保留到小数点后两位。
【样例输入】
-3.14
【样例输出】
3.14
6、计算邮资
【题目描述】
根据邮资的重量和用户是否选择加急计算邮费。
计算规则:
重量在1000克以内(包括1000克),基本费8元。
超过1000克的部分每500克加收超重费4元,不足500克部分按500克计算;
如果用户选择加急,多收5元 。
【输入】
输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。
如果字符是y,说明选择加急;
如果字符是n,说明不加急。
【输出】
输出一行,包含一个整数,表示邮费。
【样例输入】
1200 y
【样例输出】
17
7、求整数的和与均值
【题目描述】
求整数的和与均值。
【输入】
输入第一行是一个整数n,表示有n个整数。
第2~n+1行每行包含1个整数。 每个整数的绝对值均不超过10000。
【输出】
输出一行,先输出和,再输出平均值(保留到小数点后5位),两个数用单个空格分隔。
【样例输入】
4
344
222
343
222
【样例输出】
1131 282.75000
8、数1的个数
【题目描述】
给定一个十进制正整数n,写下从1到n的所有整数,然后数一下其中出现的数字1的个数。
例如:
当n=2时,写下1,2。这样只出现了1个1;
当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12。这样出现了5个1。
【输入】
正整数n。1<=n<=10000。
【输出】
一个正整数,即1的个数。
【样例输入】
12
【样例输出】
5
2019年09月软件编程(C语言)等级考试(一级)- 题解
1、输出第二个整数
【参考程序】
#include<bits/stdc++.h>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
cout << b;
return 0;
}
2、浮点数向零舍入
【参考程序】
#include<bits/stdc++.h>
using namespace std;
int main() {
float a;
cin >> a;
cout << (int)a;
return 0;
}
3、计算(a+b)*c的值
【参考程序】
#include<bits/stdc++.h>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
cout << (a + b)*c;
return 0;
}
4、苹果和虫子
【分析】
本题在 2021年03月C语言一级考题第3题 再次出现,但是没有限定y<=n*X,难度稍低。
【参考程序】
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,x,y,r;
cin>>n>>x>>y;
r=n-y/x-(y%x!=0);
cout<<(r<0?0:r);
return 0;
}
5、输出绝对值
【参考程序】
#include<bits/stdc++.h>
using namespace std;
int main() {
double a;
cin >> a;
printf("%.2f", fabs(a));
return 0;
}
6、计算邮资
【参考程序】
#include<bits/stdc++.h>
using namespace std;
int main() {
int weight, sum;
char ch;
cin >> m >> ch;
if(m > 1000)
sum = 8 + ceil((m - 1000) / 500.0) * 4;
else
sum = 8;
if(ch == 'y')
sum = sum + 5;
cout << sum << endl;
return 0;
}
7、求整数的和与均值
【参考程序】
#include<bits/stdc++.h>
using namespace std;
int main() {
int n, a, s = 0;
cin >> n;
for(int i = 0; i < n; i++) {
cin >> a;
s += a;
}
printf("%d %.5f", s, s * 1.0 / n);
return 0;
}
8、数1的个数
【参考程序】
#include<bits/stdc++.h>
using namespace std;
int main() {
int n, a, s = 0, t;
cin >> n;
for(int i = 1; i <= n; i++) {
t = i;
while(t != 0) {
a = t % 10;
if(a == 1) {
s++;
}
t /= 10;
}
}
cout << s;
return 0;
}