本人的一个简单的作品(学校作业),第一次发文,由于本人水平不足,所以未加过多注释,好多地方也达不到最好请大家多多指正。
简易计算器,可以进行简单的加减乘除运算,也可以进行矩阵的复杂运算(如矩阵和差,求逆矩阵等)和三角函数的计算等。
源代码如下:
#define M 20 #define N 20 #include#include #include #include #include void jianyimenu(); void juzhenmenu(); void sanjiaohanshumenu(); void twodimesionalarray(); void nijuzhen(); void shuchengjuzhen(); void zhuanzhijuzhen(); void shangsanjiaohua(); void sinhanshu(); void coshanshu(); void tanhanshu(); int main() { while(1) { int xuanxiang; printf("--------------------------------n"); printf("* 欢迎使用科学计算器 *n"); printf("--------------------------------n"); printf("* 请选择你想使用的功能: *n"); printf("* 1 简易功能计算器 *n"); printf("* 2 矩阵计算器 *n"); printf("* 3 三角函数计算器 *n"); printf("* 4 退出程序 *n"); printf("--------------------------------n"); printf("请输入选项:"); scanf("%d",&xuanxiang); switch(xuanxiang) { case 1: { jianyimenu(); break; } case 2: { juzhenmenu(); break; } case 3: { sanjiaohanshumenu(); break; } case 4: printf("----------感谢您使用本系统----------"); exit(0); default: printf("n-----选择错误,请重试-------n"); break; } } } void jianyimenu() { int select; printf("--------------------------------n"); printf("* 欢迎使用简易计算器 *n"); printf("--------------------------------n"); printf("* 请选择你想使用的功能: *n"); printf("* 1 加法 *n"); printf("* 2 减法 *n"); printf("* 3 乘法 *n"); printf("* 4 除法 *n"); printf("* 5 取模 *n"); printf("* 6 返回主菜单 *n"); printf("--------------------------------n"); printf("输入菜单项:n"); scanf("%d",&select); switch (select) { case 1: { float num1,num2; printf("做加法。n"); printf("输入两个数,逗号分隔。n"); scanf("%f,%f",&num1,&num2); printf("%.2f+%.2f=%.2fn",num1,num2,num1+num2); break; } case 2: { float num1,num2; printf("做减法。n"); printf("输入两个数,逗号分隔。n"); scanf("%f,%f",&num1,&num2); printf("%.2f-%.2f=%.2fn",num1,num2,num1-num2); break; } case 3: { float num1,num2; printf("做乘法。n"); printf("输入两个数,逗号分隔。n"); scanf("%f,%f",&num1,&num2); printf("%.2f*%.2f=%.2fn",num1,num2,num1*num2); break; } case 4: { float num1,num2; printf("做除法。n"); printf("输入两个数,逗号分隔。n"); scanf("%f,%f",&num1,&num2); printf("%.2f/%.2f=%.2fn",num1,num2,num1/num2); break; } case 5: { float num1,num2; printf("取模运算。n"); printf("输入两个数,逗号分隔。n"); scanf("%f,%f",&num1,&num2); printf("%.2f%%%.2f=%.2fn",num1,num2,fmod(num1,num2)); break; } case 6: { break; } } return 0; } void juzhenmenu() { int select; printf("--------------------------------n"); printf("* 欢迎使用矩阵计算器 *n"); printf("--------------------------------n"); printf("* 请选择你想使用的功能: *n"); printf("* 1 求逆矩阵 *n"); printf("* 2 二维矩阵的和差计算 *n"); printf("* 3 矩阵的上三角化 *n"); printf("* 4 数乘矩阵 *n"); printf("* 5 转置矩阵 *n"); printf("* 6 返回主菜单 *n"); printf("--------------------------------n"); printf("输入菜单项:n"); scanf("%d",&select); switch (select) { case 1: { nijuzhen(); break; } case 2: { twodimesionalarray(); break; } case 3: { shangsanjiaohua(); break; } case 4: { shuchengjuzhen(); break; } case 5: { zhuanzhijuzhen(); break; } case 6: { break; } } return 0; } void nijuzhen() { float A[M][N]; float B[M][N]; float C[M][N]; int i,j,m,n,p,q; float y=1.0; float a[M][2*M]; float b[N][2*N]; float t,x; int k,T; printf("输入方阵的维数:n"); //请输入方阵,即行和列相等的矩阵。 scanf("%d",&T); printf("请输入矩阵:n"); for(i=0;i 感谢阅读,让我们一起加油~



