C语言编程问题?

从键盘输入多个字符串,并以输入的最后字符串是“#”结束,将这些字符串连接成一个字符串,要求连接时将前一字符串尾部与后一字符串头部相同的字符部分(不区分大小写)都变成大写字... 从键盘输入多个字符串,并以输入的最后字符串是“#”结束,将这些字符串连接成一个字符串,要求连接时将前一字符串尾部与后一字符串头部相同的字符部分(不区分大小写)都变成大写字母而且只保留一份,完成所有连接后输出连接结果(也可以连接一个字符串后,就输出当前最新连接结果)。

说明:
(1)输入字符串时使用gets函数。
(2)定义二维字符数组存储输入的多个字符串,连接的结果字符串要足够大,保证连接结果的存放。
(3)在主函数中循环输入字符串,当输入的字符串是“#”输入循环结束,然后调用连接函数Mulstrcat实现连接,最后输出结果。
例如://输入的多个字符串
Statistics suggest that
that the population of this
this country will be double
double in ten years
#

//输出连接结果
Statistics suggest THAT the population of THIS country will be DOUBLE in ten years

//或者以下面的格式输出连接结果
Statistics suggest that
Statistics suggest THAT the population of this
Statistics suggest THAT the population of THIS country will be double
Statistics suggest THAT the population of THIS country will be DOUBLE in ten years

三、实验步骤

四、程序运行与实验小结
展开
 我来答
听不清啊
高粉答主

2020-12-20 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include<stdio.h>

#include<string.h>

#include<ctype.h>

int main()

{ char s[1000],s1[100],*p,*q,*q1,*t,s2[100];

  int n;

  gets(s);

  q=s+strlen(s);

  while(1)

  { gets(s1);

    if(strcmp(s1,"#")==0)break;

    for(q=s+strlen(s)-1; isalpha(*q); q--)

      if(islower(*q))*q-=32;

    q=s+strlen(s);

    for(p=s1; isalpha(*p); p++);

    strcpy(q,p);

  }

  puts(s);

  return 0;

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式