用c实现数组问题

问题描述:用户输入一个整数,要求用一个数组将整数的每一位存入到数组元素当中,最后输出用户输入的整数+1。
例:用户输入:99
输出:100
下面写实现方法:

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
    int i;
    int num;
    printf("输入数字的位数:");
    scanf_s("%d", &num);
    int a[99];
    a[0] = 0;                       //使数组首元素等于0
    for (i = 1; i <= num; i++){     //给数组元素赋值
        printf_s("输入第%d位数:", i);
        scanf_s("%d", &a[i]);
    }
    a[num] += 1;                    //使整数的最后一位+1
    for (i = num; i > 0; i--){      //如果碰到9,则进位
        if (a[i] == 9){
            a[i] = 0;
            a[i - 1] += 1;
        }
        else if (a[i] == 10){
            a[i] = 0;
            a[i - 1] += 1;
        }

    }
    if (a[0] == 0){                     //判断首位是不是0
        for (i = 1; i <= num; i++){     //不是则从数组的第二个元素输出
            printf("%d", a[i]);
        }
    }
    else{                               //是则从首位输出
        for (i = 0; i <= num; i++){
            printf("%dt a[i]);
        }
    }
    getchar();
    getchar();                  //使程序暂停
    return 0;
}

下面为程序运行结果
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值