本帖最后由 Croper 于 2019-3-26 21:51 编辑
话说你这很多写法都有问题啊#include<stdio.h>
int main()
{
int i=0,j,temp,m;
int a[i]; //这是什么写法,先不说常量表达式的问题,你这声明了一个零长度的数组是要搞哪样
printf("请输入\n");
do{
scanf("%d",&a[i]);
i=i+1;
}while(a[i-1]!=0);
m=i-1;
for(j=0;j<m-1;j++)
for(i=j+1;i<m;i++)
{
if(a[j]==a[i])
char(a[j]='t'); //这又是什么新写法,强制类型转换也不是这样写啊,然后你把一个整数赋值成⑨是要干什么
}
for(i=0;i<m;i++)
printf("%d\t",a[i]);
return 0;
}
不过还好,思路没问题,把这两个地方改了就行#include<stdio.h>
int main()
{
int i = 0, j, temp, m;
int a[100];
printf("请输入n\n");
do {
scanf("%d", &a[i]);
i = i + 1;
} while (a[i - 1] != 0);
m = i - 1;
for (j = 0; j < m - 1; j++) {
for (i = j + 1; i < m; i++)
{
if (a[j] == a[i]) {
a[i] = 0;
break; //这里可以加个break,避免重复运算
}
}
}
for (i = 0; i < m; i++) printf("%d\t", a[i]);
return 0;
}
|