网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月29日
漏签
0
天
c语言吧
关注:
790,891
贴子:
4,296,921
看贴
图片
吧主推荐
视频
游戏
19
回复贴,共
1
页
<<返回c语言吧
>0< 加载中...
c语言的字符串怎么切片
只看楼主
收藏
回复
芬豪特•埃莫松
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
今天忘带电脑了,代码手写的,这道题做不明白
芬豪特•埃莫松
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我的想法是将右移部分切片出来,然后字符串拼接
六翼幻世
麻婆豆腐
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
#include <stdio.h>
int main()
{
int n,i;
char s[10001],ss[10001];
scanf("%d%s",&n,s);
for(i=0;s[i]!=0;i++)
ss[i]=s[i];
n%=i;
ss[i-n]=0;
printf("%s%s",s+i-n,ss);
return 0;
}
AN-drew
小吧主
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
写个笨办法,但是好理解
循环n次
{
每次先把最后一个字符s[len-1]取出来放到临时变量 t
让数组从s[1]整体后移1位
把临时变量 t 存储的最后一个字符赋给s[0],完成一次循环移位
}
AN-drew
小吧主
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如果使用两个数组,可以利用strcpy的特性,复制后半段,然后拼接
花无言丶
团子家族
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
感觉切片的问题在于n>s的情况不好解决,当然可以取模
GTA小鸡
吧主
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
机智一点,这只是做题,不需要真的修改字符串
int n, len;
char s[10000];
scanf("%d%*c%[^\n]", &n, s);
len = strlen(s);
n = len - n % len;
printf("%s%.*s", s + n, n, s);
非洲王牌空降师
低能力者
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
其实只需要把字符串写两遍,然后从第n位开始输出字符串的长度就行了
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示