| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 816 人关注过本帖
标题:课后练习题求教了
只看楼主 加入收藏
yj2822263
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-12-2
收藏
 问题点数:0 回复次数:5 
课后练习题求教了
以下程序功能是为了求输入5个字符串最长的那个并且输出该字符串 可我编的程序怎么都执行不出 请大大帮我看下错在哪里了  题目有答案 我也看懂了 可我就是想知道自己编的程序的问题所在
#include<stdio.h>
#include<string.h>
main()
{
   char a[5][60],*q;int i,len[5],*p;
   printf("input\n");
   for(i=0;i<5;i++)
   {scanf("%s",&a[i]);
     len[i]=strlen(a[i]);}
   p=len;q=a[0];
   for(i=1;i<=4;i++)
   {if(*p<*p+i) {p=p+i;q=q+i;}
    printf("%s\n",*q);
}
}
搜索更多相关主题的帖子: 练习题 
2007-12-06 20:38
yxwsbobo
Rank: 5Rank: 5
等 级:职业侠客
帖 子:345
专家分:306
注 册:2007-10-29
收藏
得分:0 
{if(*p<*p+i) {p=p+i;q=q+i;}

这里你再仔细看看

How are you 怎么是你?
How old are you   怎么老是你?
2007-12-07 00:51
swiminfire
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2005-8-11
收藏
得分:0 
{if(*p<*p+i) {p=p+i;q=q+i;}
这个不是自增的,自己拿笔算算吧。

Get in first, and then word your ways out ! BY KIKI
2007-12-07 07:21
布拉莫斯
Rank: 1
来 自:中国太平洋舰队
等 级:新手上路
帖 子:169
专家分:0
注 册:2007-3-31
收藏
得分:0 
为什么要非要用指针呢!

看,这不是很简洁吗?

#include<stdio.h>
#include<string.h>
main()
{
   char a[5][60];int i,len[5],t;
   printf("input\n");
   for(i=0;i<5;i++)
   {scanf("%s",&a[i]);
     len[i]=strlen(a[i]);}
   t=0
   for(i=1;i<=4;i++)
   {
      if(len[t]<len[i])  t=i;
   }
    printf("%s\n",a[t]);
}

  还有,楼主那句“ printf("%s\n",*q); " 放在一个for循环里去了,如果你的程序没有语法错误的话,应该会打印4个字符串!

真理往往掌握在少数人手中,可现实却是少数服从多数!
2007-12-07 10:21
jsjl2008
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-12-6
收藏
得分:0 
for(i=1;i<=4;i++) {
       if(*p<*(p+i)){
                   p++;
                   q=a[i];
                }
}
    printf("%s\n", q);
2007-12-07 12:46
flyaway57
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-3-28
收藏
得分:0 
不是吧
怎么又见到这种用指针的风格了if(*p<*p+i) {p=p+i;q=q+i;
2007-12-07 14:51
快速回复:课后练习题求教了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026705 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved