c 整数的逆序输出 输入3,2就算 2+22+222的结果

#include<stdio.h>
#include<math.h>

//整数逆序输出
void nixu()
{
    int num,i;
    i = 0;
    scanf("%d",&num);
    int converse = 0;
    while(num>0)
    {
        i = num % 10;
        num /= 10;
        converse = i + converse*10;
    }
    printf("逆序后的整数为%d\n",converse);
}

//输入m,n 3 2  计算2+22+222的结果
void CalcpNum()
{
    int sum=0,num,m,n;
    scanf("%d%d",&m,&n);
    for(int i=1; i<=m; i++)
    {
        num = 0;
        for(int j=0; j<i; j++)
        {
            num += n*pow(10,j);
        }
        //sum += getNum(i,n);
        sum += num;
        if(i == 1)
            printf("%d",n);
        else
            printf("+%d",num);
    }
    printf(" = %d\n",sum);
}

int main(void)
{
    CalcpNum();
    nixu();
}

运行效果如下:

5 4

4+44+444+4444+44444 = 49380

 

123456789

逆序后的整数为987654321

 

 

 

 

posted @ 2015-04-04 17:15  林海云  阅读(468)  评论(0编辑  收藏  举报