• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

the_chosen_one

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

小组讨论小结

L2-4 找最小的字符串 (15 分)

本题要求编写程序,针对输入的N个字符串,输出其中最小的字符串。

输入格式:

输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。

输出格式:

在一行中用以下格式输出最小的字符串:

Min is: 最小字符串

 

代码如下

#include <stdio.h>

#include <string.h>

main()

{

int N,i,a;

char str[1000][80],*c;

scanf("%d\n",&N);  

 for(i=0;i<N;i++)

{

 gets(str[i]);

}

 c=str[0];//让c的初值为字符串数组的第一个值

 

 for(i=1;i<N;i++)

{

 if(strcmp(c,str[i])>0)

    c=str[i];//更新c

   }

 printf("Min is: %s",c);

}

 

解题思路

 

使解题简便的一点就是调用了strcmp函数来比较字符串的大小

 

strcmp() 函数用于对两个字符串进行比较

 

头文件:<string.h>

 

​

示例

int strcmp(const char* stri1,const char* str2);

 str1 和 str2 是两个字符串

 

两个​​字符​​串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止

 

返回值:

        若str1=str2,则返回零;

        若str1<str2,则返回负数;

        若str1>str2,则返回正数。

posted on 2021-11-15 00:06  the_chosen_one  阅读(66)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3