![](https://csdnimg.cn/release/download_crawler_static/87314569/bg1.jpg)
青少年软件编程(C语言)等级考试试卷(二级
)2021年6月
分数:100.00 题数:5—、编程题 (共5题,共100分)
1. 数字放大给定一个整数序列以及放大倍数X,将序列中每个整数放大X倍后输出。
时间限制:1000内存限制:65536
输入包含三行:第一行为N,表示整数序列的长度(NW100);第二行为N个整数(不超过整 型范
围),整数之间以一个空格分开;第三行包含一个整数(不超过整型范围),为指定的 整数X。
输出N个整数,为原序列放大之后的序列,整数之间以一个空格分开。
样例输入3
1572
样例输出2 10 14
提示注意答案的数据范围 /*少年软件编程(C语言)等级考试试卷(二级)2021年6月-数字放大*/
#include<stdio.h>
int main(){
int n, bei_shu; 〃数列的长度n和倍数bei_shu
int arr[100]; 〃保存数列的数组
int i; scanf("%d; &n);〃输入数列的长度
〃输入数列数据 for(i=0; i<n; i ++){scanf("%d",&arr[i]);
} scanf(”%d”, &bei_shu); 〃输入倍数
printfC'Xn");
for(i=0; ivn; i ++){printf("%ld ",arr[i]*bei_shu);
}整数排序
给定10个整数的序列,要求对其重新排序。排序要求:
1. 奇数在前,偶数在后;奇数按从大到小排序;
2. 偶数按输入顺序逆序排序。
时间限制:1000内存限制:65536
输入输入一行,包含10个整数,彼此以一个空格分开,每个整数的范围是大于等于0,小于等 于
100o
输出按照要求排序后输出一行,包含排序后的10个整数,数与数之间以一个空格分开。 样例输
入
4 7 3 13 11 12 0 47 34 98样例输出
47 13 11 7 3 98 34 0 12 4
【解析】
本题的难度较大,需要分而治之。
首先需要找到所有奇数进行排序,由于要从大到小排序,在不改变原数组的情况下,需
要两个变量,一个为max记录已排序的最小奇数,每次循环找到的奇数大于等于max时, 就认