| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 641 人关注过本帖
标题:{求救}小弟刚学c语言,老师布置了一个题目,请大家赐教
只看楼主 加入收藏
yioge
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-12-18
收藏
 问题点数:0 回复次数:6 
{求救}小弟刚学c语言,老师布置了一个题目,请大家赐教

编程实现以下功能,当运行程序时重复按任意字符(除了回车键时)在屏幕上轮流显示HELLO!和hi,按回车时结束运行。 下面是我编的程序:

#include <stdio.h> main() { char a; int i=0; scanf("%c",&a); while(a!=13) { if(i==0) { printf("hello\n"); i=1; } else if(i==1) { printf("hi\n"); i=0; } printf("input other\n"); scanf("%s",&a); } printf("out of while"); } 回车字符的ascii码是13,但是怎么才能把回车输入到变量a中; 我每次敲回车键的时候a中的数据还是上一次输入的数据. 请大家帮忙 谢谢

搜索更多相关主题的帖子: c语言 老师 
2004-12-18 19:22
yioge
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-12-18
收藏
得分:0 

如果我把 while(a!=13) 改成while(a!=60) 即输入@后跳出循环,运行后能够跳出循环.

但是就是无法输入"回车"后跳出循环

2004-12-18 19:26
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 
以下是引用yioge在2004-12-18 19:22:06的发言:

编程实现以下功能,当运行程序时重复按任意字符(除了回车键时)在屏幕上轮流显示HELLO!和hi,按回车时结束运行。 下面是我编的程序:

#include <stdio.h> main() { char a; int i=0; scanf("%c",&a); while(a!=13) { if(i==0) { printf("hello\n"); i=1; } else if(i==1) { printf("hi\n"); i=0; } printf("input other\n"); scanf("%s",&a); } printf("out of while"); } 回车字符的ascii码是13,但是怎么才能把回车输入到变量a中; 我每次敲回车键的时候a中的数据还是上一次输入的数据. 请大家帮忙 谢谢

改成:%c


2004-12-18 22:07
yioge
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-12-18
收藏
得分:0 

谢谢斑竹, 但是我照你的意思改了以后.还是有问题:

1, 输入一个字符"a"后,需要回车确认"a",这时程序根本就没有停在scanf("%c",&a);a中的内容已经是回车字符了.但没有跳出循环.

2,为了跳出while循环,我把while(a!=13)改成了while(a!='\n'),这时可以跳出循环,但是问题是:输入一个字符"a"后,需要回车确认"a",这时程序自动跳出了循环.

2004-12-19 10:05
yioge
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-12-18
收藏
得分:0 
我是想单独输入"enter"以后,程序自动跳出循环, 谢谢
2004-12-19 10:07
txbhj
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2004-12-19
收藏
得分:0 
我也一直想知道这个问题!期待.......

我本菜鸟, 请多关照
2004-12-19 16:50
yioge
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-12-18
收藏
得分:0 
后来自己做出了答案 与大家共享 谢谢大家的指导
#include &lt;stdio.h&gt;
main()
{    char a;
     int  i=0;
     printf("input first\n");
     a=getche();
     while(a!='\r')
      {               
          if(i==0)
            {
            
              printf("\n hello \n");
              i=1;
            }
          else if(i==1)
             {  
               printf("\n : \n");
               i=0;
            }
         printf("input other character\n");
         a=getche();   
      }
       printf("program is over ");  
}   
2004-12-19 20:26
快速回复:{求救}小弟刚学c语言,老师布置了一个题目,请大家赐教
数据加载中...
 
   



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

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