宝马娱乐在线城-宝马娱乐在线

来自 互联网络 2019-11-13 15:10 的文章
当前位置: 宝马娱乐在线城 > 互联网络 > 正文

[C语言]使用数组,c语言使用数组

[C语言]使用数组,c语言使用数组

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

//  main.c 例
//  Created by weichen on 15/1/9.
//  Copyright (c) 2015年 weichen. All rights reserved.

#include <stdio.h>

int main() {

    // 求输入的平均数

    int x = 0;      //输入的数
    double num = 0; //总和(这个定义为double, 因为计算结果可能出现浮点数)
    int count = 0;  //个数
    double per;     //平均数(结果也定义double)

    printf("请输入一些数:");

    scanf("%d", &x);

    //大于0时执行累计;输入小于等于0的值 回车确定 来终止循环,并执行后面的代码
    while(x > 0)
    {
        num += x;
        count++;       
        scanf("%d", &x);
    }

    if(count > 0)
    {
        per = num / count;
        printf("%f n", per);
    }

    return 0;
}

 

//  main.c 例
//  Created by weichen on 15/1/14.
//  Copyright (c) 2015年 weichen. All rights reserved.

#include <stdio.h>

int main() {

    //输入一个数,并输出平均值和大于平均值的数
    //要点:需要存放输入的这些数

    int x = 0;
    int n = 0;
    double total = 0;
    double per = 0;
    int number[100]; //1. 定义数组

    printf("请输入一些数:");
    scanf("%d", &x);

    while(x != 0)
    {
        number[n] = x;    //2. 数组元素赋值
        total += x;
        n++;
    }

    if(n > 0)
    {
        per = total/n;

        printf("平均数为:%fn", per);

        printf("大于平均数的数为:");

        for(int i = 0; i <= n; i++)
        {
            if(number[n] > per)   //3. 使用数组元素
            {
                printf("%dt", number[i]); //4. 遍历数组
            }
        }
    }

    return 0;
}

注:Xcode里编译后输入数字回车,number[n]=x 行报错 Thread1:EXC_BAD_ACCESS(code=2,address=0x7fff5fc00000),有人知道原因吗?

 

// main.c 例
// Created by weichen on 15/1/19
// Copyright (c) 2015年 weichen. All rights reserved.

#include <stdio.h>

int main() {

    //输入0-9范围内的数字,求输入每个输入的数字的次数

    const int number = 9;//1. 数组大小
    int x;
    int count[number];  //2. 定义数组
    int i;

    for(i=0; i<=number; i++)
    {
        count[i] = 0;   //3. 初始化数组
    }

    printf("请输入:");
    scanf("%d", &x);

    while(x != -1)
    {
        if(x>=0 && x<=9)
        {
            count[x]++; //4. 数组参与运算
        }
        scanf("%d", &x);
    }

    for(i=0; i <= number; i++)
    {
        printf("%d:%dn", i, count[i]);
    }  

    return 0;
}

 

//  main.c 一维数组
//  Created by weichen on 15/1/28.
//  Copyright (c) 2015年 weichen. All rights reserved.

#include <stdio.h>

int main() {
    /* 一. 数组的集成初始化
      int a[] = {1, 2, 6, 7, 9};

      for ( int i = 0; i < 5; i++)
      {
          printf("%dt", a[i]);
      }
  */

    /* 1. 声明一个长度12的数组,第一个元素赋值为1,其余为0
      int a[12] = {1};
      for ( int i = 0; i < 12; i++)
      {
          printf("%dt", a[i]);
      }
    */

    /* 2. 不使用循环,初始化数组
      int a[12] = {0};
    */


    /* 二. 集成初始化时的定位
      int a[12] = {[1]=2, 3, [4]=9};
      用[x]在初始化数据时给出定位
      没有定位的数据跟在前一个后面
      其它位置的值补0
      也可以不给出数组的大小,让编译器运算
      适合初始化稀疏的数组

      {
          for(int i = 0; i < 12; i++) {
              printf("%dt", a[i]);   //0    2    3    0    9    0 ....
          }
     }
    */


   /* 三. 数组赋值 */
    int a[] = {1, 3};
    int length = sizeof(a)/sizeof(a[0]);
    int b[length];
    //1. 数组变量本身不能被赋值,如:int b[] = a;错误
    //2. 要把一个数组的值交给另一个数组,必须使用遍历,如下:
    for(int i = 0; i < length; i++) {
        b[i] = a[i];
    }

    {
        for(int i = 0; i < length; i++) {
            printf("%dt", a[i]);   //0    2    3    0    9    0 ....
        }
    }

    //遍历数组作用:
    //3. 赋值、初始化、判断值是否存在,计数
    //4. 离开循环后,i不能再作为下标访问数组元素

    return 0;
}

 

