• C语言成长学习题(十一)


    四十六、假设一堆数组中存放不相同的10个整数,从键盘输入一个整数,输出与该值相同的数组元素的下标。

     1 #include <stdio.h>
     2 
     3 void main(void)
     4 {
     5     int i, x, k = -1, a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
     6 
     7     printf("Input x: ");
     8     scanf("%d", &x);
     9     for (i = 0; i < 10; i++)
    10         printf("%4d", a[i]);
    11     printf("
    ");
    12     for (i = 0; i < 10; i++)
    13         if (x == a[i])
    14             k = i;
    15     if (k != -1)
    16         printf("下标值 = %d
    ", k);
    17     else
    18         printf("没找到%d
    ", x);
    19 }

     结果:

    (1)Input x: 6

      1   2   3   4   5   6   7   8   9   10

      下标值 = 5

    (2)Input x: 12

      1   2   3   4   5   6   7   8   9   10

      没找到12

    四十七、从键盘输入10个互不相同的整数并存放在一维数组中,找出值最大的整数,并从数组中删除该值。

     1 #include <stdio.h>
     2 
     3 void main(void)
     4 {
     5     int i, k, a[10];
     6 
     7     printf("Input data: ");
     8     for (i = 0; i < 10; i++)
     9     {
    10         scanf("%d", &a[i]);
    11         printf("%4d", a[i]);
    12     }
    13     printf("
    ");
    14 
    15     k = 0;
    16     for (i = 1; i < 10; i++)
    17         if (a[k] < a[i]) k = i;
    18     for (i = k; i < 9; i++)
    19         a[i] = a[i+1];
    20     for (i = 0; i < 9; i++)
    21         printf("%4d", a[i]);
    22     printf("
    ");
    23 }

    结果:

    Input data: 22 33 99 11 12 13 78 54 87 65

    22  33  99  11  12  13  78  54  87  65

    22  33  11  12  13  78  54  87  65

    四十八、在一维数组中找出值最小的元素,并将其值与第一个元素的值对调。

     1 #include <stdio.h>
     2 
     3 void main(void)
     4 {
     5     int j, k, temp, a[10];
     6 
     7     for (j = 0; j < 10; j++)
     8     {
     9         scanf("%d", a[j]);
    10         printf("%4d", a[j];
    11     }
    12     printf("
    ");
    13     
    14     k = 0;
    15     for (j = 1; j < 10; j++)
    16         if (a[k] > a[j]) 
    17             k = j;
    18     temp = a[0];
    19     a[0] = a[k];
    20     a[k] = temp;
    21     for (j = 0; j < 10; j++)
    22         printf("%4d", a[j]);
    23     printf("
    ");
    24 }

    结果:

    10 9 8 2 5 1 3 7 4 6

    10  9   8   2   5   1   3   7   4   6

    1   9   8   2   5   10  3   7   4   6

    四十九、将10个数由小到大的顺序进行排序。

     1 #include <stdio.h>
     2 
     3 void main(void)
     4 {
     5     int i, j, k, temp, a[10] = {10, 9, 8, 2, 5, 1, 7, 3, 4, 6};
     6 
     7     for (i = 0; i < 10; i++)
     8         printf("%4d", a[i]);
     9     printf("
    ");
    10     for (i = 0; i < 9; i++)
    11     {
    12         k = i;
    13         for (j = k + 1; j < 10; j++)
    14             if (a[k] < a[j])
    15                 k = j;
    16         temp = a[i];
    17         a[i] = a[k];
    18         a[k] = temp;
    19     }
    20     for (i = 0; i < 10; i++)
    21         printf("%4d", a[i]);
    22     printf("
    ");
    23 }

    结果:

    10  9   8   2   5   1   7   3   4   6

    1   2   3   4   5   6   7   8   9   10

    五十、输入若干个互不相同的非整数(假设小于100,用负数结束输入),要求从大到小排序。

     1 #include <stdio.h>
     2 
     3 void main(void)
     4 {
     5     int i, x, a[100] = {0};
     6 
     7     scanf("%d", &x);
     8     while (x >= 0 && x < 100)
     9     {
    10         a[x] = 1;
    11         scanf("%d", &x);
    12     }
    13     for (i = 99; i >= 0; i--)
    14         if (a[i] == 1)
    15             printf("%4d", i);
    16     printf("
    ");
    17 }

    结果:

    23 45 12 15 -1

    45  23  15  12

  • 相关阅读:
    CopyOnWriteArrayList 写时复制思想
    CAS中ABA问题的解决
    彻底解决Chrome“请停用以开发者模式运行的扩展程序”提示(亲测整合)
    解决软件安装无法自定义文件夹,自动安装在C盘 (Windows系统)
    IDEA降低注解检测级别
    大白话带你认识JVM(转)
    Windows 与 Linux (CentOS7) 之间的文件共享
    Dubbo、Zookeeper 以及 Tomcat 启动的相关问题
    创建 maven 项目的时候遇到的问题
    MyBatis 项目的 jar 包导入与源码导入
  • 原文地址:https://www.cnblogs.com/zero-jh/p/5026051.html
Copyright © 2020-2023  润新知