HDU2562 奇偶位互换【输入输出流+水题】

2024-04-08 22:08

本文主要是介绍HDU2562 奇偶位互换【输入输出流+水题】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

奇偶位互换

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 7881    Accepted Submission(s): 5928

Problem Description
给定一个长度为偶数位的0,1字符串,请编程实现串的奇偶位互换。
Input
输入包含多组测试数据;
输入的第一行是一个整数C,表示有C测试数据;
接下来是C组测试数据,每组数据输入均为0,1字符串,保证串长为偶数位(串长<=50)。
Output
请为每组测试数据输出奇偶位互换后的结果;
每组输出占一行。
Sample Input
  
2 0110 1100
Sample Output
  
1001 1100
Author
yifenfei
Source
绍兴托普信息技术职业技术学院——第二届电脑文化节程序设计竞赛

问题链接:HDU2562 奇偶位互换

问题简述参见上文。

问题分析:(略)

程序说明

  这里给出了两个程序,一个使用了数组,另外一个则仅仅使用字符流。明显,仅仅使用字符流是正解。

  函数swap是C语言程序的套路,如果是C++语言程序则可以直接用该函数。

题记

  函数get()已经不被推荐使用,用函数fgets()吧!

  存储要能省则省!


参考链接:(略)


AC的C语言程序如下:

/* HDU2562 奇偶位互换 */#include <stdio.h>int main(void)
{int c, ch1, ch2;scanf("%d", &c);getchar();while(c--) {for(;;) {if((ch1 = getchar()) == '\n') {putchar('\n');break;}ch2 = getchar();putchar(ch2);putchar(ch1);}}return 0;
}

AC的C语言程序如下:

/* HDU2562 奇偶位互换 */#include <stdio.h>#define N 50char s[N+2];void swap(char *a, char *b)
{char t = *a;*a = *b;*b = t;
}int main(void)
{int c, i;scanf("%d", &c);getchar();while(c--) {fgets(s, N, stdin);i = 0;while(s[i] != '\n') {swap(&s[i], &s[i+1]);i += 2;}s[i] = '\0';printf("%s\n", s);}return 0;
}




这篇关于HDU2562 奇偶位互换【输入输出流+水题】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/886527

相关文章

uva 10055 uva 10071 uva 10300(水题两三道)

情歌两三首,水题两三道。 好久没敲代码了为暑假大作战热热身。 uva 10055 Hashmat the Brave Warrior 求俩数相减。 两个debug的地方,一个是longlong,一个是输入顺序。 代码: #include<stdio.h>int main(){long long a, b;//debugwhile(scanf("%lld%lld", &

hdu1010 奇偶剪枝

恰好t时间到达 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.math.BigInteger;import java.util.Arrays;import

HDU1720(输入输出涨姿势)

A+B Coming Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5953    Accepted Submission(s): 3901 题目链接: http://acm.hdu.edu.cn/showproblem.p

Codeforces Round #182 (Div. 2)A(水题)

题目链接:http://codeforces.com/contest/302/problem/A 解题思路: 只要通过重新排列使区间内和为0即是1,否则是0. 完整代码: #include <algorithm>#include <iostream>#include <cstring>#include <complex>#include <cstdio>#inc

ACM比赛中如何加速c++的输入输出?如何使cin速度与scanf速度相当?什么是最快的输入输出方法?

在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,于是从此以后发誓不用cin读数据。还有人说Pascal的read语句的速度是C/C++中scanf比不上的,C++选手只能干着急。难道C++真的低Pascal一等吗?答案是不言而喻的。一个进阶的方法是把数据一下子读进来,然后再转化字符串,这种方法传说中

HDU 2064 汉诺塔III(水题)

题目: http://acm.hdu.edu.cn/showproblem.php?pid=2064 题目大意: 有三根杆,求把n个圆盘从左边移到右边,最少需要移动圆盘的次数。移动规则为大盘不能放在小盘上,比原始的汉诺塔题改变的地方是,只能通过中间的杆往左右两边的杆移动。 心得: 此题心得在题外,不在题内,初看此题,尼玛吓了一跳,好像很难的样子,手贱百度了一下,只注意到俩字“水题”,赶紧

Java中的输入输出方法及格式

输入 通过Scanner类的对象进行输入 Scanner类位于java.util.Scanner包中,需要使用import关键字导入 Import java.util.Scanner 首先创建一个Scanner类的对象 Scanner 对象名=new Scanner(System.in); Scanner类中提供的方法包括 next():获取字符串,但不包括空格、Tab键和换行符

【C++】C++的输入输出、循环、条件、字符串、数组、类、继承的使用实例

本文介绍C++的基本使用,用一个程序说明的基本运用,当然C++中的指针与运算符的重载这些特色东西还没有涉及,只是把编程中最基本的东西讲述一次, 与《【Python】Windows版本的python开发环境的配置,Helloworld,Python中文问题,输入输出、条件、循环、数组、类》(点击打开链接)是姊妹篇,据说这堆东西出书的话能写很多很多页,上课的话能上大半学期,真是醉了。 以下程

高效判断奇偶数

出自《java解惑》 public static boolean isOdd(int value) {return (value & 0x1) != 0;}public static boolean isEven(int value) {return !isOdd(value);}

【SGU】115. Calendar 水题= =

传送门:【SGU】115. Calendar 题目分析:2001年1月1号星期1,然后就没什么好说的了= = 代码如下: #include <map>#include <vector>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespac