任意输入3 个字符串,找出最小的那个字符串

202 阅读1分钟

刚刚学习了C语言的数组,发现一道挺有意思的题目,编了个小代码。

代码

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

int main()
{
    char string[30];//用来存放数组最大值
    char ch[3][30];//ch[0]、ch[1]、ch[2]都是一个字符数组,相当于3个字符串
    int i;
    
    for(i=0;i<3;i++)//循环读取三次,输入3个字符串存到ch[0]、ch[1]、ch[2]中
    {
        gets(ch[i]);
    }
    
    strcpy(string,ch[0]);//将ch[0]复制到string,作为最小的字符串

    for(i=1;i<3;i++)
    {
        if(strcmp(ch[i],string)<0)//当ch[i]<string时,strcmp函数将返回一个负整数
        {
            strcpy(string,ch[i]);//当ch[i]比string小时,ch[i]会被复制到string,string值改变
        }
    }
    
    printf("\n最小的字符串是:%s",string)
    return 0;
}

结果

图片.png

注意

关于strcmp——字符串比较函数 strcmp(字符串 1,字符串 2)

  • 字符串 1=字符串 2,则函数值为 0
  • 字符串 1>字符串 2,则函数值为一个正整数
  • 字符串 1<字符串 2,则函数值为一个负整数