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

天宇魔羯



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

5come5帮你背单词 [ participant /pa:'tisipənt/ 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帮你背单词 [ perpendicular /pə:pən'dikjulə/ a. 垂直的,正交的;n. 垂线 ]


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



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

5come5帮你背单词 [ atmosphere /'ætməsfiə/ n. 大气层,气氛,环境 ]


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



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

5come5帮你背单词 [ lid /lid/ n. 盖(子) ]


  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帮你背单词 [ terror /'terə/ 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帮你背单词 [ toothbrush /'tu:θbrΛ/ n. 牙刷 ]


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



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

5come5帮你背单词 [ carrier /'kæriə/ 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帮你背单词 [ mathematical /mæθi'mætikəl/ a. 数学(上)的 ]


这个程序的本意就应该是“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帮你背单词 [ chip /tip/ 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:04 | [8 楼]
第二个太阳



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

5come5帮你背单词 [ wrap /ræp/ n. 披肩,围由;vt. 包,裹 ]


开始
初始化 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帮你背单词 [ occur /ə'kə:/ vi. 发生,出现,存在 ]


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帮你背单词 [ monopolize /mə'nopəlaiz/ vt. 垄断,独占 ]


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



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

5come5帮你背单词 [ sick /sik/ a. 有病的,恶心的,相吐的 ]


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帮你背单词 [ beyond /bi'jond/ prep在…之外,在…那边,起出…范围,胜过,迟于 ]


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

Total 0.010159(s) query 5, Time now is:11-22 03:23, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号