高手们,帮帮忙,这道小题我不会。。

幸福小吜 2011-07-16 10:30:56
[b][b]输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整

数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。

输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。

输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。

输出数据也只有一行,是分割得到的整数排序的结果,相邻的两个整数之间用一个空格分开。

例如:输入:0051231232050775, 要输出: 0 77 12312320

这道题我感觉得用数组解决,但是,我不会把定义的数组中的那些数提取出来,而且让他们成为十进制的数,高手们帮忙给小

弟指点指点,谢谢了。。。。
...全文
121 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
幸福小吜 2011-07-16
  • 打赏
  • 举报
回复
我还想知道的是如何把用5分割成的每个数组提取,再通过一种方式,例如再用若干个数组表示出来,这个步骤

应该怎么实现呢??
c_losed 2011-07-16
  • 打赏
  • 举报
回复
/* ATOF.C: This program shows how numbers stored
* as strings can be converted to numeric values
* using the atof, atoi, and atol functions.
*/

#include <stdlib.h>
#include <stdio.h>

void main( void )
{
char *s; double x; int i; long l;

s = " -2309.12E-15"; /* Test of atof */
x = atof( s );
printf( "atof test: ASCII string: %s\tfloat: %e\n", s, x );

s = "7.8912654773d210"; /* Test of atof */
x = atof( s );
printf( "atof test: ASCII string: %s\tfloat: %e\n", s, x );

s = " -9885 pigs"; /* Test of atoi */
i = atoi( s );
printf( "atoi test: ASCII string: %s\t\tinteger: %d\n", s, i );

s = "98854 dollars"; /* Test of atol */
l = atol( s );
printf( "atol test: ASCII string: %s\t\tlong: %ld\n", s, l );
}
幸福小吜 2011-07-16
  • 打赏
  • 举报
回复
atoi怎么用啊 ,这个我不知道,能不能用一些更加普遍的方法啊?谢谢了。。
bdmh 2011-07-16
  • 打赏
  • 举报
回复
现根据5自己分割成字符数组,然后用atoi转换为整数
xjmlj2010 2011-07-16
  • 打赏
  • 举报
回复
有点难
Xomic 2011-07-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 rodney111 的回复:]
atoi怎么用啊 ,这个我不知道,能不能用一些更加普遍的方法啊?谢谢了。。
[/Quote]

我看懂了这个,顺便给你说下!其他的等待高手
Xomic 2011-07-16
  • 打赏
  • 举报
回复
int i=0;
char ch[6]="12345" //这里是数组
i=atoi(ch);
cout<<i<<endl; //这里将ch转换成 整形 所以i=12345;

显示 12345

记得头文件
#include<stdlib.h>

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