首页  :: 联系 :: 订阅 订阅  :: 管理

20道题目之三

Posted on 2007-06-12 20:13  。。。  阅读(114)  评论(0)    收藏  举报
/*
编写一程序,由用户输入两个字符串A、B,若字符串B的长度< = 5,
则将字符串B连接到字符串A的后面;否则若字符串B的长度 > 5,
则将字符串B的前5个字符连接到字符串A的后面。要求不用strcat函数。字符串名可任意取。
*/
#include 
<stdio.h>
#include 
<string.h>
void main()
{
    
//定义两个数组
    char a[20];
    
char b[10];
    
//输入
    printf("请输入a:");
    gets(a);
    printf(
"请输入b:");
    gets(b);
    
//数组a,b 的实际长度
    int k=strlen(a);
    
int l=strlen(b);
    
//判断条件
    if(l<=5)
    {
        
for(int i=0;i<l;i++)
            
if(b[i]!='\0')
                a[k
+i]=b[i];
        
//输出最后的结果a
        for(int u=0;u<k+l;u++)
            printf(
"%c",a[u]);
        printf(
"\n");
    }
        
    
if(l>5)
    {
        
for(int j=0;j<5;j++)
            
if(b[j]!='\0')
                a[k
+j]=b[j];
        
//输出最后的结果a
        for(int u=0;u<k+5;u++)
            printf(
"%c",a[u]);
        printf(
"\n");
    }
            
}
知道为什么最后的结果a的输出放在里面///而不放在外面,并用一个语句输出呢……!?