小组讨论小结
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 阅读(55) 评论(0) 编辑 收藏 举报