}
if(c==0&&m<=7){
printf("No repeated numbers.");
return 0;}
for(x=0;x
for(y=0;y
b[y]=b[y+1];
b[y+1]=r;
}
}
for(r=0;r<=c-1;r++)printf("%c ",b[r]);
return 0;
}
修改如下,改动处见注释,供参考:
#include <stdio.h>
#include <string.h>
int main()
{
int m,i=0,j,c=0,x,y,r;
char a[100],b[100]={0}; //修改,计数数组b[]元素初始化为 0.
gets(a);
m=strlen(a);
if(m>7){
printf("Invalid input.");
return 0;
}
for(i=0;i<m-1;i++){
for(j=i+1;j<m;j++){ //for(j=i+1;j<=m-1;j++) 修改
if(a[i]==a[j] && !b[a[i]]){ //修改
b[a[i]]++;
//c++;
//b[c-1]=a[j];
//break;
}
}
}
/* 修改 这段代码多余
if(c==0&&m<=7){
printf("No repeated numbers.");
return 0;
}
for(x=0;x<c-1;x++){
for(y=0;y<c-x-1;y++)
if(b[y]>b[y+1]){
r=b[y];
b[y]=b[y+1];
b[y+1]=r;
}
}
*/
for(r=0,x=0;r<100;r++) // for(r=0;r<=c-1;r++) 修改
if (b[r] != 0){
printf("%c ",r);
x=1; //修改
}
if(!x) printf("No repeated numbers.");//修改
return 0;
}