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 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 Ubuntu开机显示器只显示kernel,是没操作系统(相关搜索:显卡驱动)
  • ¥15 VB.NET如何绘制倾斜的椭圆
  • ¥15 arbotix没有/cmd_vel话题
  • ¥20 找能定制Python脚本的
  • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
  • ¥15 用C语言怎么判断字符串的输入是否符合设定?
  • ¥15 通信专业本科生论文选这两个哪个方向好研究呀