码迷,mamicode.com
首页 > 编程语言 > 详细

用函数实现数组的初始化、逆置和清空

时间:2015-10-16 19:09:11      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:数组

------------------------------------------------------------------------------------------------------

       函数,也叫”方法“,每个函数可以看作不同的模块,可以用来实现不同的功能,什么地方需要实现这个功能,调用即可;大大提高了程序的复用性,节省人力和时间。

------------------------------------------------------------------------------------------------------


C语言代码如下:

# include <stdio.h>
# include <stdlib.h>
# include <string.h>


void init(int str1[],int x)
{
     int i;
 
     printf(" 请输入十个元素:");
     for (i = 0; i < x; i++)
     {
          scanf("%d ",&str1[i]);
     }
     
     printf(" 初始化后的数组为:");
     for (i = 0; i < x; i++)
     {
          printf("%d ",str1[i]);
     }
     printf("\n *提示*初始化成功!\n\n");
}




void empty(int str2[], int y)
{
     int j = 0;
     
     for (j = 0; j < y;j++)
     {
          str2[j] = 0;
     }
     
     printf(" 清空后的数组为:");
     for (j = 0; j < y; j++)
     {
          printf("%d ",str2[j]);
     }
     printf("\n *提示*数组清空成功!\n\n");
}


void reverse(int str3[],int z)
{
     int k,sign,ret;
     
     printf(" 逆置前的数组:");
     for (k = 0; k < z; k++)
     {
          printf("%d ", str3[k]);
     }
     
     sign = z - 1;
     for (k = 0; k < z/2; k++)           //首尾依次交换
     {
      ret = str3[k];
      str3[k] = str3[sign];
      str3[sign] = ret;
      sign--;
     }
     
     printf("\n 逆置后的数组:");
     for (k = 0; k < z; k++)
     {
          printf("%d ",str3[k]);
     }
     printf("\n\n");
}


void show()
{
     printf("\t********************************\n");
     printf("\t******* 1. 初始化数组 **********\n");
     printf("\t******* 2. 逆置数组   **********\n");
     printf("\t******* 3. 清空数组   **********\n");
     printf("\t******* 0. 退出       **********\n");
     printf("\t********************************\n\n\n");
}


int main()
{
     int arr[10],space;
     int n=1;
     
     space = sizeof(arr) / sizeof(arr[0]);
     
     while (n)
     {
          show();
          printf("请选择操作:");
          scanf("%d", &n);
      
          switch (n)
          {
              case 1:
               init(arr, space);
               break;
              case 2:
               reverse(arr, space);
               break;
              case 3:
               empty(arr, space);
               break;
              default:
               break;
          }
     }
     system("pause");
     return 0;
}

------------------------------------------------------------------------------------------------------

干货小知识:函数和全局变量具有外部链接属性;在全局变量前加上static使其具有内部链接属性;

             标示符的多个声明被当做不同的实体具有“无属性即none”,例如形参。                    

------------------------------------------------------------------------------------------------------


本文出自 “无名小卒” 博客,请务必保留此出处http://814193594.blog.51cto.com/10729329/1703520

用函数实现数组的初始化、逆置和清空

标签:数组

原文地址:http://814193594.blog.51cto.com/10729329/1703520

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!