69,381
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#define MAXLINE 1000
int getliness(char lon[], int lim); //*获取输入的字符,存入数组并返回长度
void copyss(char to[], char from[]); //*复制数组
main()
{
int len, max;
char lon[MAXLINE];
char maxest[MAXLINE];
max = 0;
while ((len = getliness(lon, MAXLINE)) > 0)
if (len > max){
max = len;
copyss(maxest, lon);
}
if (max > 0) //*如果存在最大字符串,则输出
printf("%s", maxest);
getchar();
return 0;
}
int getliness(char line[], int lim)
{
int c, i;
for (i = 0; i < lim -1 && ((c = getchar()) != EOF) && c != '\n'; i++)
line[i] = c;
if (c == '\n'){
if (i == 0)
return 0; //这里是当一行就有一个'n'时结束输入的,
//EOF我不知道怎么搞,估计读文件时才会用到吧
else
{
line[i] = c;
++i;
}
}
line[i] = '\0';
return i;
}
void copyss(char to[], char from[])
{
int i;
i = 0;
while ((to[i] = from[i]) != '\0')
++i;
}
#include <stdio.h>
#define MAXLINE 1000
int getliness(char lon[], int lim); //获取输入的字符,存入数组并返回长度
void copyss(char to[], char from[]); //复制数组
int main()
{
int len, max;
char lon[MAXLINE];
char maxest[MAXLINE];
max = 0;
while ((len = getliness(lon, MAXLINE)) > 0)//here
if(len > max)
{
max = len;
copyss(maxest, lon);
}
if (max > 0) //如果存在最大字符串,则输出
printf("%s", maxest);
return 0;
}
int getliness(char line[], int lim)
{
int c, i;
for (i = 0; i < lim -1 && ((c = getchar()) != EOF)/*here*/&& c !='\n'; i++)
line[i] = c;
if (c =='\n')//here ==
{
line[i] = c;
++i;
}
line[i] = '\0';
return i;
}
void copyss(char to[], char from[])
{
int i;
i = 0;
while (to[i]=from[i] !='\0')
++i;
}