程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話小法式 數組操作示例代碼

C說話小法式 數組操作示例代碼

編輯:關於C++

C說話小法式 數組操作示例代碼。本站提示廣大學習愛好者:(C說話小法式 數組操作示例代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話小法式 數組操作示例代碼正文



#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("輸出地位毛病。\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("輸出要發生若干個隨機數:");
 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;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved