首页 > 编程 > C > 正文

C语言小程序之数组操作实例代码

2020-02-24 14:37:35
字体:
来源:转载
供稿:网友
为了能让大家能循序渐进地学习C语言示例代码,我们将从最基础的C语言示例程序开始学习,那接下来先附上这篇C语言小程序之数组操作实例代码,一起来
了解下其中的详情吧。

#include
#include
#include
int size = 0;
int flag = 0;
void output(int *arry)
{
 int i = 0;
 for(i=0; 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 {
  arry[i] = rand() % 100;
 }
}
void add(int *arry, int pos, int num)
{
 int i = 0;
 if(pos>=0 && pos {
  if(pos   {
   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 {
  if(arry[pos] == num)
  {
   flag = 0;
   return pos;
  }
 }
 return -1;
}
void mod(int *arry, int pos, int num)
{
 if(pos>=0 && pos {
  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  {
   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("输入要产生多少个随机数:");
 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语言小程序之数组操作实例代码,如果大家想了解更多相关内容,请持续关注本站,本站小编将在第一时间为大家带来更好的经典内容。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选