| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1311 人关注过本帖
标题:【菜鸟自学】00002-----{循环控制}------(问题已在11楼解决)
取消只看楼主 加入收藏
s158298261
Rank: 1
来 自:郑州
等 级:新手上路
帖 子:13
专家分:0
注 册:2009-7-28
结帖率:0
收藏
 问题点数:0 回复次数:2 
【菜鸟自学】00002-----{循环控制}------(问题已在11楼解决)
编译环境:vc++6.0

程序目的:输入一个最多五位的数字。1.求共几位。2.分别打印每一位。3.逆顺序打印,如123,打印321.

错误程序:
-------------------------------------------
#include "stdio.h"
main()
{
    long a;int h,i,w[5];h=5;
    printf ("请输入一个五位数:");
    scanf ("%ld",&a);
    w[5]=(int)(a/10000);if (w[5]<=0) h-=1;a=a-w[5]*10000;
    w[4]=(int)(a/1000);if (w[4]<=0) h-=1;a=a-w[4]*1000;
    w[3]=(int)(a/100);if (w[3]<=0) h-=1;a=a-w[3]*100;
    w[2]=(int)(a/10);if (w[2]<=0) h-=1;a=a-w[2]*10;
    w[1]=a;

    printf ("总共%d位。\n各个位数为:",h);
   
    for (i=h;i<1;i--)
    {printf ("%d\t",w[i]);}
   
    printf ("\n反位输出为:");

    for (i=1;i>h;i++)
    {printf ("%d",w[i]);}
    printf ("\n");
}
-------------------------------------------------------
程序编译无错,但是结果和预想不符。。。。


结果:

请输入一个五位数:12345(回车)
总共5位。
各个位数为:
反位输出为:



即循环中的输出什么都没打印。我在程序中加过一个printf,打印w[1]-w[5],证明算法没错。应该是循环错了。。。

自己看不出所以然,望指教!

[ 本帖最后由 s158298261 于 2009-12-30 14:29 编辑 ]
搜索更多相关主题的帖子: 自学 
2009-12-29 19:54
s158298261
Rank: 1
来 自:郑州
等 级:新手上路
帖 子:13
专家分:0
注 册:2009-7-28
收藏
得分:0 
恩,感谢楼上。

我本身会用basic,我只是想通过一些程序熟悉各个函数的用法。毕竟是自学。

算法不是目的。

拜谢~
2009-12-29 20:11
s158298261
Rank: 1
来 自:郑州
等 级:新手上路
帖 子:13
专家分:0
注 册:2009-7-28
收藏
得分:0 
再次感谢xu362726904的帮助,两次都是您直接切中要害,一语点醒梦中人!

也感谢其他回答的朋友,谢谢大家对我的帮助!

2009-12-30 14:26
快速回复:【菜鸟自学】00002-----{循环控制}------(问题已在11楼解决)
数据加载中...
 
   



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

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