[蓝蓝计算机考研算法训练二期]-day09

118 阅读1分钟

13、5个数求最值

设计一个从5个整数中取最小数和最大数的程序

  • 输入 输入只有一组测试数据,为五个不大于1万的正整数
  • 输出 输出两个数,第一个为这五个数中的最小值,第二个为这五个数中的最大值,两个数字以空格格开。

1、思路

2、具体实现

#include <iostream>
using namespace std;

int main() {
    int a[5];
    int max=0;
    int min=10001;
    for(int i=0; i<5; i++){
        cin >> a[i];
        if(a[i] > max){
            max = a[i];
        }
        if(a[i] < min){
            min = a[i];
        }
    }

    cout << "最大值:" << max << "最小值:" << min << endl;
    return 0;
}

小结

14 、ASCII码排序

输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。

  • 输入 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。
  • 输出 对于每组输入数据,输出一行,字符中间用一个空格分开。

1、思路

2、具体实现

#include <iostream>
using namespace std;

int main() {
    int n;
    char a[n][3];
    cin >> n;
    for(int i=0; i<n; i++){
        for(int j=0; j<3; j++){
            cin >> a[i][j];
        }
        if(a[i][0] - a[i][1] > 0){
            char t = a[i][1];
            a[i][1] = a[i][0];
            a[i][0] = t;
        }
        if(a[i][0] - a[i][2] > 0){
            char t = a[i][2];
            a[i][2] = a[i][0];
            a[i][0] = t;
        }
        if(a[i][1] - a[i][2] > 0){
            char t = a[i][2];
            a[i][2] = a[i][1];
            a[i][1] = t;
        }
    }

    for(int i=0; i<n; i++){
        for(int j=0; j<3; j++){
            cout << a[i][j];
        }
        cout << " ";
    }
    return 0;
}