|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 考鸡蛋 于 2012-9-26 23:18 编辑
- /*
- * * 1、无法正常退出;
- * * 2、输入错误数字无提示信息;
- * */
- #include <stdio.h>
- int main()
- {
- int array[3][3];
- int i, j;
- char c;
- int max_value(int array[3][3]);
- int min_value(int array[3][3]);
- int sun_value(int array[3][3]);
- int n_value(int array[3][3]);
- printf("请输入3*3矩阵数据:\n");
- for(i = 0; i < 3; i++)
- {
- for(j = 0; j < 3; j++)
- {
- scanf("%d", &array[i][j]);
- }
- }
- printf("输入的3*3矩阵为: \n");
- for(i = 0; i < 3; i++)
- {
- for(j = 0; j < 3; j++)
- {
- printf("%5d", array[i][j]);
- }
-
- printf("\n\n\n");
- }
- printf("选择对矩阵进行的操作:\n");
- printf("1、求最大值; 2、求最小值; 3、求所有数的总和; \n");
- printf("4、最大值与最小值和;5、最大值与最小值差; 6、矩阵数据的平均值 \n");
- printf("7、第n行或第n列数据的和;\n");
- printf("退出Q!\n");
- scanf("%c", &c);
- while(c != 'Q' || c != 'q' )
- {
- switch(c)
- {
- case 1: printf("max=%d \n", max_value(array));
- break;
- case 2: printf("mix=%d \n", min_value(array));
- break;
- case 3: printf("sun=%d \n", sun_value(array));
- break;
- case 4: printf("最大值与最小值和=%d \n", max_value(array) + min_value(array));
- break;
- case 5: printf("最大值与最小值差=%d \n", max_value(array) - min_value(array));
- break;
- case 6: printf("矩阵数据的平均值=%d \n", sun_value(array) / (3*3));
- break;
- case 7: printf("第n行或第n列数据的和=%d \n", n_value(array));
- break;
- }
-
- printf("选择对矩阵进行的操作:\n");
- printf("1、求最大值; 2、求最小值; 3、求所有数的总和; \n");
- printf("4、最大值与最小值和;5、最大值与最小值差; 6、矩阵数据的平均值 \n");
- printf("7、第n行或第n列数据的和;\n");
- printf("退出Q!\n");
- scanf("%d", &c);
- }
- printf("\n\n");
- return 0;
-
- }
- int max_value(int array[3][3])
- {
- int max, i, j;
- max = array[0][0];
-
- for(i = 0; i < 3; i++)
- {
- for(j = 0; j < 3; j++)
- {
- if(max < array[i][j])
- {
- max = array[i][j];
- }
- }
- }
- return max;
- }
- int min_value(int array[3][3])
- {
- int min, i , j;
- min = array[0][0];
- for(i = 0; i < 3; i++)
- {
- for(j = 0; j < 3; j++)
- {
- if(min > array[i][j])
- {
- min = array[i][j];
- }
- }
- }
- return min;
- }
- int sun_value(int array[3][3])
- {
- int sun, i, j;
- sun = 0;
- for(i = 0; i < 3; i ++)
- {
- for(j = 0; j < 3; j++)
- {
- sun = sun + array[i][j];
- }
- }
- return sun;
-
- }
- int n_value(int array[3][3])
- {
- int i, j, n, sun;
- sun = 0;
-
- printf("选择行、列 \n");
- printf("1、行;2、列; \n");
- scanf("%d", &n);
- if(n == 1)
- {
- printf("输入要求的行: \n");
- scanf("%d", &i);
-
- for(j = 0; j < 3; j++)
- {
- sun = sun + array[i - 1][j];
- }
-
- }
- if(n == 2)
- {
- printf("输入要求的列: \n");
- scanf("%d", &i);
- for(j = 0; j < 3; j++)
- {
- sun = sun + array[j][i - 1];
- }
- }
- return sun;
- }
复制代码 正在自学C语言,自已写的段代码。。。希望鱼友们帮忙改进一下,一是无法正常退出,退出会出现死循环,二是输入错误无反应!!
|
|