arrays - 用C语言打印出数组中的唯一元素?
问题描述
问题:打印出数组中的唯一元素。示例:我们有 {1,2,3,2,4,5,5,6],结果将是 {1,2,3,4,5,6}。
我只能设法打印出 {1,3,4,6}。这是我的代码:
#include <stdio.h>
void input(int a[], int n);
void show(int a[], int n);
int main()
{
int n, i;
printf("Enter number of elements: "); scanf("%d", &n);
int a[n];
input(a,n);
printf("\nArray before change!\n");
show(a,n);
printf("\n----------------------------------------");
printf("\nArray after change!\n");
int b[101];
for(i=0; i<101; i++)
{
b[i] = 0;
}
for (i=0; i<n; i++)
{
b[a[i]]++;
}
for(i=0; i < n; i++)
{
int j = 0;
if (b[a[i]] == 1)
{
printf("%d ", a[i]);
}
}
return 0;
}
//------------------------------------------------------------------------------
void input(int a[], int n)
{
int i;
for(i=0; i < n; i++)
{
printf("a[%d] = ", i);
scanf("%d", &a[i]);
}
}
void show(int a[], int n)
{
int i;
for(i=0; i < n; i++)
{
printf("%d ", a[i]);
}
}
在上面的代码中,我使用数组 b[] 作为计数器来计算每个元素的存在。我坚持不能打印多次出现的元素。你有什么想法破解这个吗?我谢谢你。
解决方案
#include <stdio.h>
void input(int a[], int n);
void show(int a[], int n);
int main(){
int i=0,j,k=0,n;
int a[10];
int b[10];
printf("Enter number of elements: "); //number of elements you want to store.
scanf("%d", &n);
input(a,n);
printf("\nArray before change!\n");
show(a,n);
//removing duplicate elements from array.
for(i=0; i<n ; i++){
for(j=i-1 ; j>=0 ; j--)
if(a[j]==a[i])
goto down;
b[k++] = a[i]; // storing unique elements in array b.
down: ;
}
printf("\n----------------------------------------");
printf("\nArray after change!\n");
show(b , k);
return 0;
}
//------------------------------------------------------------------------------
void input(int a[], int n){
for(int i=0; i < n; i++)
scanf("%d", &a[i]);
}
void show(int a[], int n){
for(int i=0; i < n; i++)
printf("%d ", a[i]);
}
推荐阅读
- android - 保存后不显示个人资料图像(它只显示空白屏幕)
- .net - 发生意外关闭时,有什么方法可以防止 service.exe 损坏
- ionic-framework - Ionic 3 启动项目耗时太长
- python - 无法导入 os.listdir
- mysql - MySQL:带有选项卡的 CONCAT 字符串的意外结果
- javascript - 如何控制台记录整个 HTML 表单?
- c# - 在 Visual Studio 中运行应用程序时如何运行单元测试
- sql - 结合两个 sql 查询,每个查询都有一个 with 子句
- ionic3 - ionic 3 textarea 自动调整大小(不是 ion-textarea)
- sql - like 语句是否会吸引 SQL 注入