标题:Microsoft Visual C++ 6.0 位数输出与数字逆输出。
只看楼主
锡魂
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2012-10-28
结帖率:100%
已结贴  问题点数:30 回复次数:6 
Microsoft Visual C++ 6.0 位数输出与数字逆输出。

目前只能输出十位以下的数;希望大神们指教。希望能搞多几个数。
搜索更多相关主题的帖子: Microsoft 希望 
2012-10-30 17:23
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:10 
麻烦你把代码贴出来吧

DO IT YOURSELF !
2012-10-30 18:39
锡魂
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2012-10-28
得分:0 
回复 2楼 wp231957
#include <stdio.h>
void main()
{
    int x,i,b,c=0,d=1;
    int a[10];
    printf("x=:");
    scanf("%d",&x);
    if(x>=10){
   
        for(i=0;x>=10;i++)
        {
            a[i]=x%10;
            x/=10;
        }
        a[i]=x;}//最后一位数输出定义!
    else
    {
        i=0;
    a[i]=x;
    }
   
    for(b=i;b>=0;b--)
    {
        printf("%d\n",a[b]);//循环输出每位数!
    }
    printf("\n");  
    for(b=i;b>=0;b--)
    {
        
        c+=a[b]*d;d*=10;//逆数输出(逐渐升位)
    }
        printf("%d\n",c);
   
}


麻烦了!!
2012-10-30 18:44
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:10 
这和int类型的数值所能达到的最大值有关

各编译器处理的能力好像不一样

这个东西会就可以了  如果非要研究 就用字符串代替吧

DO IT YOURSELF !
2012-10-30 18:56
锡魂
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2012-10-28
得分:0 
回复 4楼 wp231957
怎么会我改了一下
#include<stdio.h>
#include<math.h>
void main(){
    unsigned __int64 num,sum=0,c=1;
    int i,b;
    int a[21];//类型原因,最大能到20位数!
    printf("please input a number:");
    scanf("%I64u",&num);
    printf("input number is %I64u\n ",num);
    if(num>=10){
        for(i=0;num>=10;i++){
            a[i]=num%10;
            num/=10;
            }
        a[i]=num;
    }
        else
    {
        i=0;
        a[i]=num;
    }


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

   
    for(b=i;b>=0;b--){
        
        sum+=a[b]*c;c*=10;
    }
    printf("%I64u\n",sum);
}
   
2012-10-30 19:49
锡魂
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2012-10-28
得分:0 
回复 4楼 wp231957
谢了
2012-10-30 19:50
zxd543
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:内蒙古
等 级:贵宾
威 望:17
帖 子:453
专家分:2351
注 册:2012-4-12
得分:10 
if(x>=10){
    for(i=0;x>=10;i++)
都改为 x>10试试
x=:153
1
5
3

351

马马虎虎 不吝赐教 我是路过蹭分滴
2012-10-30 19:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-385163-1-1.html




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

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