黑马程序员技术交流社区

标题: 遍历数组,排序,模仿字符串函数..... [打印本页]

作者: Django小虾米    时间: 2015-12-31 22:45
标题: 遍历数组,排序,模仿字符串函数.....
  1. #include<stdio.h>
  2. #include<string.h>
  3. //输出2进制
  4. void printBinary(int n);
  5. //遍历2维数组
  6. void print2Wei(int row , int col , int arr[][col]);
  7. //遍历输入2维数组
  8. void scan2Wei(int row,int col,int arr[][col]);
  9. //冒泡排序
  10. void maoPao(int arr[],int len);
  11. //遍历1维数组
  12. void printArr(int arr[],int len);
  13. //选择排序
  14. void xuanZe(int arr[],int len);
  15. //遍历输入1维数组
  16. void scanArr(int arr[],int len);
  17. //模仿strlen函数
  18. int my_Strlen(char str[]);
  19. //模仿strcat函数
  20. void link(char head[],char tail[]);

  21. int main()
  22. {
  23.     char a[100]="first blood!";
  24.     char b[]="double kill!!";
  25.     link(a,b);
  26.    
  27.     printf("%s\n",a);
  28. }

  29. //打印2进制
  30. void printBinary(int n){
  31.     for (int i=31; i>=0; i--) {
  32.         
  33.         printf("%d",(n>>i)&1);
  34.         
  35.         if (i%4==0) {
  36.             printf(" ");
  37.         }

  38.     }
  39.     printf("\n");
  40. }

  41. //遍历2维数组
  42. //注意需要三个参数,而且定义参数的顺序有技巧,记住:2维数组只能省略第一维的个数,而不能省略第二维
  43. void print2Wei(int row , int col , int  arr[][col]){
  44.    
  45.     for (int i=0;i<row; i++) {
  46.         for (int j=0; j<col; j++) {
  47.             printf("%d\t",arr[i][j]);
  48.         }
  49.         printf("\n");
  50.     }
  51. }

  52. //遍历输入2维数组
  53. void scanf2Wei(int row,int col,int arr[][col]){
  54.     for (int i=0; i<row; i++) {
  55.         for (int j=0; j<col; j++) {
  56.             printf("arr[%d][%d]=",i,j);
  57.             scanf("%d",&arr[i][j]);
  58.         }
  59.     }
  60. }

  61. //冒泡排序
  62. void maoPao(int arr[],int len){
  63.     for (int i=0; i<len; i++) {
  64.         for (int j=0; j<len-i; j++) {
  65.             if (arr[j]>arr[j+1]) {
  66.                 int temp = arr[j];
  67.                 arr[j] = arr[j+1];
  68.                 arr[j+1] = temp;
  69.             }
  70.         }
  71.     }
  72. }

  73. //遍历1维数组
  74. void printArr(int arr[],int len){
  75.     for (int i=0; i<len ; i++) {
  76.         printf("%d ",arr[i]);
  77.     }
  78.     printf("\n");
  79. }

  80. //遍历输入1维数组
  81. void scanArr(int arr[],int len){
  82.     printf("请依次输入%d个数字:\n",len);
  83.     for (int i=0; i<len ; i++) {
  84.         printf("arr[%d]=",i);
  85.         scanf("%d",&arr[i]);
  86.     }
  87. }

  88. //选择排序
  89. void xuanZe(int arr[],int len){
  90.     for (int i=0; i<len; i++) {
  91.         for (int j=i+1; j<=len; j++) {
  92.             if (arr[i]>arr[j]) {
  93.                 int temp = arr[i];
  94.                 arr[i] = arr[j];
  95.                 arr[j] = temp;
  96.             }
  97.         }
  98.     }
  99. }

  100. //模仿strlen函数
  101. int my_Strlen(char str[]){
  102.     int i =0;
  103.     while(str[i] != 0 ){
  104.         i++;
  105.     }

  106.     return i;
  107. }

  108. //模仿strcat函数(连接)
  109. void link(char head[],char tail[]){
  110.     int i=0,j=0;
  111.    
  112.     while (head[i] != 0){
  113.         i++;
  114.     }
  115.    
  116.     while (tail[j] != 0) {
  117.         head[i] = tail[j];
  118.         i++;
  119.         j++;
  120.     }
  121.     head[i]=0;
  122. }







复制代码

作者: 小ㄟMò    时间: 2016-1-1 10:01
这代码怎么弄上去的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2