C语言数组实例(冒泡算法、猜数字)

简介: C语言数组实例(冒泡算法、猜数字)

一、冒泡算法


#include <stdio.h>
#include <stdlib.h>
int main() {
       int a[] = { 1,6,3,8,5 };
       int b[][3] = { {1,2,3},{4,5,6},{7,8,9} };
       printf("一维数组的首元素地址:%p\n", a);
       printf("一维数组的首元素地址:%p\n", &a[0]);
       printf("一维数组的大小:%d\n", sizeof(a));
       printf("一维数组第0个元素的大小:%d\n", sizeof(a[0]));
       printf("一维数组第0个元素的个数:%d\n", sizeof(a)/sizeof(a[0]));
       printf("二维数组的首元素地址:%p\n", b);
       printf("二维数组的首元素地址:%p\n", &b[0]);
       printf("二维数组的首元素地址:%p\n", &b[0][0]);
       printf("二维数组的大小:%d\n", sizeof(b));
       printf("二维数组第1行元素的大小:%d\n", sizeof(b[0]));
       printf("二维数组第1个元素的大小:%d\n", sizeof(b[0][0]));
       int n = sizeof(a) / sizeof(a[0]);
       int tmp;
       for (int i = 0; i < n - 1; i++)
       {
              for (int j = 0; j < n - 1 - i; j++) {
                     if (a[j] > a[j + 1]) {
                           tmp = a[j];
                           a[j] = a[j + 1];
                           a[j + 1] = tmp;
                     }
              }      
       }
       for (int i=0; i < n; i++) {
              printf("%d-", a[i]);
       }
       system("pause");
       return 0;
}


0a2653c851af460fa595bd959398a8f1.png


二、猜数字


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
       int rand_num[4]; //随机生成一个数,要猜的数字
       int cai_num[4]; //保存要输出来的数字
       int num;//输入的数字
       int n = 0;
       int i = 0;
       printf("猜数字开始啦!系统已生成四位数字");
       srand((unsigned int)time(NULL));//以当前时间设置随机种子
       for (i=0;i<4;i++)
       {
              rand_num[i] = rand() % 10;
       }
       while (1)
       {
              printf("\n请输入一个4位的数字");
              scanf_s("%d", &num);
              cai_num[0] = (num / 1000) % 10;
              cai_num[1] = (num / 100) % 10;
              cai_num[2] = (num / 10) % 10;
              cai_num[3] = num % 10;
              n = 0;
              for (i=0;i<4;i++)
              {
                     if (cai_num[i]>rand_num[i])
                     {
                           printf("第%d位大于正确数字。\n", i+1);
                     }
                     else if(cai_num[i] < rand_num[i]){
                           printf("第%d位小于正确数字。\n", i+1);
                     }
                     else
                     {
                           printf("第%d位正确。\n", i+1);
                           n++;
                     }
              }
              if (4==n)
              {
                     printf("恭喜猜对了");
                     system("pause");
              }
       }
       return 0;
}

0eacb84100b54626af849e6b562bf92a.png


目录
相关文章
|
11月前
|
算法 数据处理 C语言
C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合
本文深入解析了C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合,旨在帮助读者掌握这一高效的数据处理方法。
422 1
|
8月前
|
存储 人工智能 程序员
一文彻底搞明白C语言的数组
本文详细介绍了C语言中的数组,包括定义、初始化(静态与动态)、存储方式、访问方法及常用操作,如遍历、修改元素和作为函数参数传递。数组是C语言中最基本的数据结构之一,掌握它对编程至关重要。下篇将介绍二维数组,敬请期待!
330 0
一文彻底搞明白C语言的数组
|
10月前
|
存储 算法 程序员
C 语言递归算法:以简洁代码驾驭复杂逻辑
C语言递归算法简介:通过简洁的代码实现复杂的逻辑处理,递归函数自我调用解决分层问题,高效而优雅。适用于树形结构遍历、数学计算等领域。
|
10月前
|
传感器 算法 安全
【C语言】两个数组比较详解
比较两个数组在C语言中有多种实现方法,选择合适的方法取决于具体的应用场景和性能要求。从逐元素比较到使用`memcmp`函数,再到指针优化,每种方法都有其优点和适用范围。在嵌入式系统中,考虑性能和资源限制尤为重要。通过合理选择和优化,可以有效提高程序的运行效率和可靠性。
671 6
|
10月前
|
存储 网络协议 算法
【C语言】进制转换无难事:二进制、十进制、八进制与十六进制的全解析与实例
进制转换是计算机编程中常见的操作。在C语言中,了解如何在不同进制之间转换数据对于处理和显示数据非常重要。本文将详细介绍如何在二进制、十进制、八进制和十六进制之间进行转换。
918 5
|
11月前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
291 5
|
11月前
|
存储 程序员 编译器
C 语言数组与指针的深度剖析与应用
在C语言中,数组与指针是核心概念,二者既独立又紧密相连。数组是在连续内存中存储相同类型数据的结构,而指针则存储内存地址,二者结合可在数据处理、函数传参等方面发挥巨大作用。掌握它们的特性和关系,对于优化程序性能、灵活处理数据结构至关重要。
|
11月前
|
存储 缓存 算法
C语言在实现高效算法方面的特点与优势,包括高效性、灵活性、可移植性和底层访问能力
本文探讨了C语言在实现高效算法方面的特点与优势,包括高效性、灵活性、可移植性和底层访问能力。文章还分析了数据结构的选择与优化、算法设计的优化策略、内存管理和代码优化技巧,并通过实际案例展示了C语言在排序和图遍历算法中的高效实现。
284 2
|
11月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
235 1
|
11月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
274 1