打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
奇数字符右移

讲解对象:奇数字符右移

作者:融水公子 rsgz


要求:

函数fun的功能是 把形参s所指字符串中下标为奇数的字符串右移到下一个奇数位置

最右边移出的字符绕回放在第一个奇数位置 下标为偶数的字符不动(要求是字符串的长度>=2)

实例   s所指的字符串abcd  adcb

#include<stdio.h>

#include<stdlib.h>

#define N 81

void fun(char *s) {

int i, n = 0, k;

char c;

for (i = 0; s[i] != '\0'; i++) {

n++;//统计字符串的长度(换成正常的计数)

}

if (n % 2 == 0) {

k = n - 1;//n为偶数的时候  把某个数的值赋值给k 1234

}

else {

k = n-2;//字符串为奇数的时候 将n赋值给k  12345

}

//为什么字符串个数为奇数偶数的时候要分开处理

c = s[k];//将某个值赋值给c

for (i = k - 2; i >= 1; i -= 2) {

s[i + 2] = s[i];//奇数位置字符的移位

}

s[1] = c;

}

int main() {

char s[80] = "abcd";

printf("原来的字符串是:%s\n", s);

fun(s);

printf("移动后:%s\n", s);

system("pause");

return 0;

}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
487,重构字符串
周易3D算号法
一道关于字符串指针的趣题
从爻的顺序和阴阳可以推测出吉凶吗(第9期)
从身份证号码提取出生日期、性别、年龄等信息
在字符串中指定位置前插入指定字符
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服