萌新求大佬来解决一下字符串的问题。
c4droid吧
全部回复
仅看楼主
level 5
Aaalin🔥 楼主
为什么一图的程序在相同字符多的时候输出的会出现重复字符,二图在相同字符多的情况下puts输出的没问题,但是排完序后会出现相同字符。
2017年12月25日 12点12分 1
level 5
Aaalin🔥 楼主
源代码如下
2017年12月25日 12点12分 2
level 5
Aaalin🔥 楼主
一图#include<stdio.h>
int main ()
{
char a[10],*p,t;
int i,j,k,length;
p=a;
length=10;
gets(a);
for(i=0;i<length;i++)
{
for(j=i+1;j<length;j++)
if(a[j]==a[i])
{
for (k=j;k<length;k++)
a[k]=a[k+1];
length--;
}
}
puts(a);
for (i=0;i<length;i++)
for (j=i+1;j<length;j++)
if (*(p+i)>*(p+j))
{
t=*(p+i);
*(p+i)=*(p+j);
*(p+j)=t;
}
for (i=0;i<length;i++)
printf ("%c",*p++);
}
2017年12月25日 12点12分 5
二图#include<stdio.h> int main () { char a[10],*p,t; int i,j,k,length; p=a; length=10; gets(a); for(i=0;i<10;i++) {
2017年12月25日 12点12分
level 9
一图16行加j--;
2017年12月25日 23点12分 6
一图已解决,二图呢
2017年12月25日 23点12分
level 9
二图你的length没变。
2017年12月26日 00点12分 7
level 9
另外应该char a[11];
2017年12月26日 00点12分 8
嗯,我去试试
2017年12月26日 00点12分
level 9
gets();操作字符串很不安全应该用fgets(a,11,stdin);
2017年12月26日 00点12分 9
1