字符数组应用举例—字符串找极值

56 阅读1分钟

任意键入 3 个字符串,编程找出最小的一个。

编写源程序 8-7.c:

#include<stdio.h>
#include<string.h>

int main(){
    char string[30];
    // 定义一个二维数组
    // ch[1]、ch[2]、ch[3] 都是一个字符数组,相当于三个字符串
    char ch[3][30];
    int i;
    // 循环读取三行,并且将每行存到 ch[i] 中
    for(i=0;i<3;i++)
        gets(ch[i]);  // 有的编译器会报 warning,提示 gets() 函数不安全,不影响实验。
    strcpy(string,ch[0]);
    for(i=1;i<3;i++)
        if(strcmp(ch[i],string)<0)
            strcpy(string,ch[i]);
    printf("The result is :\n%s",string);

    return 0;
}

这里要注意的是,我们定义的 ch[1]、ch[2]、ch[3] 都只有 30 个字符大小,gets() 函数还会自动补 \0,因此我们每行的输入不要超过 29 个字符。

image.png