字符串里面是数值,且不受字数限制。
如两个字符串相加“121343435”+“3453245”,设计的程序是:个位与个位相加,满10进1,十位于十位相加...
如果设计的乘法,也是个位先和个位相乘...完了错开一位相加
采取最原始的方法,就像小学学习四则运算一样,一步一步进行
不能把字符串先转换为int等类型在进行运行,因为int类型储存数值长度短,这个程序设计的意义就是可以进行不受字数限制的四则运算。
谢谢各位大神啦,设计+-*/ ,希望可以多一些注释,尽可能详细。因为刚接触C#,这是课堂作业。超级感谢!!
可以看到这个程序超位数运行正常,第一个运行22位,第二个运行46位,可以发现该代码有值得优化的地方,就是超过数字2位数后可以不用循环运算,直接跳出循环,用截取去合成最终结果,可以提高运算速度。
把思路给你说了把 这样自己去写会有成就感 而且中间太繁琐
第一步: 把字符串的每个字符取出 倒着存进数组 数组Array1 = {5,3,4,3,4,3,1,2,1}; 数组array2= {5,4,2,3,5,4,3};
第二步:两层for循环
// 第一层循环是第一个数每个数都循环一遍
for (int i = 0; i < array1.count; i++) {
// 第二层循环 可以让每个位置对应相加 减 乘 除
for (int j = 0; j < array2.count; j++) {
// 判断符号
if (是 +) {
// 接收这俩个数相加的结果
int num = array1[i] + array2[j];
if (num > 10) {
// 大于10 就给前面一位加1
array1[i + 1] + 1;
int num2 = num - 10;
// 在前面声明一个字符串 一直进行拼接 得到结果
} else {
// 不大于10 直接拼接结果就行 按照这个思路把+ - * \ 写了就行了 相信你
}
}
}
}