您的位置:首页 > 编程语言 > C语言/C++

c语言问题:输入包含两个单词s1和s2、空心菱形实现

2015-11-11 17:30 381 查看
问题1:输入包含两个单词s1和s2,和一个大于0的整数N。s1、s2代表单词,N代表要插入的位置。s1、s2的长度小于100。

要求:

Output拼接后的爱的誓言s3。

Sample 

Inputwater flower 2

Sample Output

flwaterower

用C语言的指针,要能在visual studio上运行,怎么写代码呢?

回答:

#include <stdio.h>
#include <string.h>
int main()
{
char s1[100],s2[100],s3[200],*p;
int i,d;
scanf("%s%s%d",s1,s2,&d);
p=s3;
i=0;
for(i=0;i<d;i++)
*p++=s2[i];
for(i=0;i<strlen(s1);i++)
*p++=s1[i];
for(i=d;i<strlen(s2);i++)
*p++=s2[i];
*p='\0';
printf("%s\n",s3);
return 0;

}


问题2:c语言求空心菱形,但是最上端和最下端多出一个*,不知如何能消去,怎么实现呢?

回答:

#include <stdio.h>

void main()
{
int i,j;
for(i=1; i<=4; i++)
{
for(j=1; j<=4-i; j++)
putchar(' ');
putchar('*');
for(j=1; j<=2*i-3; j++)
putchar(' ');
if (i>1)
putchar('*');
putchar('\n');
}
for(i=1; i<=3; i++)
{
for(j=1; j<=i; j++)
putchar(' ');
putchar('*');
for(j=1; j<=5-2*i; j++)
putchar(' ');
if (i<3)
putchar('*');
putchar('\n');
}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息