m0_63664562 2022-05-11 17:45 采纳率: 88.2%
浏览 117
已结题

c语言程序设计问题。

从键盘输入一个字符串和一个整数(m),编程移动字符串中的字符,移动规则如下:把第1到第m个字符,平移到字符串的后部,把第m+1到字符串末尾的字符平移到字符串的前部。提示:可借助其他字符数组。
测试输入:
abcdefghi
4
预期输出:
移动后的结果为efghiabcd

#include<stdio.h>
#include <string.h>
void main()
{
    //*****begin********
    int  n, len, j = 0, i;
    char a[100];
    scanf_s("%s", a);
    scanf_s("%d", &n);
    len = strlen(a);
    printf("移动后的结果为");
    for (i = n; i < len; i++)
    {
        printf("%c", a[i]);
    }
    for (i = 0; i < n; i++)
    {
        printf("%c", a[i]);
    }

    //*****end********
}

这段代码在测试网站上运行成功,但在visual2022就报错,什么原因?(多半是scanf的问题,但是好像格式也没什么问题啊,总是stdio里面报错)

  • 写回答

3条回答 默认 最新

  • 学习日记 后端领域新星创作者 2022-05-11 18:11
    关注

    这样就可以了,望采纳,谢谢,代码:

    #include<stdio.h>
    #include <string.h>
    void main()
    {
        //*****begin********
        int  n, len, j = 0, i;
        char a[100];
        scanf("%s", a);
        scanf("%d", &n);
        len = strlen(a);
        printf("移动后的结果为");
        for (i = n; i < len; i++)
        {
            printf("%c", a[i]);
        }
        for (i = 0; i < n; i++)
        {
            printf("%c", a[i]);
        }
    
        //*****end********
    }
    

    效果:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月19日
  • 已采纳回答 5月11日
  • 修改了问题 5月11日
  • 赞助了问题酬金10元 5月11日
  • 展开全部

悬赏问题

  • ¥15 这个复选框什么作用?
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决