| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2315 人关注过本帖
标题:求程序输入0退出
只看楼主 加入收藏
hfhf2006
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:169
注 册:2012-6-29
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:9 
求程序输入0退出
坛子有人提出题目“在一堆数中打印出比k小的值,不能用if,else,for,while等语句。”我编写程序如下
程序代码:
#include "stdio.h"
#include "stdlib.h"
void main()
{   void f(int k);
    int k;
    scanf("%d",&k);
    f(k);
}

void f(int k)
{
    int x;
    scanf("%d",&x);
    x<k?printf("\n%d\n",x):(x==0?exit(0):x);
    f(k);

}


程序写出了,但是输入0,程序不能退出,谁解决一下

[ 本帖最后由 hfhf2006 于 2012-11-6 10:05 编辑 ]
搜索更多相关主题的帖子: 编写程序 打印 
2012-11-06 09:59
张朝成
Rank: 4
等 级:业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
收藏
得分:0 
x<k?printf("\n%d\n",x):(x==0?exit(0):x);
这句意思是说 如果X小于K就输出X的值,否则就执行后面的语句)(x==0?exit(0):x);并不是输入0程序结束啊。如果x=0,k=1;程序也不会结束嘛。只有当在输入的数大于前面得到的结果是程序才结束的。
2012-11-06 12:54
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
收藏
得分:0 
int main(void)
{int n=1;
while(n==0)
  {
   各种语句
   
printf("输入0退出。");
scanf("%d",&n);
   }
}

去追寻更高的技术领域。永不停止。
2012-11-06 13:02
liman123
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:79
专家分:178
注 册:2012-10-6
收藏
得分:0 
楼主的想法是对的,不能用循环就只有用递归了!
用你的代码输入零时,输入两次才能退出!
应该没有什么大问题,好像就是程序层次问题.
2012-11-06 15:13
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:0 
程序代码:

x<k?printf("\n%d\n",x):(x==0?exit(0):x);//解读一下你的程序当x>=k时才执行x==0?exit(0):x 

x ? ( x<k ? printf("\n%d\n",x),f(k) : f(k) ) : exit(0);






[ 本帖最后由 C_戴忠意 于 2012-11-6 15:25 编辑 ]

编程之路定要走完……
2012-11-06 15:19
天剑山
Rank: 4
等 级:业余侠客
威 望:3
帖 子:119
专家分:266
注 册:2012-8-3
收藏
得分:0 

int a;
printf("Input 0to quit:");
scanf("%d", &a);
if( a==0 )
   return 0;
之后随便
2012-11-06 15:23
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:10 
程序代码:
#include "stdio.h"
#include "stdlib.h"
void main()
{   void f(int k);
    int k;
    scanf("%d",&k);
    f(k);
}

void f(int k)
{
    int x;
    scanf("%d",&x);
    x ? ( x<k ? printf("\n%d\n",x),f(k) : f(k) ) : exit(0);
}

编程之路定要走完……
2012-11-06 15:26
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:0 
回复 3楼 StarFall
不能用if,else,for,while等语句
你能不能看看楼主的意思??

编程之路定要走完……
2012-11-06 15:27
hfhf2006
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:169
注 册:2012-6-29
收藏
得分:0 
回复 6楼 天剑山
看题目,不能用if
2012-11-08 09:30
hfhf2006
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:169
注 册:2012-6-29
收藏
得分:0 
回复 7楼 C_戴忠意
正确,采纳啦
2012-11-08 09:34
快速回复:求程序输入0退出
数据加载中...
 
   



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

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