本题坑点:
1.计算b[i]的值时可能会超出int的范围,所以b[i]的数据类型为long long,同时也需要将a数组的的数据类型也设置为long long
代码如下
#include <iostream>
using namespace std;
int main(){
long long a[3]={493,29,1};
int c,d,e;
long long b[2];
for (int i=0;i<2;i++){
scanf("%d.%d.%d",&c,&d,&e);
b[i]=c*a[0]+d*a[1]+e*a[2];
}
long long sum=b[0]+b[1];
long long d1=sum/493;
sum-=d1*493;
long long d2=sum/29;
sum-=d2*29;
long long d3=sum;
printf("%lld.%lld.%lld",d1,d2,d3);
return 0;
}
本文介绍了一个使用C++进行大数运算的实例,通过longlong数据类型避免整数溢出,实现从特定格式输入到另一格式的转换。代码展示了如何读取类似日期的输入,将其转换为大数值,再进行算术运算,最后将结果转换回原始格式输出。
299

被折叠的 条评论
为什么被折叠?



