Lesson_C_04

学习要点:

      数组

数组定义的语法
数据类型 数组名[长度]={值1,值2,值3,值4.....}
数组是存放一组相同类型数据的容器,我们要想使用数组当中的某个数据,可以使用下标的形式进行取值,数组的下标是从0开始。数组内成员个数要小于等于定义数组时的数值,否则将会造成数组越界。


int array[10]={1,2,3,4,5,6,7,8,9,0};

char arrary[4]="love"; 同等于 char array[4]={'l','o','v','e'};

常用的排序算法:

冒泡排序 

选择排序

插入排序



//
//  main.c
//  Lesson_C_04
//
//  Created by lifewahaha on 15/3/24.
//  Copyright (c) 2015年 lifewahaha. All rights reserved.
//

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

void    SortRandomArray();
#define  SIZE  10
int  main(int  argc,  char  *argv[])
{
    /*
     int  a[SIZE]  =  {0},i=  0;
     for(i  =  0;  i  <  SIZE;  i++){
     a[i]  =  i+10;
     printf("a[%d]  =  %d\n",  i,  a[i]);
     
     }
     /反向输出
     for (i=0; i<SIZE; i++) {
     printf("%d \n",a[SIZE-i-1]);
     }
     /求和操作
     int sum;
     for (i=0; i<SIZE; i++) {
     sum+=a[i];
     }
     printf("和为:%d\n",sum);
     int resoult;
     数组连减
     for (i=0; i<SIZE; i++) {
     if (i==0) {
     a[i]=a[i];
     }else{
     a[i]=-a[i];
     }
     resoult+=a[i];
     }
     printf("连减结果为:%d",resoult);
     
     int array[20];
     int arraysum=0;
     for (int j=0; j<20; j++) {
     array[j]=arc4random()%41+10;
     arraysum+=array[j];
     }
     
     for (int j=0; j<19; j++) {
     for (int k=0; k<19-j; k++) {
     if (array[k]>array[k+1]) {
     int temp=array[k];
     
     array[k]=array[k+1];
     array[k+1]=temp;
     }
     }
     
     }
     printf("随机数最大值为:%d,最小值为:%d\n,和为:%d,平均值为:%d",array[19],array[0],arraysum,arraysum/20);
     int index=0;
     int array5[5];
     int array6[5];
     printf("请输入第一个数组--5个值逗号隔开:\n");
     //    while (index<5) {
     //      scanf("%d",&array5[index]);
     //        index++;
     //    }
     scanf("%d,%d,%d,%d,%d",&array5[0],&array5[1],&array5[2],&array5[3],&array5[4]);
     printf("请输入第二个数组--5个值逗号隔开:\n");
     
     scanf("%d,%d,%d,%d,%d",&array6[0],&array6[1],&array6[2],&array6[3],&array6[4]);
     
     
     for (index=0; index<4; index++) {
     for (int index1=0; index1<4-index; index1++) {
     if (array5[index1]>array5[index1+1]) {
     int temp=array5[index1];
     array5[index1]=array5[index1+1];
     array5[index1+1]=temp;
     }
     }
     
     
     }
     
     for (index=0; index<4; index++) {
     for (int index1=0; index1<4-index; index1++) {
     if (array6[index1]>array6[index1+1]) {
     int temp=array6[index1];
     array6[index1]=array6[index1+1];
     array6[index1+1]=temp;
     }
     
     }
     
     
     }
     for (int index=0; index<5; index++) {
     printf("%d ",array5[index]);
     }
     printf("\n");
     for (int index=0; index<5; index++) {
     printf("%d ",array6[index]);
     }
     int array7[10];
     for (int index=0; index<10; index++) {
     if (index<5) {
     array7[index]=array5[index];
     }else{
     array7[index]=array6[index-5];
     }
     
     }
     
     
     for (index=0; index<9; index++) {
     for (int index1=0; index1<9-index; index1++) {
     if (array7[index1]>array7[index1+1]) {
     int temp=array7[index1];
     array7[index1]=array7[index1+1];
     array7[index1+1]=temp;
     }
     
     }
     
     
     }
     printf("\n");
     
     for (int index=0; index<10; index++) {
     printf("%d ",array7[index]);
     }
     */
//    
//    int daylist[12]={31,28,31,30,31,30,31,31,30,31,30,31};
//    int year,month,day,allday=0;
//    scanf("%d-%d-%d",&year,&month,&day);
//    if ((year%4==0&&year%100!=0)||year%400==0) {
//        daylist[1]=29;
//    }
//    
//    for (int mindex =0; mindex<month-1; mindex++) {
//        allday+=daylist[mindex];
//    }
//    allday+=day;
//    printf("%d年-%d月-%d日 是第%d天\n",year,month,day,allday);
    
    /*  9.
    int a[]={5,-9,32,77,64,-24,14,0,21,45};
    int len=sizeof(a)/sizeof(int);
    int min=a[0],minindex=0,max=0,maxindex=0;
    for (int i=0; i<len ;i++) {
        if (min>a[i]) {
            min=a[i];
            minindex=i;
        }
        if (max<a[i]) {
            max=a[i];
            maxindex=i;
        }
    }
    printf("最大值为:%d,最小值为:%d,最大值的位置为:%d,最小值的位置为:%d\r",max,min,maxindex+1,minindex+1);
     */
    /* 10.
    char result[50]={0};
    char str1[]="Lanou ";
    char str2[]="23_class ";
    char str3[]="is niu best!";
    strcat(result, str1);
    strcat(result, str2);
    strcat(result, str3);
    printf("%s\r",result);
    */
    
    
//        char  string[11],  str1[11];
//        int  i;
//        for(i  =  0;  i  <  11;  i++)
//        {
//          str1[i]  =  'a';
//        }
//     strcpy(string,str1);
//    printf("%s",str1);
    
    unsigned  char  str[10],  i;
    for(i  =  0;  i  <  256;  i++)
        str[i]  =  i;
    return  0;
    
    
    
}
//int main(int argc, const char * argv[])
//{
//
//    SortRandomArray();
//    /*
//    int array[10]={7,8,8,6,5,1,2,4,3,10};
//    for (int i=0; i<9; i++) {
//        for (int j=0; j<9-i; j++) {
//            if (array[j]>array[j+1]) {
//                array[j]=array[j]+array[j+1];
//                array[j+1]=array[j]-array[j+1];
//                array[j]=array[j]-array[j+1];
//            }
//        }
//
//    }
//    for (int i=0; i<10; i++) {
//        printf("%d\n",array[i]);
//    }
//
//    */
//    //数组定义的语法
//    //数据类型 数组名[长度]={值1,值2,值3,值4.....}
//    //数组是存放一组相同类型数据的容器,我们要想使用数组当中的某个数据,可以使用下标的形式进行取值,数组的下标是从0开始。数组内成员个数要小于等于定义数组时的数值,否则将会造成数组越界。
//    //
//    //******************冒泡排序**************
//
//    /*
//     int a[5]={3,2,5,1,4};
//    for (int i=0; i<5; i++) {
//        for (int j=0; j<5-i-1; j++  ) {
//            if (a[j]>a[j+1]) {
//
//            }
//        }
//    }
//    return  0;
//    int array1[5]={4,3,5,2,1};
//    int a=sizeof(int);
//    int b=sizeof(array1);
//    int len=b/a;
//    int array3[len],array4[len];
//    int m=0,n=0;
//    printf("array1的长度为:%d\n",len);
//    for (int i=0; i<len; i++) {
//        if (array1[i]%2==0) {
//            array3[m]=array1[i];
//            m++;
//        }else
//        {
//            array4[n]=array1[i];
//            n++;
//        }
//    }
//
//    for (int i=0; i<m; i++) {
//        printf("%d\n",array3[i]);
//    }
//    for (int i=0; i<n; i++) {
//        printf("%d\n",array4[i]);
//    }
//    return  0;
//    int array[10]={1,2,3,1,4,22,42,12,23,21};
//    for (int i=0; i<9; i++) {
//        for (int j=0; j<9-i; j++) {
//            if (array[j+1]>array[j]) {
//                int temp=array[j+1];
//                array[j+1]=array[j];
//                array[j]=temp;
//            }
//        }
//    }
//
//    for (int i=0; i<10; i++) {
//        printf("%d\n",array[i]);
//    }
//
//
//    return 0;
//     */
//
//
//}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值