| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2006 人关注过本帖
标题:一个老问题讨论
只看楼主 加入收藏
潜行者
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-12-29
结帖率:100%
收藏
 问题点数:0 回复次数:20 
一个老问题讨论
要求输入任意不大于5位数的正整数,输出这个数由是几位数组成,输出这个数并按反顺序输出.如123:输出由于三位数组成,123输出为321.自己研究的程序已实现第一和第步,但要求反顺序输出这个还不知道如何实现(在不用数组的情况下)
请各位大师帮小弟给个实现的方法,不需要源代码,只要方法.谢谢!.
#include "stdio.h"
void main()
{
  int a,b=5,i,c=10000;
  printf("请输入任意不大于五位数的一个正整数:");
  scanf("%d",&a);
  for(i=0;i<4;i++)
    {
     if(a/c>=1)
     break;
     else
     b--;
     c=c/10;
    }        
    printf("输入的为:%d位数\n",b);
    printf("这%d位数为:%d",b,a);
   
 }
搜索更多相关主题的帖子: 源代码 位数 整数 输出 
2008-01-04 18:37
ucxvkwfn
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-2-13
收藏
得分:0 
楼主,看不懂你说什么....你自己检查一下..
2008-01-04 18:40
潜行者
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-12-29
收藏
得分:0 
题目是:
输入任意一个不大于5位数的一个整数:要求输出:
1:要求判断输入的数由几位数组成;
2:按原样输出这个数
3:按逆顺序输出这个数:(如123输出为321)
2008-01-04 18:47
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
#include<stdio.h>

int main(void)
{
    int a, b, t;
    while(scanf("%d", &a) == 1)
    {
        b = 0;
        t = a;
        do
        {
            b *= 10;
            b += t % 10;
            t /= 10;
        }while(t);
        printf("反:%d\n", b);
    }
    puts("Done.");
    return 0;
}

—>〉Sun〈<—
2008-01-04 18:57
ucxvkwfn
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-2-13
收藏
得分:0 
用%来做怎么样?我贡献一条思路...
2008-01-04 18:59
潜行者
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-12-29
收藏
得分:0 
楼上的大哥谢谢了,不过小弟不要源代码,我只要一个实现这个功能的方法.谢谢!
方法>答案.这样小弟再遇上这样问题就自己可以解决了.
2008-01-04 19:00
ucxvkwfn
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-2-13
收藏
得分:0 
3楼的好象运行不出来哦
2008-01-04 19:02
ucxvkwfn
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-2-13
收藏
得分:0 
用求模来做,把5位数的值分别搞出来就行了,其它的都好做.
2008-01-04 19:03
ucxvkwfn
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-2-13
收藏
得分:0 
昨天看到一个程序是把秒换成小时/分/秒的.跟你这个用的像...你看看,个人意见哦.仅供参考.
/* illustrares the modulus operator. */
/* inputs a number of seconds and converts to hours 8*/
/*minutes, and seconds. */

#include<stdio.h>

/* Define constants */

#define SECS_PER_MIN 60
#define SECS_PER_HOUR 3600

unsigned seconds,minutes,hours,secs_left,mins_left;

int main(void)
{
/* input the number of seconds */

printf("Enter number of seconds (<65000):");
sscanf("%d",&seconds);

hours=seconds/SECS_PER_HOUR;
minutes=seconds/SECS_PER_MIN;
mins_left=minutes%SECS_PER_MIN;
secs_left=seconds%SECS_PER_MIN;

printf("%u seconds is equal to",seconds);
printf("%u h,%u m,and %u s\n",hours,mins_left,secs_left);

getch();
return 0;
}
2008-01-04 19:08
潜行者
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-12-29
收藏
得分:0 
小弟的程序如下,求模还没有学到所以暂时做不出来.上面的程序也没有提到求模方法,小弟参悟不出来.只能做出前两步:请大哥看看下面这个程序还可以简化看起来专业点不?
#include "stdio.h"
void main()
{
  int a,b=5,i,c=10000,j,k;
  printf("please enter:");
  scanf("%d",&a);
  for(i=0;i<4;i++)
    {
     if(a/c>=1)
     break;
     else
     b--;
     c=c/10;
    }        
    printf("输入的为:%d位数\n",b);
    printf("这%d位数为:%d",b,a);   
 }
2008-01-04 19:27
快速回复:一个老问题讨论
数据加载中...
 
   



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

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