c++编程问题

原问题:c++编程问题
分类:编程开发 > 最后更新时间:【2017-07-26 05:48:42】
问题补充:

怎么使输出的三行数字按个位对齐格式输出?前两行是加数,最后一行是和且和最高位前没有多余空格。

例如: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  提供
  • 公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
    1

    分享到:

    其他回答

    其它网友回答:
    whoami1978答案正确!


    追问:
    你试过了吗?我试一下好像有点问题耶。