| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 530 人关注过本帖
标题:闹心的代码,各位大神看看代码为什么错了
只看楼主 加入收藏
tianqiao
Rank: 2
等 级:论坛游民
帖 子:80
专家分:55
注 册:2011-9-21
结帖率:85.71%
收藏
已结贴  问题点数:15 回复次数:3 
闹心的代码,各位大神看看代码为什么错了
先上题:输入一串字符,判断将其中最短的字符输出,如果最短字符有多个就输出第一个,
例如:happy new year haa;
输出:mew;
这是代码:
# include <stdio.h>
# include <string.h>
int main()
{
int i,j=0,x,y,a[100]={0},b[100],u;
char str[100];
gets(str);
u=strlen(str);
for (i=0;i<u;i++)
{
if (str[i]!=' ')
a[j]++;
else
{b[j]=i;j++;}
}
for (i=0;i<100;i++)
if(a[i]>0)
{
for(x=0;x<100;x++)
{if (a[i]>a[x])
break;
else if (x==99)
y=i;}
}
for (i=b[y]-a[y];i<=b[y]-1;i++)
printf("%c",str[i]);
return 0;
}
可是当我运行时候居然显示运行错误,无语,特来求教
搜索更多相关主题的帖子: 闹心 include happy 
2011-11-15 12:04
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:12 
程序代码:
#include<stdio.h>
#include<string.h>
char * find(char * s) //返回指针指向s中最短词组起始处,注意该函数会修改原字符串
{
    char * p, * pt;
    int min, len;
    for(p = s, min = strlen(s); *s;)
    {
        while(*s && *s == ' ') s++;
        pt = s;
        while(*s && *s != ' ') s++;
        len = s - pt;
        if(len && len < min)
        {
            p = pt;
            min = len;
        }
    }
    p[min] = 0;
    return p;
}
int main()
{
    char str[1024];
    gets(str);
    printf("%s\n", find(str));
    return 0;
}

重剑无锋,大巧不工
2011-11-15 12:34
帝国
Rank: 3Rank: 3
来 自:云南昆明
等 级:论坛游侠
帖 子:68
专家分:144
注 册:2010-10-11
收藏
得分:3 
变量Y为赋值,
2011-11-15 12:37
tianqiao
Rank: 2
等 级:论坛游民
帖 子:80
专家分:55
注 册:2011-9-21
收藏
得分:0 
回复 2楼 beyondyf
可是我们的指针还没有学习,不过你的思想还是可以理解,谢谢。
2011-11-15 12:43
快速回复:闹心的代码,各位大神看看代码为什么错了
数据加载中...
 
   



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

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