c++编程问题
问题补充:
怎么使输出的三行数字按个位对齐格式输出?前两行是加数,最后一行是和且和最高位前没有多余空格。
例如:12+665=677
输入 12 665
输出 12
665
677
谢谢!
最佳答案
程序参考:
结果
====输入
123 45678
======输出
123
45678
45801
追问:
谢谢!以下编程就差个位对齐,你能帮忙看一下,提一下修改意见吗?#include#includeusing namespace std;void add(int const*a,int const*b,int*c){c[0]=a[0]>b[0]?a[0]:b[0];int t=0,i;for(i=1;i 追答:
补充提问会吃<后面的程序,你最好重新开一贴
追问:
表示发不出去。
追问:
也不能向你提问,因为类似问题.... 追答:
那就发个图上来看下(截下屏)
追问:
这个!

你的只是正常输出,没有控制输出宽度,printf完整的格式化符为% [flags] [width] [.prec] [F|N|h|l|L] type_char其中width就是输出宽度我的程序是先计算c的位数(它肯定是最长的)然后是以它的宽度为标准,右对齐,输出内容(这样就符合你的要求了)我的做法是先将格式化串放入一个字串变量s,然后用它作为格式化输出你完全可以参考我的做法另外, 不清楚你的add函数的意义,你程序中根本没有用到对新的编译器(支持C++0x标准以上),64位的加法本身就是支持的.不用自己写的
追问:
好的。不过我试了一下你的程序,好像好点问题。测试时直接输出了777有点不懂。 追答:
我的程序都是经过测试的,你可能输错了某个字符,新的程序以下是结果


追问:
谢谢,是我输错了!
最佳答案由网友 whoami1978 提供
其他回答
其它网友回答:
whoami1978答案正确!
追问:
你试过了吗?我试一下好像有点问题耶。