求助,c语言。

用户输入一个二维字符串数组,按行比较,显示字符最长的行数,并提示用户输入1,全部转换成大写,输入2,全部转换成小写。
提示:
gets()函数可以一次性拿数据。
大小写转换函数可以直接调用。
求字符串长度函数strlen()

#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main() { char str[20][100]; int i = 0;//计数器
while(1) { //ctrl + z表示结束 if(gets(str[i]) == NULL) break; ++i; }
int j,maxLine = 0;
for(j = 1;j < i;++j) { if(strlen(str[j]) > strlen(str[maxLine])) maxLine = j; }
printf("max line is %d:%s\n",maxLine,str[maxLine]);
printf("Enter 1 to upper or 2 to low\n");
int k; scanf("%d",&k);
if(k == 1)//这里只转换了最长的那一行//转全部可以自己写
{ for(j = 0;j < strlen(str[maxLine]);++j)
str[maxLine][j] = toupper(str[maxLine][j]);
printf("%s\n",str[maxLine]); }
else if(k == 2) { for(j = 0;j < strlen(str[maxLine]);++j)
str[maxLine][j] = tolower(str[maxLine][j]);
printf("%s\n",str[maxLine]); }
else printf("ERROR"); }
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-30
相似回答