中国大学mooc高级语言程序设计地址:https://www.icourse163.org/course/JLU-62001
第八讲:指针应用 & 结构体–编程题
3找出最长的单词(10分)
题目内容:输入5个单词,输出最长单词及其长度。如果有多个单词都是最长单词,则输出第一个。
输入:5个单词
输出:最长单词的长度及该单词(中间用一个西文空格间隔)
样例:输入:This table belongs to Mary 输出:7 belongs
#include<stdio.h>
int main(){
char a[100],flag[5],*p=a;
int i,t,max;
gets(a);
for(i=0;i<=4;i++)//一次i++对应一次完整的单词检查
{
t=0;
while(*p!=' '){
t++;p++;if(*p=='\0')break;}
p++;//一次检查过后,再让指针指向下一个单词首字母
flag[i]=t;//储存单词长度
}
max=flag[0];
t=0;
for(i=1;i<=4;i++)//比较单词长度
{
if(max<flag[i]){
max=flag[i];
t=i;//储存最长单词的下标
}
}
p=a;
for(i=0;i<t;i++)while(*(p++)!=' ');//使指针指向最长单词的开头
printf("%d ",max);
while(*p!=' '