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

目前只能输出十位以下的数;希望大神们指教。希望能搞多几个数。
搜索更多相关主题的帖子: Microsoft 希望 
2012-10-30 17:23
锡魂
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
锡魂
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



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




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

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