C语言一个字符串连接的问题,请各位大神帮忙看一下错在哪了?
题目要求:现有两个字符串,每个字符串中可包含数字和字母。现需要将这两个字符串进行合并操作,生成一个新的字符串。在该字符串中,没有重复的数字或字母,同时字符串中的数字或字母...
题目要求:现有两个字符串,每个字符串中可包含数字和字母。现需要将这两个字符串进行合并操作,生成一个新的字符串。在该字符串中,没有重复的数字或字母,同时字符
串中的数字或字母按照从小到大的顺序排列。排序规则:数字 < 大写字母 < 小写字母 输入 两个字符串,以空格分隔 输出
合并后的字符串
下面是我的程序:
#include<stdio.h>
#include<string.h>
int main()
{char a[10],b[10];
char t;
int i,j,la;
scanf("%s %s",a,b);
strcat(a,b);
la=strlen(a);
for(j=0;j<la;j++)
for(i=0;i<la-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
for(i=0;i<=la;i++)
{if(a[i]!=a[i+1])printf("%c",a[i]);
if(a[i]==a[i+1]){printf("%c",a[i]);i+=1;}}
printf("\n");
return 0;}
我的输出结果内容是正确的,但是在输出的最前面总是有一个空格,请各位给解释一下?怎么解决这个问题?
谢谢!! 展开
串中的数字或字母按照从小到大的顺序排列。排序规则:数字 < 大写字母 < 小写字母 输入 两个字符串,以空格分隔 输出
合并后的字符串
下面是我的程序:
#include<stdio.h>
#include<string.h>
int main()
{char a[10],b[10];
char t;
int i,j,la;
scanf("%s %s",a,b);
strcat(a,b);
la=strlen(a);
for(j=0;j<la;j++)
for(i=0;i<la-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
for(i=0;i<=la;i++)
{if(a[i]!=a[i+1])printf("%c",a[i]);
if(a[i]==a[i+1]){printf("%c",a[i]);i+=1;}}
printf("\n");
return 0;}
我的输出结果内容是正确的,但是在输出的最前面总是有一个空格,请各位给解释一下?怎么解决这个问题?
谢谢!! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询