poj 3077 Rounders 【简单字符串处理】

题意:就是4舍5入到最近的数.

题意有些难理解。。。

代码:

#include <stdio.h>
#include <string.h>
char s[10];
int main()
{
	int t, n;
	scanf("%d", &t);
	while(t --){
		memset(s, 0, sizeof(s));
		scanf("%s", s);
		int len = strlen(s);
		if(len == 1){
			printf("%s\n", s); continue;
		}
		for(int i = len-1; i > 0; i --){
			if(s[i] > '4') s[i-1] +=1;
			s[i] = '0';
		}
		if(s[0] > '9') {  //如果第一位是 9 要特别注意
			s[0] = '0';
			printf("1");
		}
		printf("%s\n", s);
	}
	return 0;
}

题目链接:点击打开链接

poj 3077 Rounders 【简单字符串处理】,布布扣,bubuko.com

时间: 2024-10-21 08:58:48

poj 3077 Rounders 【简单字符串处理】的相关文章

C 封装一个通用链表 和 一个简单字符串开发库

引言 这里需要分享的是一个 简单字符串库和 链表的基库,代码也许用到特定技巧.有时候回想一下, 如果我读书的时候有人告诉我这些关于C开发的积淀, 那么会走的多直啊.刚参加工作的时候做桌面开发, 服务是C++写,界面是C#写.那时候刚进去评级我是中级,因为他问我关于系统锁和信号量都答出来.开发一段 时间,写C#也写的很溜.后面招我那个人让我转行就写C++和php,那时候就开始学习C++有关知识. 后面去四川工作了,开发安卓,用eclipse + java语法 + android jdk,开发前端,

POJ3617 简单字符串

三分之一的通过率的字符串 题意为,输入一个S串,有一个空串T.对S串有两种操作,一是取出S串的头放入T串的尾,二是取出S串的尾放入T串的尾.要求是要使得T串的字典序最小. 从题意来看是一个很明显的贪心思路.那么想到这一步其实比较接近答案了,但是需要注意的一点是当S串的头和尾相同的时候,那么这个时候我们当然也希望取出更小的字符,所以就需要比较下一个字符.但是如果指向头和尾的指针都分别往里前进一位的时候,这俩字符还是相同,咋办?这个情形...对,就是回文字符串.形同“ABCDCBA”这样的字符串.这

POJ 1035 Spell Check 字符串处理

被这样的题目忽悠了,一开始以为使用Trie会大大加速程序的,没想到,一不小心居然使用Trie会超时. 最后反复试验,加点优化,终于使用Trie是可以过的,不过时间大概难高于1500ms,一不小心就会超时. 看来这是一道专门卡Trie的题目,只好放弃不使用Trie了. 也得出点经验,如果字符串很多,如本题有1万个字符串的,那么还是不要使用Trie吧,否则遍历一次这样的Trie是十分耗时的,2s以上. 于是使用暴力搜索法了,这里的技巧是可以使用优化技术: 1 剪枝:这里直接分组搜索,分组是按照字符串

poj 1200 --- 不错的字符串HASH构造方法

题目:http://poj.org/problem?id=1200 题意:给一个字符串,给定n和nc,字符串里最多有nc个不同的字符,问长度为n的不同子串最多有几个 和上一篇现场赛那个一样,也是难在判重处理不好会超时 方法:将长度为n的子串映射为一个nc进制的数,开一个大数组,判断是否重复 #include <cstdio> #include <cstring> #include <algorithm> #include <string> #include

简单字符串排序

简单字符串排序 Time Limit: 5000MS Memory limit: 100000K 题目描述 从键盘输入10个学生的姓名和成绩,请按字典序排列学生的姓名并输出(姓名和成绩对应关系保持不变). 输入 输入共11行,前10行每行是一个学生的姓名,最后一行是10个用空格分开的整数表示对应的10个学生成绩. 输出 输出姓名按字典序排列后的学生姓名和成绩,共10行,每个学生的姓名和成绩占一行,姓名和成绩间用逗号分开. 示例输入 Bush White Mark Jean Black Wood

POJ 1469 COURSES //简单二分图

COURSES Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 17211   Accepted: 6769 Description Consider a group of N students and P courses. Each student visits zero, one or more than one courses. Your task is to determine whether it is poss

1442: Neo 的简单字符串(字符串)

1442: Neo 的简单字符串 时间限制: 10 Sec 内存限制: 128 MB 提交: 9 解决: 3 统计 题目描述 Neo 给你一系列字符串,请你输出字符串中的不同单词个数以及总单词个数. 输入 多组输入,每组数据都是一行字符串(长度小于200),其中每个单词以空格隔开(单词都是小写字母组成). 输出 输出字符串中的不同单词个数以及总单词个数. 样例输入 i love china aa aa bb 样例输出 3 3 2 3 来源 LZ 提交讨论 #include<bits/stdc++

第一部分之简单字符串SDS(第二章)

一,什么是SDS? 1.引出SDSC字符串:c语言中,用空字符结尾的字符数组表示字符串简单动态字符串(SDS):Redis中,用SDS来表示字符串.在Redis中,包含字符串值的键值对在底层都是由SDS实现的首先,Redis使用C语言写的,但是Redis没有使用C语言传统的字符串表示,它自己构建了简单字符串的抽象类型来表示字符串. 2.SDS的定义一个sdshdr结构表示一个SDS值.结构如下:struct sdshdr {    //记录buf数组中已使用字节的数量    int len;  

POJ 3094 Quicksum(简单题)

[题意简述]:题意很简单.看例子就能理解 [分析]:略.字符串的读取操作. // 200K 0Ms #include<iostream> using namespace std; int main() { char a[256]; while(1) { int sum = 0; gets(a); if(strcmp(a,"#")==0) break; int len = strlen(a); for(int i = 0;i<len;i++) { if(a[i] ==