输入n整数和字符串,从第n个字符开始把原来的字符串倒过来排列
输入
n 字符串
输出
重新排的字符串
例
输入
4 computer
输出
pmocretu
输入
5 Hamster
输出
tsmaHre
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
void swap(char* p, char* q)
{
char temp = *p;
*p = *q;
*q = temp;
}
int main()
{
int index, len,i;
char str[100];
scanf("%d", &index);
getchar();
gets(str);
len = strlen(str);
for (i = 0;i<index/2;i++)
{
swap(&str[i], &str[index - 1-i]);
}
for (i = 0;i < (len-index)/2;i++)
{
swap(&str[index+i], &str[len-1-i]);
}
puts(str);
return 0;
}
#include<stdio.h>
#include<string.h>
void reverseN(char* str, int n)
{
char tmp[n+1];
strcpy(tmp, str);
printf("%s\n",tmp);
for (int i=0;i<n;i++){
*str++ = tmp[n-1-i];
}
}
int main()
{
char str[100];
int n;
scanf("%d %s",&n, str);
reverseN(str, n);
printf("%s",str);
return 0;
}
#include "stdio.h"//
#include "string.h"//
#include "stdlib.h"//
void main(void){
char Str[101],n;
printf("请输入一个字符串(限长100)!\nStr=");
gets(Str);
printf("请输入截取位置数!\nn=");
scanf("%d",&n);
if(n>=(char)strlen(Str)) printf("n太大,越界!\n");
else printf("截取的字符串是:%s\n",Str+n-1);
}
c++,运行没问题
int main()
{
int n = 0;
cin >> n;
string s;
cin >> s;
string res="";
int len = s.length();
for (int i = n-1; i >= 0; i--) {
res += s[i];
}
for (int i = n; i < len; i++) {
res += s[i];
}
cout << res;
return 0;
}