[初学c++]我的代码哪有问题。。。

题目
3-5难度系数1 输出整数各位数字 (5 分)
本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。

输入格式:
输入在一行中给出一个长整型范围内的非负整数。

输出格式:
从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。

输入样例:
123456
输出样例:
1 2 3 4 5 6

写了两种
(一)

 #include <iostream>
using namespace std;
int leng(long a);
int main()
{
    long x; cin >> x; int i = leng(x),z=leng(x);
    int * num = new int[i]; if (x == 0)cout << "0 ";
    while (x != 0) {

         num[i]=x%10;i--;
        x /= 10;
    } for (int y = 1; y <= z; y++)
    {
        cout << num[y] << " ";
    }
    return 0;
}
int leng(long a) {
    using namespace std;
    int leng = 0;
    while (a > 0) {
        a /= 10;
        leng++;
    }
        return leng;
    }

测试点 提示 结果 耗时 内存

0 sample等价 运行时错误 3 ms 384KB

1 只有1位 答案正确 2 ms 420KB

2 零 答案正确 2 ms 404KB

(二)

 #include <iostream>
using namespace std;
int main()
{
    long n,x;
    int  num, temp;
    cin>>n;
        x = n;
        int k = 1;
        temp = 0;
        while (x!=0)
        {
            temp++;
            k *= 10;
            x /= 10;
        }
        x = n;
        if (n == 0)cout << "0 ";
        while (temp!=0)
        {   k /= 10;
            num = x / k;
            x %= k;
            cout << num<<" ";
            temp--;
        }
        return 0;

}

测试点 提示 结果 耗时 内存

0 sample等价 浮点错误 2 ms 512KB

1 只有1位 答案正确 2 ms 496KB

2 零 答案正确 2 ms 384KB

c++
0

2个回答

注意,是长整数范围,你输入6666666666
第一个程序没有输出
第二个程序输出-8 -5 -8 -9 -9 -3 -4 -6 0

你可以这么写:

#include <iostream>
using namespace std;

int main()
{
    long x; cin >> x;   
    char temp[100];
    ltoa(x, temp, 10);
    for (int i = 0; i < strlen(temp); i++)
        cout << temp[i] << " ";
    return 0;
}
1

第一段代码:
如果i=5,通过“int * num = new int[i];”语句分配的int数组,你可以访问的下标是0~4,但是你在你在while和for循环中,
对数组的下标,分别会从5-1和1-5,这是不对的。
把第一段代码:

while (x != 0) {
num[i]=x%10;i--;
x /= 10;
}
for (int y = 1; y <= z; y++)

改成:

while (x != 0) {
num[i-1]=x%10;i--;
x /= 10;
}
for (int y = 0; y < z; y++)

应该就没问题了。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
皇后问题求解C语言代码
这是我C语言初学的时候,做的皇后问题的代码,代码还有很多可以改进的空间希望能帮助到初学者
C语言入门(一)C语言第一个程序
C语言入门系列/我的第一個C程式 計劃寫一個部落格,以正體字為主,對於習慣簡化字的朋友儘量體諒一下,我本人更傾向正體字。 先說說這個語言給我的第一印象。雖然說很廣泛的使用,但不是可視化界面還是不太能接受。但考慮到C語言、CPP的廣泛使用,就考慮學習這門語言。 C語言的基本固定格式 ** LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 ...
初学C语言需要了解的代码(一)
      初学C语言,我们要善于探索,在思考中发现问题,我将会根据自己的学习进度分享一些初学者应该了解的几个简单的程序,了解这些程序更有助于C语言的入门:        9*9乘法表:#include&amp;lt;stdio.h&amp;gt; int main() { ...
初学的c语言一些简单的练习题(自我练习)
1.打印99乘法表#include int main(){ int i, j; for (i = 1; i <= 9; i++){ for (j = 1; j <= i; j++){ printf("%d*%d=%d\t", j, i, i*j); if (i == j){ printf("\n"); } } } system("
C程序初学入门 代码
C程序初学入门 代码C程序初学入门 代码C程序初学入门 代码C程序初学入门 代码
零基础初学c语言常见的10个错误
时光匆匆,新的学年又即将要来临。很多有意愿报我们学院的准学弟学妹们,都开始提前学习c语言这门功课。 如有小伙伴想自学,可以进群731871503进行交流学习,提升编程,共同进步 但是很多学弟学妹们之前都没有学习过太多相关的具体知识,因此经常犯一些非常基础的低级错误,所以今天提前为学弟学妹们解决一些无基础初学c语言常见的错误,希望能够帮助学弟学妹们少走一些弯路。 1、忽略了变量的类型,进行了不合法...
C语言实验——买糖果
Problem Description小瑜是个爱吃糖果的馋鬼,天天嚷着要爸爸买糖果,可是爸爸很忙,哪有时间啊,于是就让小瑜自己去了,糖果3角钱一块,爸爸给小瑜n元钱,请你告诉小瑜最多能买几块糖,还剩几角钱?Input输入爸爸给小瑜的钱n元,n为整数。Output小瑜最多能买回的糖块数以及剩下的钱(单位为:角),用空格分隔。Sample Input2Sample Output6 2import ja...
C语言初学者练习题大全
C语言初学者练习题大全,二级考试必备!非常适合初学者或初级比赛,看家本领必经之路,能内有大量试题各种题型齐全!
经典C程序100例(适合初学者练手)
c语言的基本练习题,每个例子带有部分注释,资源是chm格式,很省空间的。适合初学者练手用哦!
C语言基础代码训练(适合初学者)
一些简单的C语言上手代码,非常适合与初学者,希望对大家有帮助
JAVA代码比较器安装文件
代码比较器,安装文件,用来比较两个文件的代码哪有不同之处
MapX初学,开发环境建立,及相关代码
MapX初学,开发环境建立,及简单代码,很好用,希望能帮到大家。有问题的可以联系我。
C语言阶段——需要注意的小细节
  持续更新。。。。。。。           1.       int  a;       定义全局变量                 如果不给初值    系统自动给a赋0    但定义局部变量时             如果不给初值    就是一个随机值     2.scanf()函数 里  别放多余的东西   就放一个标准输入格式符就好              ...
