C语言数组去重最简单的方法,c语言问题数组去重

1,c语言问题数组去重1234567891011121314151617181920212223242526 #include <stdio.h>intmain() intm, n, i, cur, pre; scanf("%d", &m); while(m--) scanf("%d", &n); scanf("%d", &cur); pre = cur; printf("%d ", cur); for(i = 1; i < n; i++) scanf("%d", &cur); if(cur != pre) pre = cur; printf("%d ", cur); } } printf("\n"); } return0;}1 1 2 35 8 13 2134 55void main() int i,f[10]; f[0]=f[1]=1; for(i=2;i<10;i++) f[i]=f[i-2]+f[i-1];//后一个数等于前两个数之和 } for(i=0;i<10;i++) if(i%4==0) //满四个数后 printf("\n");//换行 printf("%3d",f[i]); }}
2,c语言 去掉数组中重复的元素求帮助#include <stdio.h>int main()int a[]=int i;int j;for(i=0;i<12;i++)for(j=0;j<i;j++)if(a[j]==a[i])a[i]=0;for(i=0;i<12;i++)if(a[i]!=0)printf("%d,",a[i]);}我这个方法不适用与数组中有0的情况,如果数组中有0的话,可以把a[i]=0和if(a[i]!=0)上的0改成其他数组中没有的数就行了说的不是很清楚,数组定义的时候就删除?看来你对数组的操作还不是很清楚 , 应该是在数据写入数组的时候将其删除吧 。你可以这样,如果数组不大 , 在写入数据的时候先遍历一遍数组看看数组中是否有该数据,如果有那么就不把数据写入数组,如果没有就接着最后一个元素写入数组就可以了 。#include int main() { int a[]={1,2,1,7,3,2,3,4,5,8,7,6}; int i; int j; for(i=0;i
3,C语言数组去除重复内容用两个游标控制,可以方便的实现 , 参考代码如下:#include<stdio.h>#define SIZE 12int a[SIZE]=int main()int i=1,j=0;while(i<SIZE)if(a[j]!=a[i])++j;a[j]=a[i];++i;} else ++i;for(i=0;i<=j;++i)printf("%d",a[i]);if(i<j)printf(",");}return 0;}网页链接#include<stdio.h>#define SIZE 12main() int a[SIZE] = int count = 1;int i = 0;for (i = 1; i < SIZE; i++) if (a[i] != a[count - 1]) a[count++] = a[i];}}if (count > SIZE) count--;for (i = 0; i < count; i++) printf("%d ", a[i]);}}chachong(a[6]);//函数调用int chachong(int a[]);//函数声明这问题需要楼主了解数组知识a[6]只是一个值;而且是一个未定义的值;因为数组a不存在下标为6的元素;建议改为chachong(a);//函数调用int chachong(int *a);//函数声明【C语言数组去重最简单的方法,c语言问题数组去重】

    推荐阅读