| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 963 人关注过本帖
标题:(新手求助)大佬们帮忙看看代码是哪里有问题
取消只看楼主 加入收藏
Sopphhiiaa
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2020-12-7
结帖率:80%
收藏
已结贴  问题点数:5 回复次数:0 
(新手求助)大佬们帮忙看看代码是哪里有问题
将一个字符串循环向右移M(M>=0)个字符位置,即将字符串A中的数据由(A0 A1……AN-1)变换为(AN-M …… AN-1 A0 A1……AN-M-1)(N是字符串的长度,最后M个数循环移至最前面的M个位置)。
输入
每个输入包含一个测试用例,第1行输入M(M>=0);第2行为输入字符串,长度不超过200。
输出
在一行中输出循环右移M位以后的字符串。
样例1
输入                                           输出
2
Hello World Here I Come                        meHello World Here I Co
提示
可以使用scanf读入整数,但不能使用scanf读入字符串,因为字符串中可能包含空格。可以使用fgets读入字符串,但要注意处理上一行末和本行末的的回车换行符。
(感觉自己的解法思路没啥问题,可是就是运行不出结果。)
程序代码:
#include <stdio.h>
#include <string.h>
int main(void)
{
    int n,len,i,j;
    scanf("%s\n",&n);
    char str1[199];
    fgets(str1,199,stdin);
    len = strlen(str1);
    str1[len + n]=str1[199];
    
    char b[len+n];
    for(i=0;i<len;i++)
    {
        b[i]=str1[i];
    }//遍历数组 
    for(j=len-2;j>=0;j--)
    {
        b[j+n]=str1[j];
    }//整体往右移n位 
    while(n--) 
    {
        b[n-1]=b[len-2+n];
    }//将最后的n位移到前面去

    printf("%s",b);
    return 0;
} 


搜索更多相关主题的帖子: 代码 输入 字符串 输出 读入 
2020-12-14 22:03
快速回复:(新手求助)大佬们帮忙看看代码是哪里有问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018609 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved