小程序:编写一个程序,将数组a中的相同的数据删除的只剩一个,然后输出;
2012-08-11 21:59
363 查看
无聊,写着玩的,敲敲键盘心情好多了~~
/* **编写一个程序,将数组a中的相同的数据删除的只剩一个,然后输出; */ #include<stdio.h> #include<stdlib.h> #define ARRAY_LEN 50 int array[ARRAY_LEN]; void getArrayLen(int *len) { bool flag = true; while(flag) { printf("\n请输入数组Array的长度(<50):"); scanf("%d",len); //len=getchar(); //printf("len = %d",len); if((*len<=0)||(*len>50)) { printf("无效输入,请重新输入"); getchar(); } else { flag=false; } } } void initArray(int *len) { printf("\n初始化数组,请输入数组Array的元素(元素用','隔开):"); for(int i=0; i<*len; i++) scanf("%d,",&array[i]); } void listArray(int *len) { for(int i=0; i<*len; i++) printf("%d ",array[i]); printf("\n"); } void deleteItem(int pos, int *len) { for(int i=pos; i<*len;i++) { array[i]=array[i+1]; } *len=*len-1; //printf("\nB数组长度-1,%d:",*len); } void lookSameItem(int *len) { for(int i=0; i<*len;i++) { for(int j=i+1;j<*len;j++) { if(array[i]==array[j]) { //printf("\nSame Item,i is %d, j is %d,array[i] is %d,array[j] is %d\n",i,j,array[i],array[j]); deleteItem(j,len); i--;//删除重复元素后,暂时先不比较下个元素,因为数组中的元素有改变,当前位置需重新检查 j--; } } } } int main(void) { int len; getArrayLen(&len); printf("len = %d",len); initArray(&len); printf("\n初始化时数组有%d个元素:",len); listArray(&len); lookSameItem(&len); //查找重复元素并删除 printf("\n删除重复元素后数组有%d个元素:",len); listArray(&len); return 0; }
相关文章推荐
- OC字典存入数组,输出数组中数据,并且删除小明一项,然后进行排序、现根据班级排序,班级相同的用年龄进行排序
- 编写一个程序,自定义以为数组,删除一维数组中所有相同的数,使之只剩一个。数组中的数按由小到大顺序排列,并显示运行所用时间。
- // 编写一个程序,在E盘下创建一个abc.txt的文本文档,通过输出流在文档内添加数据,然后在把abc.txt复制到F盘下
- 编写一个JAVA程序,创建指定长度的 int 型数组,并生成 100 以内随机数为数组中的每个元素赋值,然后输出数组
- 编写一个程序,在E盘下创建一个abc.txt的文本文档,通过输出流在文档内添加数据,然后在把abc.txt复制到F盘下
- 编写程序从标准输入设备读入的元素数据建立一个int型vector对象,然后动态创建与该vector大小一致的数组,把vector对象的所有元素复制给该数组
- 编写一个C#程序,要求定义一个行数和列数相等的二维数组, 并执行初始化,然后计算并输出数组两条对角线上的元素之和。
- 编写一个程序,已有若干学生的数据,包括学号,姓名,成绩,要求输出这些学生的数据并计算出学生人数和平均成绩
- 使用TCP协议编写一个网络程序,设置服务器端的监听端口是8002,当与客户端建立连接后,服务器端向客户端发送数据“Hello, world”,客户端收到数据后打印输出
- 微信小程序开发中数据绑定一个对象到数组中,然后取值的一个注意点
- [4.21]编写一个程序,已有若干个学生的数据,包括学号、姓名、成绩、要求输出这些学生的数据并计算出学生人数和平均成绩(要求将学生人数和总成绩用静态数据成员表示)。
- 【C语言】用结构体数组实现:有三个候选人,每个选民只能选一个人,编写一个选票程序,最终输出候选人的票数
- lesson 11:使用TCP协议编写一个网络程序,设置服务器端的监听端口是8002,当与客户端建立连接后,服务器端向客户端发送数据“Hello, world”,客户端收到数据后打印输出。
- 编写一个程序把8个整数读入一个数组,然后以相反的顺序打印他们
- 用unity来写 二维数组编写程序定义一个二维数组arr,该数组一共有4行3列,如下表所示,请把下表中的所有对应数据利用赋值语句赋值到该二维数组arr中去arr 第0列第1列第2列第0行第1行第2行第
- 编写一个程序读入一行输入,然后反向打印该行,您可以把输入存储在一个char数组中: 假定该行不超过255个字符。回忆一下,您可以使用具有%c说明符的scanf()从输入中一次 读入一个字符,而且当您按
- 《c primer pius》第六章第14题,发现网上好多都有问题,编写一个程序读入一行输入,然后反向打印该行,您可以把输入存储在一个char数组中
- 60}的C程序 高手帮忙写下`` 46 35 27 21 16 10 9 5 然后输出数组a。已知 int a[11]={1 使数组a仍然有序 将x插入到有序整型数组a中 由键盘输入一个整数x
- 打印不同的数(编写一个程序,使用指针访问数组方式,读入十个数,输出其中不同的数,即一个数如果出现多次,只打印一次)
- 编写一个函数print,打印一个学生的成绩数组,该书组中有五个学生的数据,每个学生的数据包括num(学号)、name(姓名)、score(3门课的成绩)、用主函数输入这些数据,用print函数输出这些