C语言中,如何用删除法删除数组中相同的数字
答案:6 悬赏:80 手机版
解决时间 2021-04-02 11:24
- 提问者网友:难遇难求
- 2021-04-02 02:12
C语言中,如何用删除法删除数组中相同的数字
最佳答案
- 五星知识达人网友:动情书生
- 2021-04-02 02:30
#include
#include
#include
int simplification(int a[], int n) {
int i,j,k;
for(i = 0; i < n - 1; ++i) {
for(j = i + 1; j < n; ++j) {
if(a[i] == a[j]) {
for(k = j; k < n - 1; ++k)
a[k] = a[k + 1];
--j;
--n;
}
}
}
return n;
}
int main() {
int a[30],i,n = 30;
printf("原数组:
");
srand((unsigned)time(NULL));
for(i = 0; i < n; ++i) {
a[i] = rand()%10;
if(i && i % 10 == 0) printf("
");
printf("%d ",a[i]);
}
printf("
");
n = simplification(a,n);
printf("去除相同元素后:
");
for(i = 0; i < n; ++i) {
if(i && i % 10 == 0) printf("
");
printf("%d ",a[i]);
}
printf("
");
return 0;
}
#include
#include
int simplification(int a[], int n) {
int i,j,k;
for(i = 0; i < n - 1; ++i) {
for(j = i + 1; j < n; ++j) {
if(a[i] == a[j]) {
for(k = j; k < n - 1; ++k)
a[k] = a[k + 1];
--j;
--n;
}
}
}
return n;
}
int main() {
int a[30],i,n = 30;
printf("原数组:
");
srand((unsigned)time(NULL));
for(i = 0; i < n; ++i) {
a[i] = rand()%10;
if(i && i % 10 == 0) printf("
");
printf("%d ",a[i]);
}
printf("
");
n = simplification(a,n);
printf("去除相同元素后:
");
for(i = 0; i < n; ++i) {
if(i && i % 10 == 0) printf("
");
printf("%d ",a[i]);
}
printf("
");
return 0;
}
全部回答
- 1楼网友:雪起风沙痕
- 2021-04-02 09:27
才5分啊
让别人抢去吧
让别人抢去吧
- 2楼网友:洒脱疯子
- 2021-04-02 07:54
要是想用牛刀的话,可以用vector 或list.哈哈哈.
- 3楼网友:思契十里
- 2021-04-02 06:22
void main()
{
int i,t,n=10;
int a[10]={1,3,3,2,5,1,1,5,2,6};
for(int m=0;m {
t=a[m];
for(i=m+1;i {
if (t==a[i])
{
for(int j=i+1;j n--;
i--;
}
}
}
for(i=0;i
}
{
int i,t,n=10;
int a[10]={1,3,3,2,5,1,1,5,2,6};
for(int m=0;m
t=a[m];
for(i=m+1;i
if (t==a[i])
{
for(int j=i+1;j
i--;
}
}
}
for(i=0;i
}
- 4楼网友:酒安江南
- 2021-04-02 05:26
#include
int main()
{
char a[10];
int i,j;
printf("请输入数字\n");
scanf("%s",a);
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]==a[j]) a[j]='#'; //用于标识
}
}
for(i=0;i<10;i++)
{
if(a[i]!='#') printf("%c",a[i]);//用于选择怎么打出
}
printf("\n");
getchar();
getchar();
}
int main()
{
char a[10];
int i,j;
printf("请输入数字\n");
scanf("%s",a);
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]==a[j]) a[j]='#'; //用于标识
}
}
for(i=0;i<10;i++)
{
if(a[i]!='#') printf("%c",a[i]);//用于选择怎么打出
}
printf("\n");
getchar();
getchar();
}
- 5楼网友:上分大魔王
- 2021-04-02 03:55
main()
{ int i,j,t;
int a[10]={1,3,3,2,5,1,1,5,2,6};
t=a[0];
for(i=1;i<10;i++)
{
if (t==a[i])
{for(j=0;j+i<9;j++)
a[i+j]=a[i+j+1];
a[9]=0;}
t=a[i+1];
}
for(i=0;i<10;i++)
printf("%d",a[i]);
}
{ int i,j,t;
int a[10]={1,3,3,2,5,1,1,5,2,6};
t=a[0];
for(i=1;i<10;i++)
{
if (t==a[i])
{for(j=0;j+i<9;j++)
a[i+j]=a[i+j+1];
a[9]=0;}
t=a[i+1];
}
for(i=0;i<10;i++)
printf("%d",a[i]);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