• c语言数组小谈


    #include <stdio.h>
    #include <stdlib.h>
    
    #define N 5
    int main() {
        double score[5];
        int i;
        for (i = 0; i< N ;i++)
        {
            printf("请输入第%d门课的成绩:",i+1);
            scanf("%lf",&score[i]);
        }
    
        printf("---------------------
    ");
    
        int j;
        for (j = 0; j< N ;j++)
        {
            printf("第%d门课的成绩为%.2lf
    ",j+1,score[j]);
        }
    
        return 0;
    }
    

    综合的小练习

    #include <stdio.h>
    #include <stdlib.h>
    
    //宏定义布尔类型
    #define BOOL int
    #define TRUE 1
    #define FALSE 0
    
    int main() {
        int arr[] = {8,4,2,1,23,344,12};
    
        // 循环输出数组的值
        int length;
    
        length = sizeof(arr)/sizeof(arr[0]);
    
        int i;
        for (i=0;i<length;i++) {
            printf("数组第%d个元素值为%d
    ",i+1,arr[i]);
        }
    
        // 求数组中所有元素的和与平均值
        double sum = 0;
        double average;
        for (i=0;i<length;i++) {
            sum += arr[i];
        }
    
        average = sum / length;
    
        printf("数组元素的和为:%.2lf
    ",sum);
        printf("数组元素的平均值为:%.2lf
    ",average);
    
        // 输入数值判断是否存在数组中,循环五次
        int guessNum;
        int count = 0;
        BOOL isInArray;
        while (count < 5) {
            printf("请输入数值:");
            scanf("%d",&guessNum);
    
            isInArray = FALSE;
            for (i=0;i<length;i++) {
                if (guessNum == arr[i]) {
                    isInArray = TRUE;
                    break;
                }
            }
    
            if (isInArray) {
                printf("输入的数值在数组中
    ");
            } else {
                printf("输入的数值不在数组中
    ");
            }
    
            count++;
        }
    
    
    
    
    
        return 0;
    }
    
    
    
    

    冒泡排序

    #include <stdio.h>
    #include <stdlib.h>
    
    //宏定义布尔类型
    #define SIZE 5
    
    int main() {
        // 循环录入5个整型数字,进行降序排列后输出
    
        // 冒泡排序
    
        int arr[SIZE] = {};
        int i;
        printf("请输入5个数字:
    ");
        for (i = 0;i<SIZE;i++) {
            scanf("%d",&arr[i]);
        }
    
        for (i=0;i<SIZE;i++) {
            printf("输入第%d个数字为:%d
    ",i,arr[i]);
        }
    
        // 进行冒泡排序,降序排列,大的排在前面,小的排在后面
        bubble_sort(arr,SIZE);
        printf("降序排序后的顺序为:
    ");
    
        for (i=0;i<SIZE;i++) {
            printf("输入第%d个数字为:%d
    ",i,arr[i]);
        }
    
    
    
        return 0;
    }
    
    // 冒泡函数
    void bubble_sort(int a[],int n) {
        int i,j,temp;
        for (i=0;i<n-1;i++) { // 只需要n-1轮
    
            // 每一轮的比较
            for (j=0;j<n-1-i;j++) { // 每一轮比较的次数都会越来越少
                // 核心的判断
                if (a[j] < a[j+1]) {
                    // 交换位置,大的排在前面
                    temp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = temp;
                }
            }
        }
    }
    
    
    

    删除真心费劲,感觉还是php操作数组更加便捷。

    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
        // 数组删除元素
        int count = 5;
        double powers[] = {42322,25771,40907,41234,40767};
        double deletePower; // 用户要删除的战力值
        int deleteIndex = -1; // 要删除的战力值的下标
        int i;
    
        printf("请输入要删除的战力值:
    ");
        scanf("%lf",&deletePower);
    
        for (i= 0;i<count;i++) {
            if (deletePower == powers[i]) {
                // 记录下标
                deleteIndex = i;
                break;
            }
        }
    
        // 判断是否找到
        if (deleteIndex >=0) {
            // 从下标开始,后面一个覆盖前面一个数字
            for (i = deleteIndex ; i <count -1;i++) {
                powers[i] = powers[i+1];
            }
        } else {
            printf("很遗憾,没有找到要删除的战力值");
        }
    
        for (i=0;i<count-1;i++) {
            printf("第%d个元素为:%.2lf
    ",i,powers[i]);
        }
    
    
    
        return 0;
    }
    
    

    二维数组

    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
        // 使用二维数组表示学生的成绩,并展示
        double scores[4][3] = {
            {98,67,93},
            {88,87,93},
            {98,65,93},
            {68,67,93}
        };
    
        int i,j;
        // 使用双循环输出
        for (i = 0;i<4;i++) {
            for (j=0;j<3;j++) {
                printf("%.2lf	",scores[i][j]);
            }
    
            printf("
    ");
        }
    
        return 0;
    }
    
    
    

    不如php灵活。

  • 相关阅读:
    简单数学问题
    MFC 注册表编程
    Windows多线程端口扫描
    MFC Socket双向通信
    凯撒加密
    单片机滤波
    大数素性检验
    大数加法乘法
    Unsafe Code
    委托
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/7905954.html
Copyright © 2020-2023  润新知