- 题意描述: 连续输入字符串,找出其中最长的字符串
- 思路: 分三个步骤: 读取文本字符串 筛选最长字符串 打印输出
- 考察字符串知识 ‘0’是字符串结束标志,但是不算做字符串长度, getchar() 读取字符
#include<stdio.h>
#define MAXLINE 10000
int main(){
int len;
int max;
char line[MAXLINE];
char longest[MAXLINE];
int geline(char [],int);
void copyline(char [],char []);
max=0;
while ((len=geline(line,MAXLINE))>0) {
if(len>max){
max=len;
copyline(longest,line);
}
}
if(max>0)
printf("%d %s\n",max,longest);
return 0;
}
//读取字符串
int geline(char s[],int maxl){
int i;
for(i=0;i<maxl-1&&(s[i]=getchar())!=EOF&&s[i]!='\n';i++)
;
if('\n'==s[i])
i++;
s[i]='\0';
return i;
}
//复制字符串
void copyline(char to[],char from[]){
int i=0;
while ((to[i]=from[i])!='\0')
i++;
}