习题 ct6_1: 循环移位☆
2013-03-09 22:27
190 查看
[mytable=ct6_1: 循环移位☆]题目描述:
给你一个字符串"abcdefg",循环左移两位得到"cdefgab",
循环右移两位得到"fgabcde"
输入:
多组测试数据,每组一行,第一个是int范围内的整数n,
表示要右移的位数,如果n是负数则表示要左移。接着后面
是一个串长小于10000000的字符串。
最后遇到EOF标志的时候结束。
输出:
输出移位后的字符串
样例输入:
2 abcdefg
-2 abcdefg
样例输出:
fgabcde
cdefgab
难度:for beginner[/mytable]
// ct6_1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "string.h"
int main(int argc, char* argv[])
{
char str[100];
int pos, i, length;
while( scanf("%d%s", &pos, str) != EOF)
{
length = strlen(str);
if (pos > 0)
{
if (pos % length == 0) { printf("%s\n", str); continue;}
for (i= length-pos; i<=length-1; i++ )
{
printf("%c",str[i]);
}
for (i= 0; i<=length-pos-1; i++ )
{
printf("%c",str[i]);
}
continue;
}
else if (pos < 0)
{
pos = -1 * pos;
if (pos % length == 0) { printf("%s\n", str); continue;}
for (i= pos; i<=length-1; i++ )
{
printf("%c",str[i]);
}
for (i= 0; i<=pos-1; i++ )
{
printf("%c",str[i]);
}
continue;
}
else
{
printf("%s\n", str);
continue;
}
}
return 0;
}
给你一个字符串"abcdefg",循环左移两位得到"cdefgab",
循环右移两位得到"fgabcde"
输入:
多组测试数据,每组一行,第一个是int范围内的整数n,
表示要右移的位数,如果n是负数则表示要左移。接着后面
是一个串长小于10000000的字符串。
最后遇到EOF标志的时候结束。
输出:
输出移位后的字符串
样例输入:
2 abcdefg
-2 abcdefg
样例输出:
fgabcde
cdefgab
难度:for beginner[/mytable]
// ct6_1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "string.h"
int main(int argc, char* argv[])
{
char str[100];
int pos, i, length;
while( scanf("%d%s", &pos, str) != EOF)
{
length = strlen(str);
if (pos > 0)
{
if (pos % length == 0) { printf("%s\n", str); continue;}
for (i= length-pos; i<=length-1; i++ )
{
printf("%c",str[i]);
}
for (i= 0; i<=length-pos-1; i++ )
{
printf("%c",str[i]);
}
continue;
}
else if (pos < 0)
{
pos = -1 * pos;
if (pos % length == 0) { printf("%s\n", str); continue;}
for (i= pos; i<=length-1; i++ )
{
printf("%c",str[i]);
}
for (i= 0; i<=pos-1; i++ )
{
printf("%c",str[i]);
}
continue;
}
else
{
printf("%s\n", str);
continue;
}
}
return 0;
}
相关文章推荐
- 习题 ct5_3: 恶魔数字7★
- 习题 ct7_1: 卡片拼数1★
- 习题 ct9_1:进制转换☆
- CT 图像特点
- ajax练习习题一弹窗查看
- 面向对象程序设计 习题一
- 《算法导论》习题解答 Chapter 22.1-4(去除重边)
- Problem B: C语言习题 学生成绩输入和输出
- Python教材第三章部分习题
- C++编程思想 第二章习题2_2
- Problem D: C语言习题5.25--文件操作2
- 1035 习题3-2 计算存款利息(4)
- C++编程思想 第五章隐藏实现 习题
- unix环境高级编程第五章习题的一些拙见
- 项目一课后习题
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q81-Q84)
- 训练4 习题1
- 《Python编程 从入门到实践》第三章习题选做
- How to think like a Computer Scientist: 课后习题第六章 1-5
- 算法竞赛经典入门第三章习题