用c语言编一个程序,要求输入5(用户自定义)个数字,用数组接收,然后进行冒泡法排序,接着如果有重复的数字,则删除重复的数字,只留一个再与其它不重复的数字排序后再输出!比如输入2 5 6 3 4,则输出2 3 4 5 6;输入4 2 2 3 5,则输出2 3 4 5。不要太复杂,最好用for循环,也不要用函数调用。
#include <stdio.h>
main()
{
int
i,j,t;
int
a[10];
printf
(
"请输入10个数:\n"
);
for
(i=0;i<10;i++)
scanf
(
"%d"
,&a[i]);
printf
(
"输入的10个数是:"
);
for
(i=0;i<10;i++)
printf
(
"%d "
,a[i]);
printf
(
"\n"
);
for
(i=0;i<10;i++)
{
for
(j=i+1;j<10;j++)
{
if
(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
printf
(
"10个数排序后是:"
);
for
(i=0;i<10;i++)
{
printf
(
"%d "
,a[i]);
}
printf
(
"\n"
);
for
(i=0;i<9;i++)
{
if
(a[i]==a[i+1])
{
for
(j=i+1;j<9;j++)
a[j]=a[j+1];
}
}
printf
(
"删除重复数字后:"
);
for
(i=0;i<10;i++)
{
if
(i>0&&a[i-1]==a[i])
break
;
printf
(
"%d "
,a[i]);
}
printf
(
"\n"
);
}
#include <stdio.h>
main()
{
int
i,j,t;
int
a[10];
printf
(
"请输入10个数:\n"
);
for
(i=0;i<10;i++)
scanf
(
"%d"
,&a[i]);
printf
(
"输入的10个数是:"
);
for
(i=0;i<10;i++)
printf
(
"%d "
,a[i]);
printf
(
"\n"
);
for
(i=0;i<10;i++)
{
for
(j=i+1;j<10;j++)
{
if
(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
printf
(
"10个数排序后是:"
);
for
(i=0;i<10;i++)
{
printf
(
"%d "
,a[i]);
}
printf
(
"\n"
);
for
(i=0;i<9;i++)
{
if
(a[i]==a[i+1])
{
for
(j=i+1;j<9;j++)
a[j]=a[j+1];
}
}
printf
(
"删除重复数字后:"
);
for
(i=0;i<10;i++)
{
if
(i>0&&a[i-1]==a[i])
break
;
printf
(
"%d "
,a[i]);
}
printf
(
"\n"
);
}