C语言初学者代码
初学者集锦
初学C#时写的代码打包
这个是我初学C#时写的代码,我个人感觉很适合初学者,里面详细的描述了C#的基本概念问题...
我的妹妹哪有这么可爱XP主题
如题:我的妹妹哪有这么可爱的xp主题 就是这样
编程初学者的4大网站(免费)
小编推荐4个好的网站(英语),他们分别是(英语网站) 1、https://www.codecademy.com/ 2、https://www.codeavengers.com/ 3、https://www.codeschool.com/ 4、https://teamtreehouse.com/
C语言入门案例代码总汇
C语言入门二十个案例代码总汇,字符串、数组、指针、结构体等等
C语言必背18个经典程序
C语言中必背的18个经典程序,好面试
初学者使用代码
这是一个C语言初学者可以使用的经典小程序名字叫做“你好,世界!”(英文的)
c语言学习代码
c语言代码,初学c编写的代码,供初学者参考
CompassView罗盘源代码
主要完成了android自定义控件的基本流程,完成了罗盘的绘制
初学C语言感想。
作为一名菜鸟级C语言学习者,接触这个语言也差不多一个月了,个人有些感想。       首先我感觉很不可思议(因为之前根本没接触过)的是它是一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。非常适合入门学计算机的人群,通过几次作业,我发现这是一门需要多练的课,因为编写中有许多固定的东西,只要多练几次,应该没什么问题。还有就是新语句的问题,遇到全新
网络资源下载网址
屏幕录像、图像处理,汉化和破解版本很新。国内破解汉化:大眼仔旭 http://www.dayanzai.me/ 开发工具,系统,数据库 http://msdn.itellyou.cn/ 图片素材,设计素材 http://www.zcool.com.cn 图片素材,设计素材 http://www.redocn.com 制作词云图 http://www.tagxedo.com/app.html...
C语言初学常用代码
适合刚入门的C语言初学者参考学习的C程序代码,及错题集合
material-calendarvie 使用记录,以及一些属性的修改。
1.设置选择的背景色 mCalendarView.setSelectionColor(Color.parseColor(&quot;#dd5050&quot;)); 2.修改选中背景颜色的大小(这里是减少10dip) DayView中 private void calculateBounds(int width, int height) { final int radius = Math.min(heigh...
请大家给我作为C语言初学者一个建议
本人面前正在学习C语言,请各位大牛们给个学习的建议,和学习的规划 ! 万分感谢 。
java学习问题及聊天代码
java初学学习问题,面试问题及聊天代码..
寻找毕达哥拉斯三元组的C语言
寻找毕达哥拉斯三元组的C语言代码 纯C语言代码 C语言初学课程需要
人工智能项目源代码C++语言
进过长时间的努力终于开发了能够真正的理解知识,学习知识的人工智能证明了我的理论的正确性和可行性,虽然后面的开发还很漫长,但能成功地走出第一步就足以振奋人心,只要一路走下去,成功就不是梦想,如今我把程序源代码发出来给大家学习研究。
C语言入门的第一个小程序
    大部分程序员入门的第一个小程序都是Hello World,还记得当时大一的时候,我室友还特意为了这个发了个说说,现在想起来好有意思,哈哈好了废话不多说,直接干。(PS:如果学过自动忽略)#include &amp;lt;stdio.h&amp;gt;int main(){    printf(&quot;Hello World!\n&quot;);    return 0;}好了,以上一个简单的小程序就完成了。       ...
哪有没时间这回事(完整版)-时间管理书籍
接地气的时间管理书:《哪有没时间这回事》 pdf完整版。
C语言编程代码,适合初学者
初学者学习C语言,看不懂代码,一段简单的代码可以查看,有助于学习
哪有没时间这回事-时间管理书籍
哪有没时间这回事(完整版)-时间管理书籍
我的python入门心得
我的python入门心得 背景介绍,为什么是python ​ 我大概半年前开始业余时间学的,本身大学学的也是软件,虽然没接触过python,但我觉得应该学习成本也不高。去菜鸟教程看了下,http://www.runoob.com/python3/python3-tutorial.html。掌握一些基本东西就可以。学习时间大概3小时。 数据类型:string,int,l...
五子棋 (linux下c语言编写)
完成品,很诡异的电脑,一般人都下不赢。是在linux下面用GCC直接编译,在终端执行的。
C语言必背的几个代码
这是C语言初学者应该用到的代码,学好C语言没有必要的储备是不行的
供初学C语言的朋友用turboc2.0
供初学C语言的朋友用 我的地址www.tlx_x.51.com
C语言实例及代码
这是我学习C语言时,自己整理的实例及代码,里面介绍的很详细,对初学c语言的同学会大有帮助!
Servlet,JSP和Spring MVC 初学指南源码
Servlet,JSP和Spring MVC 初学指南源码