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


目录
相关文章
|
2月前
|
存储 监控 算法
关于员工上网监控系统中 PHP 关联数组算法的学术解析
在当代企业管理中,员工上网监控系统是维护信息安全和提升工作效率的关键工具。PHP 中的关联数组凭借其灵活的键值对存储方式,在记录员工网络活动、管理访问规则及分析上网行为等方面发挥重要作用。通过关联数组,系统能高效记录每位员工的上网历史,设定网站访问权限,并统计不同类型的网站访问频率,帮助企业洞察员工上网模式,发现潜在问题并采取相应管理措施,从而保障信息安全和提高工作效率。
43 7
|
3月前
|
存储 人工智能 程序员
一文彻底搞明白C语言的数组
本文详细介绍了C语言中的数组,包括定义、初始化(静态与动态)、存储方式、访问方法及常用操作,如遍历、修改元素和作为函数参数传递。数组是C语言中最基本的数据结构之一,掌握它对编程至关重要。下篇将介绍二维数组,敬请期待!
128 0
一文彻底搞明白C语言的数组
|
3月前
|
存储 人工智能 算法
C 408—《数据结构》算法题基础篇—数组(通俗易懂)
408考研——《数据结构》算法题基础篇之数组。(408算法题的入门)
138 23
|
5月前
|
传感器 算法 安全
【C语言】两个数组比较详解
比较两个数组在C语言中有多种实现方法,选择合适的方法取决于具体的应用场景和性能要求。从逐元素比较到使用`memcmp`函数,再到指针优化,每种方法都有其优点和适用范围。在嵌入式系统中,考虑性能和资源限制尤为重要。通过合理选择和优化,可以有效提高程序的运行效率和可靠性。
377 6
|
6月前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
151 5
|
6月前
|
存储 程序员 编译器
C 语言数组与指针的深度剖析与应用
在C语言中,数组与指针是核心概念,二者既独立又紧密相连。数组是在连续内存中存储相同类型数据的结构,而指针则存储内存地址,二者结合可在数据处理、函数传参等方面发挥巨大作用。掌握它们的特性和关系,对于优化程序性能、灵活处理数据结构至关重要。
|
6月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
135 1
|
6月前
|
存储 NoSQL 编译器
C 语言中指针数组与数组指针的辨析与应用
在C语言中,指针数组和数组指针是两个容易混淆但用途不同的概念。指针数组是一个数组,其元素是指针类型;而数组指针是指向数组的指针。两者在声明、使用及内存布局上各有特点,正确理解它们有助于更高效地编程。
|
6月前
|
存储 C语言 计算机视觉
在C语言中指针数组和数组指针在动态内存分配中的应用
在C语言中,指针数组和数组指针均可用于动态内存分配。指针数组是数组的每个元素都是指针,可用于指向多个动态分配的内存块;数组指针则指向一个数组,可动态分配和管理大型数据结构。两者结合使用,灵活高效地管理内存。
|
6天前
|
算法 数据安全/隐私保护
基于GA遗传算法的悬索桥静载试验车辆最优布载matlab仿真
本程序基于遗传算法(GA)实现悬索桥静载试验车辆最优布载的MATLAB仿真(2022A版)。目标是自动化确定车辆位置,使加载效率ηq满足0.95≤ηq≤1.05且尽量接近1,同时减少车辆数量与布载时间。核心原理通过优化模型平衡最小车辆使用与ηq接近1的目标,并考虑桥梁载荷、车辆间距等约束条件。测试结果展示布载方案的有效性,适用于悬索桥承载能力评估及性能检测场景。