1楼:
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(void),ln;
for(ln=sizeof(a)/sizeof(int),k=i=1;i=k) a[k++]=a[i];
}for(i=0;i printf("\n");} c语言删除一个整型数组里面重复的元素 2楼:匿名用户 利用双重循环,将每个值依次与其后面的值相比较,如果有相同的则删除该元素即可。 删除时,可以使用将后面元素依次向前移动一位,同时总长度减一的方式。 参考**如下: intremove_repeat(int*a,intl){inti,j,k; for(i=0;i 3楼:周小狐狸爱我 int elimination(int a, int count)}} return count;} 4楼:匿名用户 我跟你直接说思路吧,他们这样的双重循环数组太大的话很耗时间的,你可以,先给数组排序,然后删除多余的数就很耗操作了,只需要看相邻的数就可以了。 5楼:匿名用户 int i, j; int buf = ; int count = strlen(buf); for(i = 0; i < count; i++)}}buf[count] = '\0'; 提供给你个思路 我没有调试,不过思路我觉得不错! 就是从数组里第一个元素开始找相同的,如果相同就把 相同元素和数组最后一位交换,下一个相同的就和数组倒数第二位交换,最后把 count位变成‘/0’,最后打印数组。 6楼:匿名用户 for(int i=0; iif(arr[j]=arr[i])length--; break;}}} 7楼:匿名用户 将第一个元素输出,再后面的一个个与前面的比较,有相等的就继续循环,不等的就输出,用for语句做 c语言,删除数组中的重复元素 8楼: //#include "stdafx.h"//vc++6.0加上这一行. #include "stdio.h" void main(void),ln; for(ln=sizeof(a)/sizeof(int),k=i=1;i=k) a[k++]=a[i]; }for(i=0;i printf("\n");} 9楼:匿名用户 #include #define n 1000 #define flag 0x80000000 /*特殊标记,用最小的负数表示*/ void main( ) }for(i = 0; r[i] != flag; i++); /*找到第一个特殊标记*/ for(j = i + 1; j < length;) /*删除数列中的特殊标记*/ length = i; /*修改删除重复值后的数列的长度*/for(i = 0; i < length; i++)printf("%-4d", r[i]);} c语言中,如何用删除法删除数组中相同的数字 10楼:会飞的小兔子 #include intdel_same(intdate,intn); intdel_same(intdate,intn)returnk;//返回删除后的有效长度 }intmain(void) 扩展资料c语言在数组中删去指定数字 #include #include intmain() for(inti=0;i<10;i++) }for(inti=0;i return0;} 11楼:zhōu光 main() ;t=a[0]; /*把第一个数赋给t*/for(i=1;i<10;i++) /*后面补0*/ t=a[i+1]; /*把下一个数赋给t*/}for(i=0;i<10;i++)/*输出*/printf("%d",a[i]);} 12楼:匿名用户 #include #include #include intsimplification(inta,intn)}} returnn; }intmain() printf("\n"); n=simplification(a,n); printf("去除相同元素后:\n"); for(i=0;i return0;} 13楼:匿名用户 void main() ;for(int m=0;m否有相同的*/ }}for(i=0;i 14楼:刘袁拓 #include int main() }for(i=0;i<10;i++) printf("\n"); getchar(); getchar();} 15楼:灬朋朋灬 才5分啊 让别人抢去吧 16楼:可爱的小知道 要是想用牛刀的话,可以用vector 或list.哈哈哈. c语言,删除数组中的重复数字然后输出 17楼:凌乱心扉 #include "stdio.h" #include "string.h" void main() ;for(k=i=1;i<10;i++) if(j==k) a[k++]=a[i]; }printf(" \n "); for(i=0;i 18楼:荒村归来 楼主程序有问题的地方:k值的初始化(k需要在每次循环时 跟j同时初始化) 楼主在循环对比a、b时,除了第一次执行循环时,对k初始化了,后面执行循环时,由于k没有初始化,故导致k越来越大,而j却在每次循环时,初始化了,故无论如何k,j都不会出现相等的。 19楼:汽水 #include #define n 10 //数组长度 void main() for(i=0;i if(sg==0) printf("%d\t",a[i]);//输出不是重复的数}printf("\n重复的数共计:%d个\n",count); }这是我的**,。。。。已经有人给出了,和我的思路差不多,说说你的想法,你的算法应该有问题 20楼:田真久 #include intmain() {intn,i,j,arr1[100],arr2[100]; intindex=0,count,current=0;//current记录当前是否重复count记录重复多少次 scanf("%u",&n); for(i=0;i查是 否有和当前数字重复的 for(j=0;j 删除有序数组中的重复元素c语言 21楼:匿名用户 intremove(int*arr,intsz)//当index与i之间有其他元素,那么这些元素必定是重复得了,直接覆盖掉 }returnindex+1;} 22楼:编**的没意思 如果注意到是有序,你还是要问的话= = c语言 去掉数组中重复的元素····求帮助 23楼:飞丶逐梦 #include int main() ;int i; int j; for(i=0;i<12;i++) for(j=0;j!=0) printf("%d,",a[i]); }我这个方法不适用与数组中有0的情况,如果数组中有0的话,可以把a[i]=0和if(a[i]!=0)上的0改成其他数组中没有的数就行了 24楼:匿名用户 我用的是字符数组。。。其实方法都一样。。#include#include #define maxsize 100int main()i--;}} i = 0; while( array[i] != '\0' )printf( "\n" ); return 0;} 25楼:匿名用户 说的不是很清楚,数组定义的时候就删除?看来你对数组的操作还不是很清楚,应该是在数据写入数组的时候将其删除吧。你可以这样,如果数组不大,在写入数据的时候先遍历一遍数组看看数组中是否有该数据,如果有那么就不把数据写入数组,如果没有就接着最后一个元素写入数组就可以了。 26楼:匿名用户 for(int i = 0; i < sizeof(a)/sizeof(a[0]);i++) }if(bexsit == false)} 27楼:匿名用户 #include int main() else j++; }i++ ; } puts(str);} 28楼:董俊锟 #include void main() }for(i = 0; i < k; i++)} c语言问题 把一个数组中的重复元素去掉 29楼:凌乱心扉 #define _crt_secure_no_deprecate#include #include #include using namespace std; 去掉字符串中重复的字符并排序 int main()}} int newsize = input.size() - count; string str(newsize,'0'); //创建一个长为newsize,用‘0’填充的字符串 int j = 0; for (int i = 0; i < input.size(); i++) }sort(str.begin(), str.end()); cout << str<}} 30楼:用着追她 1、首先,点击桌面上的vc++6.0,打 开软件。 2、打开软件之后,点击右上方的【文件】【新建】。进入后,再点击【文件】,选择c++ source file.最后点击【确定】。 3、输入**(定义数组): int i;int x[7]; for(i=0;i<7;i++)。 4、输入**(对元素进行倒序排列):for(i=0;i<3;i++) 。 5、电击界面上方的感叹号,开始运行。输入数组的数据。 31楼:匿名用户 先排序,在进行遍历比较。 #include //升序数组src voidsort(int*src,intlen)}}intmain() ,d; inti=0,**t; sort(num,10);//排序d=num[0]; for(i=1;i<10;i++)//遍历比较}if(num[9]==d) printf("%d\n",d); return0;} 32楼: intmain() for(i=0;i<9-m;i++)//i<=9---->i<9-mm++; j=i+1; }else j++;}} for(i=0;i<=9-m;i++) return0; }其实就是改了下循环条件而已(既然下面的循环都用了m了,为什么上面不用呢) 33楼:南瓜猪的的的 基本思路 先将数组排序 拷贝数组去重 #include inta=; intb[16]; intless(void*a,void*b)intunique(int*input,constintsize_input,int*ans) qsort(a,size_input,sizeof(int),less); ans[size_ans]=input[0]; for(;ii 1楼 匿名用户 首先要确定数组中存的是什么类型的数据,之后strlen他的长度,从0开始到strlen a 10 2为止,两个for循环比较,如果相等,删除那两个数据 就是将他赋值为空 就是这样 2楼 匿名用户 void main b 10 int i j k 0 c 0 for i 0 i str...C语言数组中重复的数据都不要,C语言编程:判断数组里有没有重复数字,有true,无false