正值大一hhhh……
题目描述
四年的前的今天,你正想着我应该去哪里上什么样的大学,你想你会学…,结果是很幸运的来到了浙江中医药大学,啊哈,既然来了,就不废话了,这个时候的你应该可以帮我算算A+B。给你你俩数,你把第一个数的奇数位的数与第二个数的偶数位的数相加得到一个数,再把第一个数的偶数位和第二个数的奇数位相加得到一个数,再输出这两个新得到的数的和。
输入
输入两个数A,B《范围不超过 long long 》
输出
输出上述和
样例输入
123
456
样例输出
21
虽然还是大一,与题目不符 但看到了就做做ba
题目意思就是把每位数起来!
但这水题搞人。。。
wa了好几次才反应过来要分组测试。。。
#include <stdio.h>
#include <string.h>
int main (){
char a[200] = {0},b[200] = {0};
int i,sum;
while (~scanf("%s\n%s",a,b)){ // 分多组测试数据
sum = 0;
for (i = 0; i<strlen(a); i++){ //求第一个数的每位数的和
sum = sum + a[i]-48;
}
for (i = 0; i<strlen(b); i++){
sum = sum + b[i]-48;
}
printf("%d\n",sum);
}
return 0;
}
这里注意1)要 a[i]-48!!!才是数字
2)因为是分组测试 每一次结束后sum要归零
上面👆的是用字符的做法 因为题目说范围不过long long
直接用数值也阔以想下面👇这样
#include<stdio.h>
int a[100];
int b[100];
int main()
{
long long m,n,sum1,sum2;
while(~scanf("%lld%lld",&m,&n))
{
sum1=0;
sum2=0;
for(int i=0;i<30;i++)
{
a[i]=m%10;
m/=10;
sum1+=a[i];
}
for(int j=0;j<30;j++)
{
b[j]=n%10;
n/=10;
sum2+=b[j];
}
//printf("sum1 %lld sum2 %lld\n",sum1,sum2);
printf("%lld\n",sum1+sum2);
}
return 0;
}
(不过感觉还是字符的简单便捷。