| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 790 人关注过本帖
标题:字符串大小写转换,求指点
只看楼主 加入收藏
约束小朋友
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2013-5-28
结帖率:85.71%
收藏
已结贴  问题点数:10 回复次数:4 
字符串大小写转换,求指点
字符串字母大小写转换
输入一个以#结束的字符串,将小写字母全部转换成大写字母,把大写字母全部转换为小写字母,其他字符不变,然后将结果输出到屏幕。
上面是我想要实现的程序题目
下面是我自己写的程序
我的程序出现的问题是
当我输入一串字符时,无论输入什么,输出都变成#
例如:输入:nskjhgl124#    输出:#
而且输出的只有一个
我的思路是想逐个判断字符,然后输出






#include<stdio.h>
void main()
{
   
    char character,i;
   printf("请随机输入一串字符,以#为结束符");
   while((character=getchar())!='#'){
   
       if(character>='A'&&character<='Z')
   {
     character=character+32;
   }
   else if(character>='a'&&character<='z')
   {
   character=character-32;
   }
   character=getchar();
   }
   printf("\n%c\n",character);
}
搜索更多相关主题的帖子: character include 字符串 而且 
2013-06-14 21:25
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
收藏
得分:0 
这是自然,你的char character只是一个字符变量,只能存放一个字符。最后录入的字符是#. while语句判断之后结束循环 输出的当然是#字符

C++菜鸟
2013-06-14 21:59
潇翊
Rank: 3Rank: 3
来 自:湖北襄阳
等 级:论坛游侠
帖 子:39
专家分:131
注 册:2012-2-29
收藏
得分:8 
修改后的程序,运行没有问题,如下:
#include<stdio.h>
void main()
{
    char character,i;
    printf("请随机输入一串字符,以#为结束符");

    while((character=getchar())!='#')   //判断是否为“#”
    {
        if(character>='A'&&character<='Z')  //大写变小写
        {
            character=character+32;
            printf("%c",character);       //转换完了要输出啊
        }
        else if(character>='a'&&character<='z') //小写变大写
        {
            character=character-32;
            printf("%c",character);    //转换完了要输出啊
        }
        else
        {
            printf("%c",character);  //既不是大写也不是小写的原样输出
        }
   //character=getchar();
   }

   printf("%c\n",character);  //遇到“#”endwhile
}

神马都是浮云,技术才是王道!
2013-06-15 08:31
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:2 
程序代码:
#include <cstdio>

int main()
{
    printf( "%s", "请随机输入一串字符,以#为结束符\n" );
    for( char c; c=getchar(), c!='#'; )
    {
        if( c>='A' && c<='Z' )
            c += 'a'-'A';
        else if( c>='a' && c<='z' )
            c -= 'a'-'A';

        printf( "%c", c );
    }

    return 0;
}
2013-06-15 08:32
约束小朋友
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2013-5-28
收藏
得分:0 
回复 3楼 潇翊
O(∩_∩)O谢谢指点   我懂了
2013-06-15 12:55
快速回复:字符串大小写转换,求指点
数据加载中...
 
   



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

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