我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

天宇魔羯



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
发贴: 4600
威望: 0
浮云: 1189
在线等级:
注册时间: 2007-05-16
最后登陆: 2010-04-16

5come5帮你背单词 [ comprehensive /kompri'hensiv/ a. 全面的,综合的 ]


C程序

#include "stdio.h"
int change(char *c,int fg)
{ if(*c=='')
L1:return 1;
    else
        if(fg&&*c<='z'&&*c>='a')
            *c+='A'-'a';
      return 0;
}
void main()
{ int flag=1;
    char  ch;
do
  { ch=getchar();
    flag=change(&ch,flag);
    putchar(ch);
  }while(ch!='\n');
}
输入:This  is a book!
输出:This Is A Book!
可总觉得应该是THIS IS A BOOK!
望达人来解释一下下哈
顶端 Posted: 2008-04-12 14:15 | [楼 主]
calitrean



年度之星奖
性别: 帅哥 状态: 该用户目前不在线
头衔: WCDMA民工Q某 
等级: 成就辉煌
家族: 单身贵族
发贴: 11025
威望: 0
浮云: 2296
在线等级:
注册时间: 2007-01-16
最后登陆: 2023-11-19

5come5帮你背单词 [ injection /in'd3əekən/ vt. 注射,注入,注射液 ]


LZ在int change(char *c,int fg)函数里没有用循环,因此只判断第一个字符而忽略了后面的字符
顶端 Posted: 2008-04-12 14:21 | [1 楼]
天宇魔羯



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
发贴: 4600
威望: 0
浮云: 1189
在线等级:
注册时间: 2007-05-16
最后登陆: 2010-04-16

5come5帮你背单词 [ supervisor /'sju:pəvaizə/ n. 监督者,主管人,导师 ]


想知道(*c=='')是什么意思,C指针指向。。。?
顶端 Posted: 2008-04-12 14:25 | [2 楼]
calitrean



年度之星奖
性别: 帅哥 状态: 该用户目前不在线
头衔: WCDMA民工Q某 
等级: 成就辉煌
家族: 单身贵族
发贴: 11025
威望: 0
浮云: 2296
在线等级:
注册时间: 2007-01-16
最后登陆: 2023-11-19

5come5帮你背单词 [ historic /his'torik/ a. 历史上著名的,有历史意义的 ]


  else
        if(fg&&*c<='z'&&*c>='a')
            *c+='A'-'a';
      return 0;
改成
  else
        while(fg&&*c++!='\0'&&*c<='z'&&*c>='a')
            *c+='A'-'a';
      return 0;
顶端 Posted: 2008-04-12 14:27 | [3 楼]
笑一个



性别: 帅哥 状态: 该用户目前不在线
头衔: 小将军
等级: 人见人爱
发贴: 3584
威望: 5
浮云: 1129
在线等级:
注册时间: 2007-03-09
最后登陆: 2008-06-29

5come5帮你背单词 [ piston /'pistən/ n. 活塞 ]


#include "stdio.h"
int change(char *c,int fg)
{ if(*c==' ')
return 1;
    else
      if(*c<='z'&&*c>='a')[backcolor=#FF0000]        *c+='A'-'a';
      return 0;
}
void main()
{ int flag=1;
    char  ch;
do
  { ch=getchar();
    flag=change(&ch,flag);
    putchar(ch);
  }while(ch!='\n');
}
我改动了一下,把那个判断flag的条件去掉了
运行了一下
就对了
顶端 Posted: 2008-04-12 14:27 | [4 楼]
天宇魔羯



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
发贴: 4600
威望: 0
浮云: 1189
在线等级:
注册时间: 2007-05-16
最后登陆: 2010-04-16

5come5帮你背单词 [ finish /'fini/ vt. 完成,结束,磨光,给…最后加工;vi. 终了,完结;n. 最后阶段,完成 ]


谢谢蝈蝈们了哈
顶端 Posted: 2008-04-12 14:28 | [5 楼]
calitrean



年度之星奖
性别: 帅哥 状态: 该用户目前不在线
头衔: WCDMA民工Q某 
等级: 成就辉煌
家族: 单身贵族
发贴: 11025
威望: 0
浮云: 2296
在线等级:
注册时间: 2007-01-16
最后登陆: 2023-11-19

5come5帮你背单词 [ gamble /'gæmbl/ v. & n. 赌博,投机,冒险 ]


Quote:
引用第2楼天宇魔羯于2008-04-12 14:25发表的  :
想知道(*c=='')是什么意思,C指针指向。。。?

表示C指向的地址的内容是个空字符???那用(*c=='\0')
顶端 Posted: 2008-04-12 14:35 | [6 楼]
第二个太阳



性别: 帅哥 状态: 该用户目前不在线
头衔: 我要鸡蛋
等级: 前途无量
发贴: 5594
威望: 1
浮云: 1676
在线等级:
注册时间: 2004-11-26
最后登陆: 2008-06-29

5come5帮你背单词 [ reptile /'reptail/ n. 爬行类动物 ]


这个程序的本意就应该是“this is a book!" ->"This Is A Book!"
if(*c=='')  这句应该是 if(*c==' ')  那应该是个空格
Copy code
#include "stdio.h"
int change(char *c,int fg)
{ if(*c==' ')         
    L1:return 1;        // 判断空格,返回1,更新flag=1,使空格的下一个字符被转大写
else
      if(fg&&*c<='z'&&*c>='a')        //由flag 的值决定字符是否转换大写
      *c+='A'-'a';
      return 0;                      //转换了大写后flag值更新为0,也就说只转换空格后的第一个字母为大写,后面的flag都为0,不会转换,直到判断到空格。
}
void main()
{ int flag=1;            //用于标识下一个字符是否要被转大写,初始值为 1 真 ,
char ch;
do
{  ch=getchar();            //挨个从缓冲区中取出字符,每次循环取一个字符
    flag=change(&ch,flag);        //由flag 的值决定字符是否转换大写,同时更新flag的值,对应下一个字符。每次循环处理一个字符
    putchar(ch);                  //每次循环输出一个字符
}while(ch!='\n');
}
顶端 Posted: 2008-04-12 14:57 | [7 楼]
springdew



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 936
威望: 0
浮云: 0
在线等级:
注册时间: 2005-12-29
最后登陆: 2024-07-12

5come5帮你背单词 [ adjustable /ə'd3əΛstəbl/ a. 可调整的,可校准的 ]


Quote:
引用第7楼第二个太阳于2008-04-12 14:57发表的  :
这个程序的本意就应该是“this is a book!" ->"This Is A Book!"
if(*c=='')  这句应该是 if(*c==' ')  那应该是个空格
[code]#include "stdio.h"
int change(char *c,int fg)
{ if(*c==' ')         
.......

高手,很强,正解!
顶端 Posted: 2008-04-12 15:04 | [8 楼]
第二个太阳



性别: 帅哥 状态: 该用户目前不在线
头衔: 我要鸡蛋
等级: 前途无量
发贴: 5594
威望: 1
浮云: 1676
在线等级:
注册时间: 2004-11-26
最后登陆: 2008-06-29

5come5帮你背单词 [ rejection /ri'd3əekən/ n. 拒绝,抵制,驳回 ]


开始
初始化 flag=1->
't'='T' flag=0 ->
  'h'='h' flag=0 ->
  'i'='i' flag=0 ->
  's'='s' flag=0 ->
' '=' ' flag=1 ->
'i'='I' flag=0 ->
  's'='s' flag=0 ->
' '=' ' flag=1 ->
'a'='A' flag=0 ->
' '=' ' flag=1 ->
  'b'='B' flag=0 ->
  'o'='o' flag=0 ->
  'o'='o' flag=0 ->
  'k'='k' flag=0 ->
  '!'='!' flag=0 ->
'\0' ->  end 
顶端 Posted: 2008-04-12 15:07 | [9 楼]
天宇魔羯



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
发贴: 4600
威望: 0
浮云: 1189
在线等级:
注册时间: 2007-05-16
最后登陆: 2010-04-16

5come5帮你背单词 [ lead /li:d/ v. 领导,引导,为…带路,指引,导致,通向;n. 领导,领先 ]


Quote:
引用第7楼第二个太阳于2008-04-12 14:57发表的  :
这个程序的本意就应该是“this is a book!" ->"This Is A Book!"
if(*c=='')  这句应该是 if(*c==' ')  那应该是个空格
[code]#include "stdio.h"
int change(char *c,int fg)
{ if(*c==' ')         
.......

恩,就是,很多时候感觉很简单的问题都转不过湾来
顶端 Posted: 2008-04-12 15:09 | [10 楼]
snowcuso4





性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 873
威望: 0
浮云: 2361
在线等级:
注册时间: 2005-11-30
最后登陆: 2010-10-08

5come5帮你背单词 [ reclaim /ri'kleim/ v. 要求收回,要求恢复,开垦,填筑 ]


指针还没看完,不发表意见~~
顶端 Posted: 2008-04-12 15:11 | [11 楼]
第二个太阳



性别: 帅哥 状态: 该用户目前不在线
头衔: 我要鸡蛋
等级: 前途无量
发贴: 5594
威望: 1
浮云: 1676
在线等级:
注册时间: 2004-11-26
最后登陆: 2008-06-29

5come5帮你背单词 [ outside /'aut'said/ n. & a. 外面(的),外表(的),外界(的);ad. 在外面,向外面;prep. 在…外 ]


Quote:
引用第10楼天宇魔羯于2008-04-12 15:09发表的  :

恩,就是,很多时候感觉很简单的问题都转不过湾来

没有注释流程的程序当然恼火了。。。看没有注释的程序简直是浪费青春。
顶端 Posted: 2008-04-12 15:14 | [12 楼]
rog



性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
家族: 单身贵族
发贴: 1329
威望: 0
浮云: 1039
在线等级:
注册时间: 2006-02-18
最后登陆: 2010-04-24

5come5帮你背单词 [ cautious /'ko:əs/ a. 谨慎的,小心的 ]


高手还是很多滴
顶端 Posted: 2008-04-12 15:32 | [13 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.021320(s) query 5, Time now is:01-14 04:41, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号