C語言小程序 數(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語言合并兩個(gè)已排序數(shù)組的示例(c語言數(shù)組排序)
- C語言求連續(xù)最大子數(shù)組和的方法
- C語言柔性數(shù)組實(shí)例詳解
- C語言構(gòu)建動(dòng)態(tài)數(shù)組完整實(shí)例
- C語言安全之?dāng)?shù)組長度與指針實(shí)例解析
- C語言安全編碼數(shù)組記法的一致性
- c語言動(dòng)態(tài)數(shù)組示例
- 約瑟夫環(huán)問題(數(shù)組法)c語言實(shí)現(xiàn)
- C語言二維數(shù)組的處理實(shí)例
- C語言數(shù)組指針的小例子
- c語言字符數(shù)組與字符串的使用詳解
- c語言中用字符串?dāng)?shù)組顯示菜單的解決方法
- C語言實(shí)現(xiàn)在數(shù)組A上有序合并數(shù)組B的方法
相關(guān)文章
Qt?10進(jìn)制和16進(jìn)制轉(zhuǎn)換的使用示例
在編程過程中,處理16進(jìn)制字符串與10進(jìn)制數(shù)字之間的轉(zhuǎn)換是很常見的需求,本文主要介紹了Qt?10進(jìn)制和16進(jìn)制轉(zhuǎn)換的使用示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
應(yīng)用程序操作NorFlash示例代碼分享(norflash接口使用方法)
相對(duì)于操作NandFlash,操作NorFlash相對(duì)簡(jiǎn)單,因?yàn)榛静恍枰紤]壞塊,NorFlash也沒有OOB區(qū)域,也跟ECC沒有關(guān)系。讀寫擦除相對(duì)容易,下面看個(gè)例子吧2013-12-12
C語言數(shù)據(jù)結(jié)構(gòu)順序表中的增刪改(尾插尾刪)教程示例詳解
這篇文章主要為大家介紹了C語言數(shù)據(jù)結(jié)構(gòu)順序表中的增刪改教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-02-02
C++對(duì)Json數(shù)據(jù)的友好處理實(shí)現(xiàn)過程
在Ajax的應(yīng)用中,前臺(tái)基本上會(huì)用到JSON作為數(shù)據(jù)交換格式,所以下面這篇文章主要給大家介紹了關(guān)于C++對(duì)Json數(shù)據(jù)的友好處理,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02

