欢迎光临散文网 会员登陆 & 注册

《全国青少年软件编程等级考试》2021年9月C语言一级真题(含答案)

2023-01-28 09:30 作者:无敌的夏洛克  | 我要投稿

概述

1. 交换输出

2. 计算乘积

3. 数字判断

4. 满足条件的数的累加

5. 比n小的最大质数

概述

考试时间:2021年03月21日

题目类型:编程题(共5题,共100分)

时间限制:1000

内存限制:65536


1. 交换输出

输入两个整数a、b,将他们交换输出。


输入

一行两个整数a、b,以空格分隔。 0 < a < 108, 0 < b < 1016

输出

一行两个整数b、a,以空格分隔。


样例输入

123 12345654321

样例输出

12345654321 123


程序代码


2. 计算乘积

一行两个整数a、b,以空格分隔。(0 < a,b < 108)


输入

一行两个整数a、b,以空格分隔。(0 < a,b < 108)

输出

输出一个整数,表示a、b的乘积。


样例输入

123456 123456

样例输出

15241383936


程序代码


#include <bits/stdc++.h>

using namespace std;


int main(){

long long a, b;

cin >> a >> b;

cout << a * b; 


return 0;

}


3. 数字判断

输入一个字符,如果输入的字符是数字,输出yes, 否则输出no


输入

一个字符

输出

如果输入的字符是数字,输出yes, 否则输出no


样例输入

样例1输入:

5

样例2输入:

A

样例输出

样例1输出:

yes

样例2输出:

no


程序实现


#include <bits/stdc++.h>

using namespace std;


int main(){

char ch;

cin >> ch;

if(ch>='0' && ch <='9'){

cout << "yes";

}else{

cout << "no"; 

}


return 0;

}


4. 满足条件的数的累加

现有n个整数,将其中个位数为k的数进行累加求和。


输入

第一行两个整数n、k,以空格分隔。( 0 < n < 1000, 0 ≤ k ≤ 9) 第二行n个非负整数,以空格分隔,每个数不大于100000。

输出

输出满足题目要求的累加和。


样例输入

10 7

2 5 7 17 11 18 4 27 1 7

样例输出

58


程序实现


#include <bits/stdc++.h>

using namespace std;


int main(){

int n, k, x, s=0;

cin >> n >> k;

for(int i=1; i<=n; i++){

cin >> x;

if(x%10 == k){

s = s + x;

}

}

cout << s;


return 0;

}


5. 比n小的最大质数

对于给定的n,求比n小的质数中最大的一个。

质数是指一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数。


输入

一个整数n。(2 < n < 10000)

输出

一个整数,即题目要求的解。


样例输入

100

样例输出

97


程序代码


#include <bits/stdc++.h>

using namespace std;


int main(){

int n, i, j, t;

bool prime;

cin >> n;

for(i=n; i>=2; i--){

prime = true;

for(j=2; j<=i-1; j++){

if(i % j == 0){

prime = false;

break;

}

}

if(prime == true){

cout << i;

break;

}

}


return 0;

}

《全国青少年软件编程等级考试》2021年9月C语言一级真题(含答案)的评论 (共 条)

分享到微博请遵守国家法律