思路
字符数字转换
#include<iostream>
using namespace std;
int main()
{
char a; cin >> a;
int n; cin >> n;
int k = 1;
long long sum = 0, num = 0;
for(int i = 1; i <= n;i++)
{
for(int j = 1; j <= i;j++)
{
num = num + (a - '0')*k;
k = k*10;
}
sum = sum + num;
num = 0;
k = 1;
}
cout << "s = " << sum;
}
题挺简单的,但写的过程也有不少错误
1.
long long sum = 0, num = 0;//虽然最长9位,但还是用long long, 这个地方是大坑
long long sum = 0, num = 0;
这里第一次写的时候忘记赋初值,还在纠结为什么结果与推出来的有差距
296 与 246
3.
sum = sum + num;
num = 0;
k = 1;
这里这里,第一次没有重新赋值,运行结果与实际差距很大 22222 与 246
4.
cout << "s = " << sum;
这里这里,不按要求输出就是“编译错误”!!!!!!!!

博客围绕字符数字转换题展开,虽题目简单,但编写过程中出现不少错误。如首次编写时忘记赋初值,导致结果与推导有差距;未重新赋值使运行结果与实际差距大;不按要求输出会造成编译错误。
1133

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



