题目输入平面上任意三个点的坐标(x1,y1)、 (x2,y2)、 (x3,y3),检验它们能否构成三角形。如果3个点能构成一个三角形,输出周长和面积(保留2位小数);否则输出“Impossible”。
分析
解决这题的核心在于利用勾股定理计算三个给定点所构成的三角形的边长。计算完三条边的长度后,我们必须进行判断,确保这三条边满足构成三角形的条件,即任意两边之和大于第三边。一旦确认可以构成三角形,我们就可以使用海伦公式来求解三角形的面积,海伦公式具体如下:
代码实现1234567891011121314151617181920212223242526#include <stdio.h>#include <math.h>int main(){ double x1, y1, x2, y2, x3, y3; double p, res1, res2; printf("请输入构成三角形的三个点:"); scanf("%lf%lf,%lf%lf,%lf%lf", &x1, &y1, &x2, &am ...
题目找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。
分析方法1:遍历每个元素,检查它是否在其所在行中是最大值,并且在所在列中是最小值。通过比较当前元素与其所在行的其他元素和所在列的其他元素来判断。如果某个元素同时满足这两个条件,则它是一个鞍点,将其位置记录下来。
方法2:对于每一行,找出最大的数,然后在该数所在的列中找到最小的数。如果行中的最大数与列中的最小数相等,那么这个数就是鞍点。依次检查每一行,记录所有满足条件的鞍点位置。
代码实现123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596#include <stdio.h>#define MAX_ROW 10#define MAX_C ...
矩阵相乘矩阵相乘:确保第一个矩阵(A矩阵)的列数等于第二个矩阵(B矩阵)的行数。如果A矩阵的大小是m × n,B矩阵的大小是n × t,那么它们可以相乘,得到的矩阵C的大小将是m × t。矩阵C中的每个元素是矩阵A对应行的元素与矩阵B对应列的元素的乘积之和。
具体计算过程可以看以下图
代码实现123456789101112131415161718192021222324252627282930313233343536#include <stdio.h>int main(){ int A[3][2] = {{1, 2}, {3, 4}, {5, 6}}; int B[2][4] = {{7, 8, 9, 10}, {11, 12, 13, 14}}; int m = 3; // C矩阵 ...
计算机的组成和分类计算机的发展“代”的划分是以计算机的主机所使用的 元器件为依据
代别
年代
使用的元器件
使用的软件类型
主要应用领域
第1代
1940’s 中期~1950’s 末期
CPU:电子管内存:磁鼓
使用机器语言和汇编语言编写程序
科学和工程计算
第2代
1950’s 中、后期~1960’s 中期
CPU:晶体管内存:磁芯
使用FORTRAN 等高级程序设计语言
开始广泛应用于数据处理领域
第3代
1950’s 中、后期~1960’s 中期
CPU:SSI,MSI内存:SSI,MSI 的半导体存储器
操作系统、数据库管理系统等开始使用
在科学计算、数据处理、工业控制等领域得到广泛应用
第4代
1950’s 中、后期~1960’s 中期
CPU:LSI、VLSI内存:LSI、VLSI 的半导体存储器
软件开发工具和平台、分布式计算、网络软件等开始广泛使用
各行各业,家庭和个人开始使用计算机(如PC 机)
1946年,世界上第一台 数字电子计算 机是由 宾夕法尼亚化学【宾州大学】研制的 “埃尼阿克”(ENIAC)【电子管】
计算机应用模式发展 ...
最大值
定义一个5*5的二维数组并初始化,找出数组中每行的最大值,放入一个新的数组。
1234567891011121314151617181920212223242526272829int main(){ int arr1[5][5] = { {1, 6, 3, 7, 5}, {34, 4235, 5, 32, 4}, {354, 435, 34, 23, 54}, {325, 56, 98, 454, 3}, {3, 5, 7, 6, 4}, }; int arr2[5] = {0}; int i, j; for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { if (arr1[i][j] > ...
信息与信息技术数据和信息数据数据是原始未加工的,数据可分为 数值型数据 和 非数值型数据
信息定义:信息是客观世界中各种 事物运动状态 和 变化内容的反映,是认识主体对客观事物状态和变化的感知。
信息是人们认识世界和改造世界的一种 基本资源
信息是对数据进行 处理后 得到对人有用的东西
数据和信息的关系
数据是信息的载体
数据是信息的符号化表示
信息是数据的语义解释【信息=数据+语义】
信息来源于数据,因此 数据中包含信息
客观世界三大要素:信息、物质、能量【信息同物质能源同样重要】
注意:
信息是一种资源,信息既不是物质,也不是能量。
数据是原始未加工的,而信息是通过对数据加工得到的;
信息处理与信息技术信息处理信息的处理(行为与活动):信息的收集、信息的加工、信息的存储、信息的传递、信息的施用
信息的收集 (如信息的感知、测量、获取、输入等)
信息的传递 (如邮寄、出版、电话、广播、微信等)
信息的加工 (如分类、计算、分析、转换、检索等)
信息的存储 (如书写、摄影、录音、录像等)
信息的施用 (如控制、显示、导航、机器人等)
信息技术【计算机帮助人做的事】信息 ...
奇数奇数:输出 1-1000 之间所有的奇数。
1234567891011121314151617181920212223242526方法1:int main(){ int i; for (i = 1; i <= 1000; i++) { if (i % 2 == 1) { printf("%d\t", i); } } return 0;}方法2:int main(){ int i; for (i = 1; i <= 1000; i += 2) { printf("%d\t", i); } return 0;}
偶数偶数:输出 1-1000 之间所有的偶数。
1234567891011121314方法1:int main(){ int i; for (i = 1; i <= ...
strlen功能:计算字符串长度【不包含’\0’】
返回值:size_t【无符号整数】
1size_t strlen( const char* str)
函数实现
12345678910111213141516171819202122232425262728293031323334方法1:size_t my_strlen(const char *str){ const char *ps = str; while (*ps) { ps++; } return ps - str;}方法2:size_t my_strlen(const char *str){ int count = 0; while (*str) { count++; str++; } return count;}int main(){ char *str = "hello"; int res = m ...
伪随机数需要#include <stdlib.h>,用法【无参数】:1int rand (void); // 随机数的范围:0 ~ RAND_MAX
注意:每次开机后,使用rand()函数生成的随机数是固定的。
示例12345678910#include <stdio.h>#include <stdlib.h>int main(){ int randomNum = rand(); // rand()函数返回值为int【0 ~ RAND_MAX】 printf("随机数:%d", randomNum); return 0;}
生成真随机数需要 #include <stdlib.h> 和 #include <time.h>,用法【有参数】:1void srand (unsigned int seed); // 重新播种
示例12345678910111213#include <stdio.h>#include <stdlib.h># ...