/**
 * 思考题:查找某值是否存在数组中
 * @weiChen
 */

#include <stdio.h>

int main()
{
    int a[] = {1, 3, 4, 8, 0, 34};

    int key;

    int length = sizeof(a)/sizeof(a[0]);

    printf("请输入一个数:");

    scanf("%d", &key);

    int location = search(key, a, length);

    if(location != -1)
    {
        printf("key:%d存在于数组a[]中。n", key);
    }
    else
    {
        printf("数组a[]中不存在key:%d。n", key);
    }

    return 0;
}

/**
 * 函数:找出key在数组中的位置
 * @param key 位置
 * @param a 数组
 * @param length 数组长度
 * @return 存在则返回数组的位置,否则返回-1
 * 
 * int search(int key, int a[]; int length);
 */

int search(int key, int a[], int length)
{
    for(int i = 0; i < length; i++)
    {
        if(a[i] == key)
        {
            return i;
            break;
        }
    }

    return -1;
}

 

//  main.c 多维数组
//  Created by weichen on 15/1/30.
//  Copyright (c) 2015年 weichen. All rights reserved.

#include <stdio.h>

int main(int argc, const char * argv[]) {

    //二维数组,三行五列矩阵
    int a[3][5];

    for(int i = 0; i < 3; i++) {
        for(int j = 0; j < 3; j++) {
            a[i][j] = i * j;
        }
    }

    //二维数组的初始化
    int b[][5] = {
        {1, 2, 3, 4, 5},
        {3, 4, 5, 6, 8},
    };

    //1.列数是必须给出的,行数可以由编译器来数。
    //2.每一行一个{},逗号分隔
    //3.最后的逗号可以存在,有古老的传统
    //4.如果省略,表示补零
    //5.也可以用定位(C99 ONLY)

    //int c[][3] = {{0}, {1}, {2}};   //三行三列,每列自动补零
    //printf("%d", c[1][2]);

    int d[][3] = {1, 2, 4, 5, 6, 7, 8, 9, 3,};//初始化为3列,自动分为三行
    int i, j, k = 2;
    for(i = 0; i < 3; i++) {
        printf("%d", d[k][i]);//循环输出d[2][i]
    }
      
    return 0;
}

 

Link: http://www.cnblogs.com/farwish/p/4212336.html

@黑眼诗人 <www.chenwei.ws>

《征服C指针》

http://www.bkjia.com/Cyy/950706.htmlwww.bkjia.comtruehttp://www.bkjia.com/Cyy/950706.htmlTechArticle[C语言]使用数组,c语言使用数组

// main.c 例 // Created by weichen on 15/1/9. // Copyrigh...

基本信息
作者: (日)前桥和弥 [作译者介绍]
译者: 吴雅明
丛书名: 图灵程序设计丛书
出版社:人民邮电出版社
ISBN:9787115301215
上架时间:2013-2-7
出版日期:2013 年2月
开本:16开
页码:1
版次:1-1
所属分类:计算机 > 软件与程序设计 > C/Turbo C > C

图片 1

更多关于 》》》《征服C指针

本文由宝马娱乐在线城发布于互联网络,转载请注明出处:[C语言]使用数组,c语言使用数组

关键词: