| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 641 人关注过本帖
标题:数组,运行不出结果,好像是for循环有问题?
只看楼主 加入收藏
jiawan007
Rank: 1
等 级:新手上路
帖 子:45
专家分:2
注 册:2009-8-1
结帖率:90.91%
收藏
已结贴  问题点数:10 回复次数:9 
数组,运行不出结果,好像是for循环有问题?
题目:输入以回车符结束的字符串(少于80个字符),将其中的大写字母如下面所示进行替换
A→Z
B→Y
C→X
……
X→C
Y→B
Z→A
输出字符串。
我写的程序如下:
#include<stdio.h>
int main(void)
{
    int i,x;
    char str[80];
    printf("Enter a string:");
    i=0;
    while((str[i]=getchar())!='\n')
        i++;
    str[i]='\0';
    for(i=0;str[i]!='\0';i++)
        if(str[i]>='A'&&str[i]<='Z')
        {
            x=str[i]-'A';
            str[i]='Z'-x;
        }
        putchar(str[i]);
        return 0;
}
请问一下哪里错了,如何进行修改?
搜索更多相关主题的帖子: 运行 结果 
2009-12-23 22:08
xixistudio
Rank: 2
等 级:论坛游民
帖 子:24
专家分:53
注 册:2009-12-23
收藏
得分:3 
#include<stdio.h>
int main(void)
{
    int i,x;
    char str[80];
    printf("Enter a string:");
    i=0;
    while((str[i]=getchar())!='\n')
        i++;
    str[i]='\0';
    for(i=0;str[i]!='\0';i++)
{
        if(str[i]>='A'&&str[i]<='Z')
        {
            x=str[i]-'A';
            str[i]='Z'-x;
        }
        putchar(str[i]);

}
                return 0;
}
少了括号,你要输出什么??!
2009-12-23 22:14
xixistudio
Rank: 2
等 级:论坛游民
帖 子:24
专家分:53
注 册:2009-12-23
收藏
得分:4 
算法水的不行。一行解决问题:
for(i=0;str[i]!='\0';i++)
{
   putchar(155-str[i]);

}
就行了。
2009-12-23 22:17
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:1 
你漏了花括号
#include<stdio.h>
int main(void)
{
    int i,x;
    char str[80];
    printf("Enter a string:");
    i=0;
    while((str[i]=getchar())!='\n')
        i++;
    str[i]='\0';
    for(i=0;str[i]!='\0';i++)
      {  if(str[i]>='A'&&str[i]<='Z')
         {
            x=str[i]-'A';
            str[i]='Z'-x;
         }
        putchar(str[i]);
      }
      return 0;
}

qq7434391
2009-12-24 00:22
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
以下是引用xixistudio在2009-12-23 22:17:59的发言:

算法水的不行。一行解决问题:
for(i=0;str!='\0';i++)
{
   putchar(155-str);

}
就行了。
嗯这个好

qq7434391
2009-12-24 14:31
human84
Rank: 3Rank: 3
来 自:哈尔滨 / 重庆
等 级:论坛游侠
帖 子:154
专家分:141
注 册:2009-11-1
收藏
得分:0 
哈哈,楼主挺逗嘛~~
2009-12-24 14:33
jiawan007
Rank: 1
等 级:新手上路
帖 子:45
专家分:2
注 册:2009-8-1
收藏
得分:0 
回复 3楼 xixistudio
我看不懂啊!能不能解释下?
2009-12-25 12:50
jcslt
Rank: 8Rank: 8
来 自:90-xx.com
等 级:蝙蝠侠
帖 子:251
专家分:975
注 册:2009-10-10
收藏
得分:2 
回复 7楼 jiawan007
字符A=65,Z=90!类似A+Z,B+Y...这样的两个大写字母相加为155

www.
2009-12-25 13:49
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
跟1 2 3 4 5 6 7 8一样,即1+8=2+7=3+6=4+5

qq7434391
2009-12-25 14:20
jiawan007
Rank: 1
等 级:新手上路
帖 子:45
专家分:2
注 册:2009-8-1
收藏
得分:0 
回复 8楼 jcslt
我懂了,用的是ACSII码值!
2009-12-25 22:27
快速回复:数组,运行不出结果,好像是for循环有问题?
数据加载中...
 
   



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

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