C語(yǔ)言小程序 數(shù)組操作示例代碼
更新時(shí)間:2013年07月22日 11:26:01 作者:
對(duì)數(shù)組進(jìn)行操作,查找、插入、刪除
復(fù)制代碼 代碼如下:
#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++;
}
else
printf("只能在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("輸入位置錯(cuò)誤。\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-1
int *arry = NULL;
int count = 0;
int pos = 0;
int num = 0;
printf("輸入要產(chǎn)生多少個(gè)隨機(jī)數(shù):");
scanf("%d",&size);
arry = malloc(2*size*sizeof(int));
getarry(arry);
output(arry);
printf("輸入要添加的位置(0-%d):",size);
scanf("%d",&pos);
printf("輸入要添加的數(shù)字:");
scanf("%d",&num);
add(arry, pos, num);
output(arry);
printf("輸入要查找的數(shù)字:");
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個(gè)匹配數(shù)字\n",count);
printf("輸入要修改的位置:");
scanf("%d",&pos);
printf("輸入要修改為數(shù)字:");
scanf("%d",&num);
mod(arry, pos, num);
output(arry);
printf("輸入要?jiǎng)h除的數(shù)字:");
scanf("%d",&num);
del(arry, num);
output(arry);
free(arry);
arry = NULL;
return 0;
}
您可能感興趣的文章:
- c語(yǔ)言合并兩個(gè)已排序數(shù)組的示例(c語(yǔ)言數(shù)組排序)
- C語(yǔ)言求連續(xù)最大子數(shù)組和的方法
- C語(yǔ)言柔性數(shù)組實(shí)例詳解
- C語(yǔ)言構(gòu)建動(dòng)態(tài)數(shù)組完整實(shí)例
- C語(yǔ)言安全之?dāng)?shù)組長(zhǎng)度與指針實(shí)例解析
- C語(yǔ)言安全編碼數(shù)組記法的一致性
- c語(yǔ)言動(dòng)態(tài)數(shù)組示例
- 約瑟夫環(huán)問(wèn)題(數(shù)組法)c語(yǔ)言實(shí)現(xiàn)
- C語(yǔ)言二維數(shù)組的處理實(shí)例
- C語(yǔ)言數(shù)組指針的小例子
- c語(yǔ)言字符數(shù)組與字符串的使用詳解
- c語(yǔ)言中用字符串?dāng)?shù)組顯示菜單的解決方法
- C語(yǔ)言實(shí)現(xiàn)在數(shù)組A上有序合并數(shù)組B的方法
相關(guān)文章
C++基于控制臺(tái)實(shí)現(xiàn)的貪吃蛇小游戲
這篇文章主要介紹了C++基于控制臺(tái)實(shí)現(xiàn)的貪吃蛇小游戲,實(shí)例分析了貪吃蛇游戲的原理與C++實(shí)現(xiàn)技巧,是非常經(jīng)典的游戲算法,需要的朋友可以參考下2015-04-04c++與python實(shí)現(xiàn)二分查找的原理及實(shí)現(xiàn)
本文介紹了c++與python實(shí)現(xiàn)二分查找的原理及實(shí)現(xiàn),二分查找指首先將數(shù)組中間值和目標(biāo)值進(jìn)行比較,如果相等則返回;如果不相等,則選擇中間值左邊的一半或者右邊的一半進(jìn)行比較;不斷重復(fù)直到檢索完畢,下文相關(guān)資料需要的朋友可以參考一下2022-03-03C語(yǔ)言采用文本方式和二進(jìn)制方式打開(kāi)文件的區(qū)別分析
這篇文章主要介紹了C語(yǔ)言采用文本方式和二進(jìn)制方式打開(kāi)文件的區(qū)別分析,有助于讀者更好的理解文本文件與二進(jìn)制文件的原理,需要的朋友可以參考下2014-07-07