| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 403 人关注过本帖
标题:调试了半天。。也不知道问题出现哪里。求高手
只看楼主 加入收藏
qq23826868
Rank: 2
等 级:论坛游民
帖 子:57
专家分:94
注 册:2013-4-7
结帖率:85.71%
收藏
已结贴  问题点数:10 回复次数:3 
调试了半天。。也不知道问题出现哪里。求高手
程序代码:
#include "stdio.h"
void main()
{
    long int num;
    int space;
    int ge,shi,bai,qian,wan;  //定义 个位,十位,百位,千位,万位
    printf("输入一个数(0~99999)");
    scanf("%ld",&num);
    if(num>99999||num<0)printf("输入错误,请重新输入");
    scanf("%ld",&num);
    if(num/10>1000)space=5;
    else if(num/10>100)space=4;
    else if(num/10>10)space=3;
    else if(num/10>1)space=2;
    else space=1;
    printf("位数=%d",space);
    wan=num/10000;     //求出万位的值
    qian=num/1000%10;   //同上
    bai=num/100%10;       //同上
    shi=num/100%10;
    ge=num%10;
    switch(space)
    {case 5:printf("输入的每一位=%d%d%d%d%d",wan,qian,bai,shi,ge);
        printf("逆序的数=%d%d%d%d%d",ge,shi,bai,qian,wan);
        break;
    case 4:printf("输入的每一位=%d%d%d%d",qian,bai,shi,ge);
        printf("逆序的数=%d%d%d%d",ge,shi,bai,qian);
        break;
    case 3:printf("输入的每一位=%d%d%d",bai,shi,ge);
        printf("逆序的数=%d%d%d",ge,shi,bai);
        break;
    case 2:printf("输入的每一位=%d%d",shi,ge);
        printf("逆序的数=%d%d",ge,shi);
    case 1:printf("输入的每一位=%d",ge);
        printf("逆序的数=%d%d%d",ge);
        break;}
}


我输入一个数 为什么输入的数不对。。。倒序的数也不对。。。纠结。


题目:给一个不多于5位的正整数,要求:
1.求出它是几位数
2.分别输出每一位数
3.倒序输出每一位数
//程序是编出来了,,但是结果是不对啊。。



[ 本帖最后由 qq23826868 于 2013-4-24 23:04 编辑 ]
2013-04-24 22:59
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:10 
shi=num/10%10;


[fly]存在即是合理[/fly]
2013-04-24 23:06
qq23826868
Rank: 2
等 级:论坛游民
帖 子:57
专家分:94
注 册:2013-4-7
收藏
得分:0 
以下是引用azzbcc在2013-4-24 23:06:07的发言:

shi=num/10%10;
额。。。非常感谢。。。
这要说什么好呢。。
有没有更简单的算法呢
2013-04-24 23:08
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
程序代码:
#include <stdio.h>

int main()
{
    long n;
    int i, a[5], len = 0;

    scanf("%ld", &n);

    while (n)
    {
        a[len++] = n % 10;
        n /= 10;
    }
    
    printf("%d\n", len);

    for (i = len-1;i >= 0;--i)
    {
        printf("%d", a[i]);
    }
    printf("\n");

    for (i = 0;i < len;++i)
    {
        printf("%d", a[i]);
    }
    printf("\n");
    return 0;
}


[fly]存在即是合理[/fly]
2013-04-24 23:17
快速回复:调试了半天。。也不知道问题出现哪里。求高手
数据加载中...
 
   



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

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