| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1294 人关注过本帖
标题:求教 这个大小写字母转化的代码,不管输入什么结果都是1111.为什么
只看楼主 加入收藏
不想被发现
Rank: 2
等 级:论坛游民
帖 子:7
专家分:17
注 册:2017-2-7
结帖率:100%
收藏
已结贴  问题点数:8 回复次数:3 
求教 这个大小写字母转化的代码,不管输入什么结果都是1111.为什么
#include<stdio.h>
int main( )
{
    char szInput[100];
    int    i,flag;
    gets(szInput);
    for(i=0;szInput[i]!='\0';i++)
    {
        if(szInput[i] = '0')
            flag = 0;
        if(szInput[i] = '1')
            flag = 1;
        if(flag=0)
            if(szInput[i]>='A'&&szInput[i]<='Z' )//Upper case
                szInput[i] = szInput[i] + 'A'-'a';//lower case
        else
            if(szInput[i]>='a'&&szInput[i]<='z' )//Lower case
                szInput[i] = szInput[i] + 'a'-'A';//Upper case

    }
    puts(szInput);
    return 0;
}
搜索更多相关主题的帖子: include 字母 
2017-02-28 16:29
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
= 和 == 的区别

DO IT YOURSELF !
2017-02-28 16:31
yuantkong
Rank: 2
等 级:论坛游民
威 望:3
帖 子:82
专家分:86
注 册:2016-5-17
收藏
得分:3 
#include<stdio.h>
int main( )
{
    char szInput[100];
    int    i,flag;
    gets(szInput);
    for(i=0;szInput[i]!='\0';i++)
    {
        // flag 是用来判断什么?  如果只是转换大小写不需要用到
       // if(szInput[i] = '0')
      //      flag = 0;
     //   if(szInput[i] = '1')
     //       flag = 1;
     //   if(flag=0)
            //大写转成小写是 - 'A'+'a' , 小写换大写是- 'a'+'A'
            if(szInput[i]>='A'&&szInput[i]<='Z' )//Upper case
                szInput[i] = szInput[i] - 'A'+'a';//lower case
        else if(szInput[i]>='a'&&szInput[i]<='z' )//Lower case
                szInput[i] = szInput[i] - 'a'+'A';//Upper case

    }
    puts(szInput);
    return 0;
}
2017-02-28 17:28
zql270
Rank: 2
等 级:论坛游民
帖 子:7
专家分:48
注 册:2017-2-28
收藏
得分:3 
#include<stdio.h>
int main( )
{
    char szInput[100];
    int    i,flag;
    gets(szInput);
    for(i=0;szInput[i]!='\0';i++)
    {
            if(szInput[i]>='A'&&szInput[i]<='Z' )//Upper case
                szInput[i] = szInput[i]+32;//lower case
        else
            if(szInput[i]>='a'&&szInput[i]<='z' )//Lower case
                szInput[i] = szInput[i]-32;//Upper case

    }
    puts(szInput);
    return 0;
}


1.中间那些都是可以省略的,只是说大小写的转换,对于数字不改变,大小写的码相差32就好了;2.对于结果输出一直是111 这个  是因为你前面写的代码中
if(szInput[i] = '0')
            flag = 0;
        if(szInput[i] = '1')
            flag = 1;
这个在判断语句中对szInput[i]进行了赋值,将他们都变为了‘1’,之后也就是你输出来的值。
2017-02-28 22:30
快速回复:求教 这个大小写字母转化的代码,不管输入什么结果都是1111.为什么
数据加载中...
 
   



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

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