
c语言程序调用问题(可追加。希望你能耐心) 请注意看题目。题目不能修改。只能在题目要求的地方修改
根据要求编写程序P4768.C的指定部分:程序P4768.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修...
根据要求编写程序P4768.C的指定部分:
程序P4768.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。
程序的功能是:
①从键盘上先后读入两个字符串,假定存储在字符数组str1和str2中。注意,这两个字符串最长均可达到127个字符、最短均可为0个字符。
②将字符串str2插入字符串str1中,插入方法为:str2的第i个字符插入到原str1的第i个字符后,如果str2比str1(假定str1的长度为L1)长,则str2的第L1个字符开始到str2结尾的所有字符按在str2中的顺序放在新生成的str1后。提示,合并时可使用中间数组。例如:
str1输入为"123456789",str2输入为"abcdefghijk",则输出的str1为:
1a2b3c4d5e6f7g8h9ijk
③在屏幕上输出新生成的str1。
程序的运行效果应类似地如图1所示,其中的123456789和abcdefghijk是从键盘输入的内容。
#include <stdio.h>
#include <string.h>
#define N 128
void conj(char *string1, char *string2);
int main(void)
{
char str1[N * 2], str2[N];
printf("Please input string1:");
gets(str1);
printf("Please input string2:");
gets(str2);
/* 本部分代码功能建议:调用函数conj()完成str1和str2的合并 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
printf("\nstring1:%s\n", str1);
return 0;
}
/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,如函数conj,行数不限) */ 展开
程序P4768.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。
程序的功能是:
①从键盘上先后读入两个字符串,假定存储在字符数组str1和str2中。注意,这两个字符串最长均可达到127个字符、最短均可为0个字符。
②将字符串str2插入字符串str1中,插入方法为:str2的第i个字符插入到原str1的第i个字符后,如果str2比str1(假定str1的长度为L1)长,则str2的第L1个字符开始到str2结尾的所有字符按在str2中的顺序放在新生成的str1后。提示,合并时可使用中间数组。例如:
str1输入为"123456789",str2输入为"abcdefghijk",则输出的str1为:
1a2b3c4d5e6f7g8h9ijk
③在屏幕上输出新生成的str1。
程序的运行效果应类似地如图1所示,其中的123456789和abcdefghijk是从键盘输入的内容。
#include <stdio.h>
#include <string.h>
#define N 128
void conj(char *string1, char *string2);
int main(void)
{
char str1[N * 2], str2[N];
printf("Please input string1:");
gets(str1);
printf("Please input string2:");
gets(str2);
/* 本部分代码功能建议:调用函数conj()完成str1和str2的合并 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
printf("\nstring1:%s\n", str1);
return 0;
}
/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,如函数conj,行数不限) */ 展开
1个回答
展开全部
#include <stdio.h>
#include <string.h>
#define N 128
void conj(char *string1, char *string2);
int main(void)
{
char str1[N * 2], str2[N];
printf("Please input string1:");
gets(str1);
printf("Please input string2:");
gets(str2);
/* 本部分代码功能建议:调用函数conj()完成str1和str2的合并 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
conj(str1,str2);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
printf("\nstring1:%s\n", str1);
return 0;
}
/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,如函数conj,行数不限) */
void conj(char *string1, char *string2)
{
char t[N];
char *p,*q,*s;
strcpy(t,string1);
p=t;q=string2;s=string1;
while(*p && *q)
{
*s++=*p++;
*s++=*q++;
}
while(*p) *s++=*p++;
while(*q) *s++=*q++;
*s='\0';
}
#include <string.h>
#define N 128
void conj(char *string1, char *string2);
int main(void)
{
char str1[N * 2], str2[N];
printf("Please input string1:");
gets(str1);
printf("Please input string2:");
gets(str2);
/* 本部分代码功能建议:调用函数conj()完成str1和str2的合并 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
conj(str1,str2);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
printf("\nstring1:%s\n", str1);
return 0;
}
/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,如函数conj,行数不限) */
void conj(char *string1, char *string2)
{
char t[N];
char *p,*q,*s;
strcpy(t,string1);
p=t;q=string2;s=string1;
while(*p && *q)
{
*s++=*p++;
*s++=*q++;
}
while(*p) *s++=*p++;
while(*q) *s++=*q++;
*s='\0';
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询