| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5253 人关注过本帖
标题:请教:如何在程序运行是按ESC键退出程序??
只看楼主 加入收藏
心若止水
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2008-4-9
收藏
 问题点数:0 回复次数:9 
请教:如何在程序运行是按ESC键退出程序??
#include<stdio.h>
int main(void)                         /*求P以内的素数*/
{
    unsigned int key;
    unsigned char key1;
    long int i=0,a,p,m,r;
    clrscr();
    printf("\ninput a number p:");
    scanf("%ld",&p);
    for(m=2;m<=p;m++)
    {                                 /*m作为分子也既是被除数*/
        r=1;
        for(a=2;a<m;a++)
        if(m%a==0) r=0;
        if(r)
        {
            printf("%5ld",m);
            i++;
            if(i%12==0) printf("\n");
        }
    }
}
例如上述打印素数的程序,如果P值很大,运行是则会不停的翻屏打印,如何用ESC停止呢?
搜索更多相关主题的帖子: ESC 素数 int 
2008-05-06 16:29
hellbelial
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-4-29
收藏
得分:0 
代码:
#include <stdio.h>
#include <conio.h>
#include <bios.h>

int main(void)                         /*求P以内的素数*/
{
    unsigned int key;
    unsigned char key1;
    long int i=0,a,p,m,r;
    clrscr();
    printf("\ninput a number p:");
    scanf("%ld",&p);
    for(m=2;m<=p;m++)
    {                                 /*m作为分子也既是被除数*/
        if(kbhit())     /*检查是否按下了键*/
        {
            key = bioskey(0);
            if(key == 283)break;
        }
        r=1;
        for(a=2;a<m;a++)
        if(m%a==0) r=0;
        if(r)
        {
            printf("%5ld",m);
            i++;
            if(i%12==0) printf("\n");
        }
    }
    getch();
    return 0;
}
2008-05-06 18:43
心若止水
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2008-4-9
收藏
得分:0 
请问283是什么意思?是不是某个键的ASC码。
2008-05-07 12:24
心若止水
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2008-4-9
收藏
得分:0 
我运行了还是停不了。
2008-05-07 12:26
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
BIOS这种头文件MS比较旧了,可能在除了TC以外的编译器上可能通不过,所以一般要暂停运行的话,键盘上有个Pause Break按键,按这个就行了,再按一下就继续...

雁无留踪之意,水无取影之心
2008-05-07 12:27
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
你试试把283改成27试试

雁无留踪之意,水无取影之心
2008-05-07 12:29
心若止水
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2008-4-9
收藏
得分:0 
谢谢指点,我再试试。
2008-05-08 14:00
心若止水
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2008-4-9
收藏
得分:0 
该成27可以了,我查了下27是ESC的ASC码值。谢了![bc04]
2008-05-08 14:04
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
13是回车27是ESC,曾经在文曲星上面21~24是F1,F2,F3,F4,28~31是上下右左……哎,可惜现在都用不着了……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-09 03:36
bianfeng
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2007-11-28
收藏
得分:0 
VC下getch()可以的..我发过此类的帖子

欢迎长期在线的朋友加入此群:21135958
2008-05-09 08:11
快速回复:请教:如何在程序运行是按ESC键退出程序??
数据加载中...
 
   



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

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