数字(南阳oj1162)(字符串处理)

数字

时间限制:1000 ms  |  内存限制:65535 KB

难度:0

描述
有一行数字 ,现在定义 0表示空格,即这行数字被分割成若干个数 要求将这些数按照从小到大顺序排列,若该行数字全为零 则表示为零,两个数字之间可能有多个0,开头和结尾可能都有0,所有的0都看成空格,数字的个数不超过100。

输入
输入有n组数据

每组数据都有一行数字(每个数在整形范围内)

输出
输出0或去掉多余空格的数据
样例输入
4
000
00123
12301
1230
样例输出
0
123
1 123
123
来源
原创
上传者

TC_蒋鑫博

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
	int test,i,j,len,k,ans,t,c,a[1000],b[1000];
	char s[1000];
	scanf("%d",&test);
	while(test--)
	{
		memset(a,0,sizeof(a));
		memset(b,0,sizeof(b));
		scanf("%s",s);
		len=strlen(s);
		for(i=0;i<len;i++)
		b[i]=s[i]-'0'; //注意要处理字符串。。。
		for(i=0,t=10,j=0;i<len;)
		{
			k=1;
			ans=0;
			c=i;
			while(b[c]!=0)
			{
				ans=b[c]+ans*t;
				k++;
				c++;
			}
			if(k!=1)
			{
				a[j]=ans;
				j++;
			}
			i+=k;
		}
		sort(a,a+j+1);
		if(a[j]==0)
		printf("0\n");
		else{
		for(i=1;i<j;i++)
		{
			printf("%d ",a[i]);
		}
		printf("%d\n",a[j]);}
	}
	return 0;
}
时间: 2024-10-12 14:08:21

数字(南阳oj1162)(字符串处理)的相关文章

java 数字转换成字符串

一.各种数字类型转换成字符串型:  public static void main(String[] args) { double value = 123456.123; String str = String.valueOf(value); // 其中 value 为任意一种数字类型. System.out.println("字符串str 的值: " + str); //字符串str 的值: 123456.123 } 二.字符串型转换成各种数字类型: public static vo

将数字转化为字符串的快捷方式

1.将数字转化为字符串的快捷方式 2.请彻底抛弃float类型,使用CGFloat或double,float不够精确. BOOL b1 = YES; BOOL b2 = NO; NSInteger t1 = 100000; int t2 = 200000; float t3 = 300000.02; CGFloat t33 = 300000.02; double t4 = 400000.0000003; NSNumber *num1 = @(123); NSNumber *num2 = @(12

Ajax请求php返回json对象数据中包含有数字索引和字符串索引,在for in循环中取出数据的顺序问题

//php中的数组数据格式 Array ( [all] => Array ( [title] => ALL [room_promotion_id] => all ) [best_available_rate] => Array ( [title] => Best Available Rate [room_promotion_id] => best_available_rate ) [30] => Array ( [room_promotion_id] =>

java 数字转换成字符串与数字转换成字符串

各种数字类型转换成字符串型: String s = String.valueOf( value); // 其中 value 为任意一种数字类型. 字符串型转换成各种数字类型: String s = "169"; byte b = Byte.parseByte( s ); short t = Short.parseShort( s ); int i = Integer.parseInt( s ); long l = Long.parseLong( s ); Float f = Float

从文件读取包含数字和字母字符串,统计每个字符出现的次数,将次数输出到另外一个文件

1 //2016年重大考研机试题目 2 //从文件读取包含数字和字母字符串,统计每个字符出现的次数 3 //输出格式,字符:次数并输出到另外一个文件 4 //需要在D盘下新建文件text.in 5 #include<stdio.h> 6 #include<stdlib.h> 7 #include<string.h> 8 9 int main() 10 { 11 FILE *fp_read, *fp_write;//读写文件指针 12 int count[36]; //存

Asp.net,C# 纯数字加密解密字符串

也就是说加密后的数据不再是:N8lAaHMFtSAQgaf3+RUFng== 希望encryptedString是"120387789370480938409832840923492384028934…”; 当然上面的数字是我随便乱敲的. 那么如何实现纯数字呢?? 想法很简单,只要将字符变成Ascll 码就可以了.例如a:97, =:61; 那么encryptedString 就可以变成 97 81 61 33 44 55 ...; 但是如果合在一起的话就变成了978161334455. 问题来

js字符串转换成数字,数字转换成字符串

js字符串转换成数字   将字符串转换成数字,得用到parseInt函数. parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseInt('123') : 返回 123(int): parseInt('1234xxx') : 返回 1234(int): 如果解析不到数字,则将返回一个NaN的值,可以用isNaN()函数来检测: 举例 : var i = parseInt('abc'); if (isNaN(i)) { alert('NaN value

将位数较多的数字看成是字符串

这是一道很贱的代码题,但是有一个新的私立,所以记录一下: 给出一个不多于5位的整数,要求 1.求出它是几位数 2.分别输出每一位数字 3.按逆序输出各位数字,例如原数为321,应输出123 新的思路: 1 就是讲你输入的数字看成是字符串,这样在同样的时间里,节省了内存空间 2 直接正序输出和倒序输出就行了. 3 4 #include<stdio.h> 5 #include<string.h> 6 int main() 7 { 8 9 10 char a[7]; 11 int i;

方便的将数字转成字符串类型并在前面补0

有的时候需要将数字转化成字符串来保存或使用.一般可以直接使用或者用str()转一个数据类型就好了. 但是有的时候对数字位数有要求,不足的位数前面用0补齐.比如1需要变成"01"或"001",处理类似工号的时候可能会有这种需求. 当然实现起来并不难,不过如何可以更加简洁方便的实现,而不是写一大堆的判断语句.找到一个一句判断语句也不需要的实现方法. num = input("请输入一个数字(范围0-999):") print(("00%s&

【Teradata SQL】从中文数字字母混合字符串中只提取数字regexp_substr

目标:从中文数字字母的字符串中只提取数字 sel regexp_substr('mint choc中文11国1','\d+') 原文地址:https://www.cnblogs.com/badboy200800/p/10792095.html