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

天宇魔羯



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

5come5帮你背单词 [ deform /di'fo:m/ vt. 损坏…的形状,使变丑,使变形;vi. 变形 ]


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帮你背单词 [ bookcase /'bukkeis/ 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帮你背单词 [ illegal /i'li:gəl/ a. 不合法的,非法的,犯法的 ]


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



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

5come5帮你背单词 [ data /'deitə/ 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帮你背单词 [ terminal /'tə:minl/ a. 末端的,终点的,学期的,期末的,晚期的,致死;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帮你背单词 [ reader /'ri:də/ n. 读者,读本,读物 ]


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



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

5come5帮你背单词 [ indicator /'indikeitə/ 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帮你背单词 [ concise /kən'sais/ 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帮你背单词 [ poverty /'povəti/ 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帮你背单词 [ vehicle /'vi:ikl/ 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帮你背单词 [ woman /'wumən/ 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帮你背单词 [ doubt /daut/ v. & n. 怀疑 ]


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



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

5come5帮你背单词 [ mathematics /mæθi'mætiks/ 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帮你背单词 [ touch /tΛt/ vi. 触摸,接触;vt.碰到,触动,感动,提到;n. 触觉,触,接触,联系,少许,一点 ]


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

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