2021-5-3【程序菜单】【作业】
发布日期:2021-05-07 16:09:24 浏览次数:21 分类:原创文章

本文共 1511 字,大约阅读时间需要 5 分钟。

在这里插入图片描述

编写一个主程序,生成一个菜单界面,当输入1时,调用矩阵赋值函数,为5*5的矩阵赋初值;当输入2时,调用矩阵转置函数,对该矩阵进行转置操作;当输入3时,将该矩阵上三角所有元素值变成0;当输入4时,求该矩阵对角线所有元素的平均值;当输入4时,将该矩阵下对角线元素变成1,当输入0时,退出程序。

#include<stdio.h>int arr[10][10];void fuzhihs(){   	for(int i=0;i<5;i++){   		for(int j=0;j<5;j++){   			scanf("%d",&arr[i][j]);		}	}}void zhuanzhihs(){   	int temp;	for(int i=0;i<5;i++){   		for(int j=0;j<5;j++){   			if(j>i){   				temp=arr[i][j];				arr[i][j]=arr[j][i];				arr[j][i]=temp;			}		}	}}void ssjbian(){   	for(int i=0;i<4;i++){   		for(int j=i+1;j<5;j++){   			arr[i][j]=0;		}	}}void duijiaopj(){   //这个函数有问题 	int sum=0;	for(int i=0,j=0;i<5;i++,j++){   		sum+=arr[i][j];	}	for(int i=0,j=4;i<5;i++,j--){   		sum+=arr[i][j];	}	printf("%lf\n",sum);//sum的值很奇怪}void xiaduijiao(){   	for(int i=0,j=4;i<5;i++,j--){   		arr[i][j]=1;	}}void Menu(){   	printf("****************************************\n");	printf("输入1:矩阵赋值\n");	printf("输入2:矩阵转置\n");	printf("输入3:矩阵上三角元素变为0\n");	printf("输入4:求该矩阵对角线所有元素的平均值\n");	printf("输入4:将矩阵的下对角线元素变为1\n");	printf("输入0:退出程序\n");	printf("您要输入的数字为:\n");}void shuchu(){   	for(int i=0;i<5;i++){   		for(int j=0;j<5;j++){   			printf("%d ",arr[i][j]);		}		printf("\n");	}}int main(){   	while(1){   		Menu();//每次结束菜单会出现两次,不知道为什么		char ch=getchar();				switch(ch){   			case '1':				fuzhihs();				break;			case '2':				zhuanzhihs();				shuchu();				break;			case '3':				ssjbian();				shuchu();				break;			case '4':				duijiaopj();				xiaduijiao();				shuchu();				break;			case '0':				printf("结束\n");				break; 		}	}	return 0;}
上一篇:2021-5-4【PTA】【1004 成绩排名 (20 分)】
下一篇:2021-5-2【指针】【作业】【指针代替下标进行数组编程】

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月02日 00时18分47秒