| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 682 人关注过本帖
标题:这是我写的程序,但不知道 错在哪个环节
只看楼主 加入收藏
liming23
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-3-24
收藏
 问题点数:0 回复次数:9 
这是我写的程序,但不知道 错在哪个环节
#include <stdio.h>
#include <ctype.h>

int main(int argc, char **argv) {
int value;
int value2;
int max;
int loop=0;

value = getchar();
while (value!= EOF) {

value2 = getchar();
if (isspace(value2)||isspace(value)){ //如果用户输入了 空格 就 打出空格 不去计算asci code
printf(" ");
}else{

max=value2-value; //得到两个字母的asci code的差 e.g B-A =1 C-A=2 F-A=5

printf("%d",max);
}
loop++;
}

return 0;
}


我输入
AB CD EF
结果应该是
1 1 1
但是我写程序出来的结果是
1 23 45

后面的程序都加了11 不知道错在奶 asc code 11 是 tab
搜索更多相关主题的帖子: 环节 
2006-04-17 13:21
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 
能先告诉你的最终目的是什么吗?
可能我太菜,看你的程序有点!!!
2006-04-17 13:47
liming23
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-3-24
收藏
得分:0 
目的是

得到两个字母的的差
e.g B-A =1 C-A=2 F-A=5




我比较菜
2006-04-17 13:54
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
value = getchar();
//只执行一次

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2006-04-17 14:08
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 

如果你的程序目的仅此而已,我感觉你的程序很乱而且烦琐不严密,那你能不能用这个:
main()
{
int char_a,char_b;

do{

while(char_a<65||(char_a>90&&char_a<97)||char_a>122)//判断cahr_a是否是字母,不是继续,是跳出循环。
{
char_a=getch();
printf("%c",char_a);
}
while(char_b<65||(char_b>90&&char_b<97)||char_b>122)//判断cahr_b是否是字母,不是继续,是跳出循环。
{
char_b=getch();
printf("%c",char_b);
}
printf("\nchar_a and char_b ASCII distance is %d",char_a-char_b);

}while(getch!=27);
return 0;
}

2006-04-17 14:14
lucyyun
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-4-5
收藏
得分:0 
我猜是少个循环
2006-04-17 14:33
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 
哪少?
2006-04-17 14:39
liming23
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-3-24
收藏
得分:0 
你的程序只能 计算 一次
AB
怎么才能让他执行 两次以上呢?

e.g

AB CD AF EF
2006-04-17 15:21
liming23
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-3-24
收藏
得分:0 
有一个地方不是很懂


为什么·是 char_a<65||(char_a>90&&char_a<97)||char_a>122

<65 >90
为什么不是
>65 <90

谢谢

2006-04-17 15:23
liming23
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-3-24
收藏
得分:0 
我整个程序是要 每 次 求 多组 两个字母之间的差
大写的A为1 B为2 C为3 。。。。Z为26, 小写的a 是27 b是28 z是52。

每次 输入
AB ab Cd AF

的值应该是
1 1 25 5

2006-04-18 17:29
快速回复:这是我写的程序,但不知道 错在哪个环节
数据加载中...
 
   



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

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