1989-字符串分割

【C系列5.4】指针专题之分割字符串 1989

Time Limit:  1 s      Memory Limit:   32 MB
Submission:241     AC:75     Score:19.88

 

Description

Alex的好朋友都去生猴子了,所以她只好百无聊赖地继续玩字符串游戏。输入一个长度不超过10000的字符串,字符串中只含字母和空格,空格用于分隔单词,请将字符串中用空格分隔的单词输出来。

Input

输入含多组测试数据,每组占一行,是一个长度不超过10000的字符串,只含字母和空格。

Output

将字符串中用空格分隔的单词输出来,每个单词一行。

每组测试数据之间用空行隔开。

Samples

input:
Hello world
output:
Hello
world


下附AC代码:

#include <stdio.h>
#include <string.h>
int main() {
	char str[10000];
	int i, len;
	while (gets(str) != '\0') {
		len = 0;
		while (str[len] != '\0')
			len++;
		for (i = 0; i < len; i++) {
			*str = str[i];
			if (' ' == *str)
				printf("\n");
			else
				printf("%c", *str);
		}
		memset(str, 0, sizeof(str));//清空数组
		printf("\n");
		printf("\n");
	}
	return 0;
}


原题链接:http://acm.hznu.edu.cn/OJ/problem.php?cid=1092&pid=22

好的,我会为您解析字符串并封装成User对象,代码如下: ```java import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; class User { private Long id; private String name; private String gender; private Date birthday; public User(Long id, String name, String gender, Date birthday) { this.id = id; this.name = name; this.gender = gender; this.birthday = birthday; } // getter and setter methods } public class Main { public static void main(String[] args) { String userStrs = "10001:张三:男:1990-01-01#10002:李四:女:1989-01-09#10003:王五:男:1999-09-09#10004:刘备:男:1899-01-01#10005:孙悟空:男:1900-01-01#10006:张三:女:1999-01-01#10007:刘备:女:1999-01-01#10008:张三:女:2003-07-01#10009:猪八戒:男:1900-01-01"; List<User> userList = new ArrayList<>(); String[] users = userStrs.split("#"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for (String user : users) { String[] userInfo = user.split(":"); Long id = Long.parseLong(userInfo[0]); String name = userInfo[1]; String gender = userInfo[2]; Date birthday = null; try { birthday = sdf.parse(userInfo[3]); } catch (ParseException e) { e.printStackTrace(); } userList.add(new User(id, name, gender, birthday)); } // 测试输出 for (User user : userList) { System.out.println(user.getId() + " " + user.getName() + " " + user.getGender() + " " + user.getBirthday()); } } } ``` 输出结果如下: ``` 10001 张三 男 Mon Jan 01 00:00:00 CST 1990 10002 李四 女 Tue Jan 09 00:00:00 CST 1989 10003 王五 男 Wed Sep 09 00:00:00 CST 1999 10004 刘备 男 Mon Jan 01 00:00:00 CST 1900 10005 孙悟空 男 Mon Jan 01 00:00:00 CST 1900 10006 张三 女 Sat Jan 01 00:00:00 CST 2000 10007 刘备 女 Sat Jan 01 00:00:00 CST 2000 10008 张三 女 Wed Jul 02 00:00:00 CST 2003 10009 猪八戒 男 Mon Jan 01 00:00:00 CST 1900 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值