标题:小白求助,看看代码错在哪儿:(题目)输入一行电报文字,将字母变成其下一 ...
只看楼主
月影湖
Rank: 1
等 级:新手上路
帖 子:9
专家分:7
注 册:2019-11-25
结帖率:0
 问题点数:0 回复次数:3 
小白求助,看看代码错在哪儿:(题目)输入一行电报文字,将字母变成其下一字母(如’a’变成’b’……’z’变成’a’其它字符不变)。
#include<stdio.h>//运行后的输出错误
#include<string.h>
int main()
{   
    int i;
    char f[100];
    gets(f);
     for(i=0;f[i]!='\0';i++)
      {   
    if(f[i]='z')
    {f[i]='a';break;}
    else
    f[i]=f[i]+1;
      }
    printf("%s",f);
   
   return 0;
}
搜索更多相关主题的帖子: 代码 一行 字母 文字 字符 
2019-12-07 12:49
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:554
专家分:3690
注 册:2019-7-29
得分:0 
if(f[i]=='z')

你写成if(f[i]='z')赋值语句了。
而且你的逻辑感觉不太对。
程序代码:
#include<stdio.h>
#include<string.h>

int main()
{
    int i;
    char f[100];
    gets(f);
    for(i=0;f[i]!='\0';i++)
    {
        if((f[i]<='z')&&(f[i]>='a'))
        {
            if(f[i]=='z')
                f[i]='a';
            else
                f[i]=f[i]+1;
        }
    }
    printf("%s",f);

    return 0;
}

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2019-12-07 13:35
月影湖
Rank: 1
等 级:新手上路
帖 子:9
专家分:7
注 册:2019-11-25
得分:0 
回复 2楼 纯蓝之刃
逻辑有问题?不知道哦。麻烦你啦,谢谢,提交通过了
2019-12-07 14:00
wangxinbozj
Rank: 2
等 级:论坛游民
威 望:2
帖 子:16
专家分:18
注 册:2019-12-1
得分:0 
这里不能用break语句,不然只要输入了z字符,直接跳出循环,不再执行后面语句。
2019-12-07 21:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498259-1-1.html




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

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