快捷搜索:  汽车  科技

c语言程序设计关于矩阵的转置(c语言判断闰年矩阵的转置运算)

c语言程序设计关于矩阵的转置(c语言判断闰年矩阵的转置运算)矩阵的转置运算#include "stdio.h" main() { int year; printf("Please a year:\n"); scanf("%d" &year); /*判断是否是闰年*/ if((year % 4 == 0 && year % 100 !=0)||(year % 400 ==0 )) printf("%d is leap year!\n" year); else printf("%d is not leap year!\n" year); getche(); }运行结果:(1)该年份能被4整除,但不能被100整除;(2)该年份能被4整除,又能被400整除。只要符合以上的两条件之一的年份都是闰年。最简单的判断闰年的方法是用条件判断语句(if-else语句)

判断闰年

输入一个年份,判断该年是否是闰年。

题目分析:

这是一道公司面试和各种C语言考试中常考的题目。虽然这道题目十分简单,但是作为一个专业的程序员这是必备的常识。所谓闰年,是要符合下面两个条件之一:

(1)该年份能被4整除,但不能被100整除;

(2)该年份能被4整除,又能被400整除。

只要符合以上的两条件之一的年份都是闰年。最简单的判断闰年的方法是用条件判断语句(if-else语句)配合逻辑表达式进行判断,充分地利用逻辑表达式进行判断可使程序的可读性更好,效率更高。

#include "stdio.h" main() { int year; printf("Please a year:\n"); scanf("%d" &year); /*判断是否是闰年*/ if((year % 4 == 0 && year % 100 !=0)||(year % 400 ==0 )) printf("%d is leap year!\n" year); else printf("%d is not leap year!\n" year); getche(); }

运行结果:

c语言程序设计关于矩阵的转置(c语言判断闰年矩阵的转置运算)(1)

矩阵的转置运算

题目要求:

用键盘从终端输入一个3行4列的矩阵,编写一个函数对该矩阵进行转置操作。

题目分析:

这个问题的解决关键是要解决两个问题:(1)数据在内存中的存储问题,也就是数据结构的问题;(2)如何通过函数来实现矩阵的转置运算。显然,可以用一个二维数组来存储矩阵的数据,通过将二维数组的指针作为函数的参数进行传递,来实现矩阵转置函数的功能。

#include "stdio.h" #include <stdio.h> void InputMatrix(int (*a)[4] int int ); void OutputMatrix(int (*b)[3] int int ); void MatrixTranspose(int (*a)[4] int (*b)[3]); int main(void) { int a[3][4] b[4][3]; /*a 存放原矩阵,b存放a 矩阵的转置矩阵*/ printf("Please input 3×4 matrix\n"); InputMatrix(a 3 4); MatrixTranspose(a b); printf("The Transposex Matrix is\n"); OutputMatrix(b 4 3); getche(); return 0; } void InputMatrix(int (*a)[4] int n int m) { /*输入n*m阶的矩阵 */ int i j; for(i=0;i<n;i ) for(j=0;j<m;j ) scanf("%d" *(a i) j); } void OutputMatrix(int (*b)[3] int n int m) { /* 输出n*m阶矩阵的值 */ int i j; for(i=0;i<n;i ) { for(j=0;j<m;j ) printf("%d " *(*(b i) j)); printf("\n"); } } void MatrixTranspose(int (*a)[4] int (*b)[3]) { /*矩阵的转置运算*/ int i j; for(i=0;i<4;i ) for(j=0;j<3;j ) b[i][j]=a[j][i]; }

运行结果:

c语言程序设计关于矩阵的转置(c语言判断闰年矩阵的转置运算)(2)

猜您喜欢: