C语言小程序(六)、数组操作
来源:互联网 发布:枪神纪近战武器数据 编辑:程序博客网 时间:2024/05/18 17:58
对数组进行操作,查找、插入、删除。
#include <stdio.h>#include <stdlib.h>#include <time.h>int size = 0;int flag = 0;void output(int *arry){int i = 0;for(i=0; i<size; i++){printf("arry[%d]=%d\t",i,arry[i]);if((i+1)%5 == 0)printf("\n");}printf("\n");}void getarry(int *arry){int i = 0;srand(time(NULL));for(i=0; i<size; i++){arry[i] = rand() % 100;}}void add(int *arry, int pos, int num){int i = 0;if(pos>=0 && pos<=size){if(pos < size)//在中间插入{for(i=size; i>pos; i--){arry[i] = arry[i-1];}arry[pos] = num;}else//在最后的位置插入{arry[size] = num;}size++;}elseprintf("只能在0-%d的位置插入。\n",size);}int search(int *arry, int num){static int pos = 0;if(flag)pos++;for(; pos<size; pos++){if(arry[pos] == num){flag = 0;return pos;}}return -1;}void mod(int *arry, int pos, int num){if(pos>=0 && pos<size){arry[pos] = num;}else{printf("输入位置错误。\n");}}int del(int *arry, int num){int count = 0;int pos = 0;int i = 0;pos=search(arry, num);while(pos+1){for(i=pos; i<size; i++){arry[i] = arry[i+1];}count++;pos=search(arry, num);}return count;}int main(){//pos 0到size-1int *arry = NULL;int count = 0;int pos = 0;int num = 0;printf("输入要产生多少个随机数:");scanf("%d",&size);arry = malloc(2*size*sizeof(int));getarry(arry);output(arry);printf("输入要添加的位置(0-%d):",size);scanf("%d",&pos);printf("输入要添加的数字:");scanf("%d",&num);add(arry, pos, num);output(arry);printf("输入要查找的数字:");scanf("%d",&num);pos=search(arry, num);while(pos+1){flag = 1;count++;printf("arry[%d]=%d\n",pos, num);pos=search(arry, num);}printf("共找到%d个匹配数字\n",count);printf("输入要修改的位置:");scanf("%d",&pos);printf("输入要修改为数字:");scanf("%d",&num);mod(arry, pos, num);output(arry);printf("输入要删除的数字:");scanf("%d",&num);del(arry, num);output(arry);free(arry);arry = NULL;return 0;}
- C语言小程序(六)、数组操作
- C语言数组小程序
- C语言学习笔记(六)---行列式求值小程序
- C语言(六)--数组
- C语言小程序------------数组实现栈功能(一)
- C语言小程序(五)、数组查询
- C语言操作windows的小程序
- c语言入门(六)二维数组
- C语言基础(六)数组
- C语言学习历程(六)几个有趣的循环和关键字的小程序
- C语言程序学习(六)笔记
- C语言程序概述(六)
- C语言小碎片六
- C语言小程序
- C语言小程序
- C语言小程序
- c 语言小程序
- C语言小程序
- HTML快速入门+常用标记
- 怎样学好hibernate!(http://edu.csdn.net/news/2012822/240ca26f0d7e.shtml)没事下载下来看哦!
- MFC Edit control用法
- jquery笔记
- malloc和new的区别
- C语言小程序(六)、数组操作
- 使用eclipse来打jar包
- 第一次参加Coding Dojo(编程道场)有感
- 【练习04】 字典树 1001 Hat’s Words
- Hibernate学习笔记
- 编译 mongoclient.lib
- C++成员初始化列表使用总结
- 利用双缓冲技术将位图像素数据写到DIB位图中并在指定的窗口显示(主要使用CreateDIBSection和BitBlt方法)
- DBGridEh控制单元格显示以及存储过程 触发器和视图以及事务的使用