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

天宇魔羯



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

5come5帮你背单词 [ underground /'Λndəgraund/ a. 地下的,秘密的;n. 地下铁路,地下组织,秘密团体 ]


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帮你背单词 [ breathe /bri:ð/ v. 呼吸 ]


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



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

5come5帮你背单词 [ gypsy // n. 吉普赛人,流浪汉 ]


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



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

5come5帮你背单词 [ willing /'wiliŋ/ 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帮你背单词 [ turbine /'tə:bin/ 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帮你背单词 [ dive /daiv/ vi. & n. 跳水,潜水,(飞机)俯冲 ]


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



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

5come5帮你背单词 [ insert /in'sə:t, 'insə:t/ vt. 插入,嵌入 ]


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帮你背单词 [ kiss /kis/ v. & 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
最后登陆: 2019-06-20

5come5帮你背单词 [ nervous /'nə:vəs/ 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帮你背单词 [ western /'westən/ a. 西方的,西部的 ]


开始
初始化 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帮你背单词 [ sink /siŋk/ 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帮你背单词 [ tackle /'tækl/ vt. 对会,处理;n. 用具,器具,滑车 ]


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



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

5come5帮你背单词 [ relief /ri'li:f/ n. (痛苦、烦恼等的)解除,减轻,救济,赈灾,浮雕 ]


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帮你背单词 [ infect /in'fekt/ vt. 传染,感染,使受影响 ]


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

Total 0.014255(s) query 5, Time now is:04-28 07:46, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号