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

88 阅读1分钟

13、5个数求最值

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

输入只有一组测试数据,为五个不大于1万的正整数

输出 输出两个数,第一个为这五个数中的最小值,第二个为这五个数中的最大 值,两个数字以空格格开。

代码实现

#include <stdio.h>
int max(int *x){
    int max;
    max= *x;
    for(int i=1;i<5;i++){
        if(max< *(x+i)){
            max=*(x+i);
        }
    }
    return max;
}

int min(int *y){
    int min;
    min=*y;
    for(int j=1;j<5;j++){
        if(min>*(y+j)){
            min=*(y+j);
        }
    }
    return min;
}
int main() {
    int a[5];
    int *p=a;
    for(int i=0;i<5;i++){
        scanf("%d",&a[i]);
    }
    printf("%d\n%d",max(p),min(p));
}

14、

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

思路:比大小,如果后面的比前面的小就交换位置

代码实现

#include <stdio.h>

int main() {
    char a,b,c,temp;
    scanf("%c%c%c",&a,&b,&c);
    getchar();//xi hui che
    if(a>b){
        temp=a;
        a=b;
        b=temp;
    }
    if(a>c){
        temp=a;
        a=c;
        c=temp;
    }
    if(b>c){
        temp=b;
        b=c;
        c=temp;
    }
    printf("%c%c%c",a,b,c);
}