c语言:于龙加
于龙加
任务描述
于龙同学设计了一个特别的加法规则,加法被重新定义了,我们称为于龙加。
两个非负整数的于龙加的意义是将两个整数按前后顺序连接合并形成一个新整数。
于龙想编程解决于龙加问题,可是对下面的程序他没有思路!
#include<stdio.h>
int main(){
int a,b,c;
scanf(“%d%d”,&a,&b);
//请在此补充代码后提交
printf(“%d”,c);
return 0;
}
输入格式:
空格分隔的两个整数。两个整数都是小于10000的非负整数。
输出格式:
一个整数。
输入示例1
123 456
输出示例1
123456
输入示例2
123 0
输出示例2
1230
输入示例3
0 0
输出示例3
0
代码
#include <stdio.h>
int main() {
int a, b, c;
scanf("%d%d", &a, &b);
if (b == 0) {
c = a * 10;
}
else {
// 计算第二个数的位数,以便确定第一个数需要乘以的倍数
int temp = b; // 临时变量,用于计算位数
int digitsB = 0; // 用于存储第二个数的位数
while (temp > 0) {
temp /= 10; // 除以10,直到数变为0
digitsB++; // 位数加1
}
// 计算第一个数需要乘以的倍数,确保位数能够容纳第二个数
int multiplier = 1; // 初始化倍数为1
while (digitsB > 0) {
multiplier *= 10; // 乘以10,直到达到第二个数的位数
digitsB--; // 每次循环位数减1
}
c = a * multiplier + b;
}
printf("%d", c);
return 0;
}