鱼C论坛

 找回密码
 立即注册
查看: 1838|回复: 3

[已解决]C语言作业

[复制链接]
发表于 2020-11-1 17:58:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
【问题描述】

字符串复制。输入一个字符串t和一个正整数m,将字符串t中从第m个字符开始的全部字符复制到字符串s中,再输出字符串s。要求用字符指针定义并调用函数strmcpy(s,t,m),它的功能是将字符串t中从第m个字符开始的全部字符复制到字符串s中。

【输入形式】

首先打印提示“Input a string:";然后直接在冒号后面输入字符串,作为t的内容,字符串中可以包含空格;字符串以回车结束。

    打印提示“Input an integer:”;然后直接在冒号后面输入一个正整数,代表m的值;回车。

【输出形式】

首先打印“Output is:”;紧跟后面输出字符串s中的内容;换行。

【运行时的输入输出样例】(下划线部分表示输入)

Input a string:happy new year

Input an integer:7

Output is:new year
最佳答案
2020-11-1 18:28:16
本帖最后由 jackz007 于 2020-11-1 20:56 编辑
  1. #include <stdio.h>

  2. void strmcpy(char * s , char * t , int m)
  3. {
  4.         int k , n                                                               ;
  5.         for(n = 0 ; s[n] ; n ++)                                                ;
  6.         for(; n > 0 && s[n - 1] == '\n'; n --)                                  ;
  7.         for(k = m - 1 ; k < n ; k ++ , t[k - m + 1] = '\0') t[k - m + 1] = s[k] ;
  8. }

  9. int main(void)
  10. {
  11.         char s[256] , t[256]                                                    ;
  12.         int m                                                                   ;
  13.         printf("Input a string : ")                                             ;
  14.         fgets(s , 255 , stdin)                                                  ;
  15.         printf("Input an integer : ")                                           ;
  16.         scanf("%d" , & m)                                                       ;
  17.         strmcpy(s , t , m)                                                      ;
  18.         printf("Out put is : %s\n" , t)                                         ;
  19. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-1 17:59:22 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-1 18:28:16 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2020-11-1 20:56 编辑
  1. #include <stdio.h>

  2. void strmcpy(char * s , char * t , int m)
  3. {
  4.         int k , n                                                               ;
  5.         for(n = 0 ; s[n] ; n ++)                                                ;
  6.         for(; n > 0 && s[n - 1] == '\n'; n --)                                  ;
  7.         for(k = m - 1 ; k < n ; k ++ , t[k - m + 1] = '\0') t[k - m + 1] = s[k] ;
  8. }

  9. int main(void)
  10. {
  11.         char s[256] , t[256]                                                    ;
  12.         int m                                                                   ;
  13.         printf("Input a string : ")                                             ;
  14.         fgets(s , 255 , stdin)                                                  ;
  15.         printf("Input an integer : ")                                           ;
  16.         scanf("%d" , & m)                                                       ;
  17.         strmcpy(s , t , m)                                                      ;
  18.         printf("Out put is : %s\n" , t)                                         ;
  19. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-1 23:48:29 | 显示全部楼层
现在硬盘出了没有,没法使用DEV
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-14 03:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表