• 青少年软件编程C++二级真题(202106)


    一、统一文件名

    小 A 在命名文件的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将

    目录下的文件统一规范的格式,即文件名的第一个字符如果是字母要大写,其他字母小

    写。如将 Test、test 整理成 Test。

    输入:第一行一个数字 n,表示有 n 个文件名要统一,n 不超过 100。 接下来 n 行,每

    行一个单词,长度不超过 20,表示文件的名字。文件名由字母、数字和-组成。

    输出:n 行,每行一个单词,对应统一后的文件名。

    样例输入

    4

    Test

    data

    2-TEST

    problem-6

    样例输出

    Test

    Data

    2-test

    Problem-6

    1. #include
    2. #include
    3. using namespace std;
    4. int main() {
    5. char str[25];
    6. int n,len;
    7. cin>>n;
    8. for(int i=0; i
    9. { cin>>str;
    10. if(str[0]>='a'&&str[0]<='z')//以小写开头,转为大写
    11. str[0]-=32; //A 65 a 97 大小写差值为 32
    12. len=strlen(str);
    13. for(int j=1; j//除开头外均转为小写字母
    14. if(str[j]>='A'&&str[j]<='Z') {
    15. str[j]+=32; }
    16. }
    17. cout<
    18. }
    19. return 0;
    20. }

    二、求矩阵内部元素之和

    输入一个整数矩阵,计算位于矩阵内部的元素之和。所谓矩阵内部的元素,不在第

    一行和最后一行的元素以及第一列和最后一列的元素。

    输入

    第一行分别为矩阵的行数 m 和列数 n(

    m < 100,n < 100),两者之间以一个空格分开。

    接下来输入的 m 行数据中,每行包含 n 个整数(每个数大于等于 0,小于 1000),整数之

    间以一个空格分开。

    输出

    输出对应矩阵的内部元素和

    样例输入

    3 3

    3 4 1

    3 7 1

    2 0 1

    样例输出

    7

    1. #include
    2. using namespace std;
    3. int main(){
    4. int m,n,sum=0;
    5. cin>>m>>n;
    6. int a[m][n];
    7. for(int i=0;i
    8. for(int j=0;j
    9. cin>>a[i][j];
    10. }
    11. }
    12. for(int i=0;i
    13. for(int j=0;j
    14. if(i!=0&&i!=m-1&&j!=0&&j!=n-1)
    15. sum+=a[i][j];
    16. }
    17. }
    18. cout<
    19. return 0;
    20. }

    三、整数奇偶排序

    给定 10 个整数的序列,要求对其重新排序。排序要求:

    1.奇数在前,偶数在后;

    2.奇数按从大到小排序;

    3.偶数按输入顺序逆序排序。

    输入:输入一行,包含 10 个整数,彼此以一个空格分开,每个整数的范围是大于等于 0,

    小于等于 100。

    输出:按照要求排序后输出一行包含排序后的 10 个整数,数与数之间以一个空格分开。

    样例输入

    4 7 3 13 11 12 0 47 34 98

    样例输出

    47 13 11 7 3 98 34 0 12 4

    1. #include
    2. #include
    3. using namespace std;
    4. bool cmp(int a,int b)
    5. {
    6. return a>b;
    7. }
    8. int main(){
    9. int a[10],b[10],c[10];
    10. int j=0,k=0;
    11. for(int i=0;i<10;i++){
    12. cin>>a[i];
    13. }
    14. for(int i=0;i<10;i++){
    15. if(a[i]%2!=0){
    16. b[j++]=a[i];
    17. }else{
    18. c[k++]=a[i];
    19. }
    20. }
    21. sort(b,b+j,cmp);
    22. for(int i=0;i
    23. cout<" ";
    24. }
    25. for(int i=k-1;i>=0;i--){
    26. cout<" ";
    27. }
    28. }

    四、若将一个正整数化为二进制数,在此二进制数中,我们将数字 1 的个数多于数字 0

    的个数的这类二进制数称为好数。

    例如:

    (13)10 = (1101)2,其中 1 的个数为 3,0 的个数为 1,则此数是好数;

    (10)10 = (1010)2,其中 1 的个数为 2,0 的个数也为 2,则此数不是好数;

    (24)10 = (11000)2,其中 1 的个数为 2,0 的个数为 3,则此数不是好数;

    对于给定的 N,写程序求出 1~N 之中(包括 1 与 N)中的好数个数。

    输入

    一个整数,题目中的 N(N ≤ 1000)

    输出

    一个整数,表示 1~N 之中(包括 1 与 N)中的好数个数

    样例输入

    10

    样例输出

    5

  • 相关阅读:
    Linux 软链接与硬链接
    ArcGIS Pro怎么生成高程点
    查题系统API无限搜题接口搭建
    mysql主从复制与读写分离
    Qt出现假死冻结现象
    Flutter 中的 CupertinoUserInterfaceLevel 小部件:全面指南
    Java审计对比工具JaVers使用
    实现map和set
    初学Qt(Day04)
    性能测试-loadrunner+jmeter
  • 原文地址:https://blog.csdn.net/zhangdeniu/article/details/126207768