c - 怎样把数字变成两位数

标签 c

我在如何计算任意数字的两位数时遇到问题。

例如,使用函数和循环,数字:12345 输出将是 1122334455。

#include <stdio.h>
int main() {
int num;
printf("Please Enter a number");
scanf("%d",&num);
for(int i=0;i<=num%10;i++) {
       if(i==num%10)
             newNum+=i;
for(int i=1;i<=num%10;i++) {
       if(i==num/10%10)
             newNum+=i;

最佳答案

我假设您不必存储具有重复数字的值,因为将其存储为 int 会很快溢出。如果必须的话,可以使用 long long 或数组。

你的for循环没有意义。您必须循环直到所有整数都被复制。为此,请确定 mod 10 的个位,然后将 number 除以 10。它将循环直到 number 为 0。试试这个。

#include <stdio.h>

int main(void) {

    int number;
    int temp;

    printf("Enter an integer: ");
    scanf("%d", &number);

    while(number) {
        temp = number % 10;
        printf("%d%d", temp, temp);
        number /= 10;
    }
    return 0;
}

关于c - 怎样把数字变成两位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55320142/

相关文章:

c - 三元运算符的替代

c - 警告 : left shift count >= width of type

c - c包括,防止冗余代码

c - 位移超出允许范围

objective-c - 如何在 Objective-C 中将方法转换为 MACRO

ios - 如何在 iOS 上设置 UDP 的“不分段”标志?

C使用函数参数返回值

c - 用于读取的原子 block 与 ARM SysTicks

c - 编译器在c中分配垃圾值的贡献

C随机数生成器产生相同的数字