| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 454 人关注过本帖
标题:实现一个函数,不知道哪里错了,请高手赐教,谢谢!!!
只看楼主 加入收藏
god0105
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-9-22
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:4 
实现一个函数,不知道哪里错了,请高手赐教,谢谢!!!
实现一个函数,参数为一字符串str,要求打印str中最大和最小字母
如,max_min("Hello, World!"),输出o(最大)和H(最小)
本人是新手,以下是自己写的C程序,不知哪里错了。请高手赐教,谢谢!!
#include <stdio.h>
void max_min(char *str)
{
char *p,zm[255],zmmin,zmmax;
int i,j,k;
p=zm;

i=0;
while(*p&&i <255)
{
if(*p>'A'&&*p <'Z'&&*p>'a'&&*p <'z')
{zm[i]=*p;i++;}
p++;

}//先筛选出字母,存入数组
zmmax=zm[0];zmmin=zm[0];
for(j=1;j <i;j++)
if(zmmax <zm[j]) zmmax=zm[j];
    for(k=1;k <i;k++)
if(zmmin>zm[i]) zmmin=zm[k];
printf("该字符串最大字母为:%c,最小字母为:%c\n",zmmax,zmmin);
}

void main()
{
char *sp,str[255];
sp=str;
printf(" 请输入一串字符:\n");
scanf("%s",sp);
max_min(sp);

}
搜索更多相关主题的帖子: 函数 
2009-10-18 22:55
lrongh
Rank: 2
等 级:论坛游民
帖 子:39
专家分:24
注 册:2009-10-6
收藏
得分:10 
你的函数里没用到传进去的字符串呀
2009-10-18 23:02
god0105
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-9-22
收藏
得分:0 
发现了一个错误:if(*p>'A'&&*p <'Z'&&*p>'a'&&*p <'z') 应该为if((*p>'A'&&*p<'Z')||(*p>'a'&&*p<'z'))
但改了后运行结果还是不行,运行结果如下:  
请输入一串字符:  
Hello World!  
该字符串最大字母为:?最小字母为:?  
Press any key to continue  
字符显示不出来 ,而是?号,难道是计算机不能识别?!应该不会是这样,所以希望各位高手能帮忙下!
2009-10-18 23:14
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:10 
p=zm;  改:p=str;
在玩手机

努力—前进—变老—退休—入土
2009-10-18 23:23
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
还有两错误。
if(*p>=A'&&*p<='Z'||*p>='a'&&*p <='z');都要加等于号。
·
for(k=1;k <i;k++)  
if(zmmin>zm[i]) zmmin=zm[k];   i改为k
·
最大因该是:r,最小是:H

努力—前进—变老—退休—入土
2009-10-19 00:00
快速回复:实现一个函数,不知道哪里错了,请高手赐教,谢谢!!!
数据加载中...
 
   



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

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