第1个回答 推荐于2017-09-11
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
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("原数组:\n");
srand((unsigned)time(NULL));
for(i = 0; i < n; ++i) {
a[i] = rand()%10;
if(i && i % 10 == 0) printf("\n");
printf("%d ",a[i]);
}
printf("\n");
n = simplification(a,n);
printf("去除相同元素后:\n");
for(i = 0; i < n; ++i) {
if(i && i % 10 == 0) printf("\n");
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
第2个回答 2020-04-17
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
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("原数组:\n");
srand((unsigned)time(NULL));
for(i = 0; i < n; ++i) {
a[i] = rand()%10;
if(i && i % 10 == 0) printf("\n");
printf("%d ",a[i]);
}
printf("\n");
n = simplification(a,n);
printf("去除相同元素后:\n");
for(i = 0; i < n; ++i) {
if(i && i % 10 == 0) printf("\n");
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
第3个回答 2020-02-11
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
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("原数组:\n");
srand((unsigned)time(NULL));
for(i = 0; i < n; ++i) {
a[i] = rand()%10;
if(i && i % 10 == 0) printf("\n");
printf("%d ",a[i]);
}
printf("\n");
n = simplification(a,n);
printf("去除相同元素后:\n");
for(i = 0; i < n; ++i) {
if(i && i % 10 == 0) printf("\n");
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
第4个回答 推荐于2017-09-16
main()
{ int i,j,t;
int a[10]={1,3,3,2,5,1,1,5,2,6};
t=a[0]; /*把第一个数赋给t*/
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;} /*后面补0*/
t=a[i+1]; /*把下一个数赋给t*/
}
for(i=0;i<10;i++)/*输出*/
printf("%d",a[i]);
}本回答被提问者采纳