
c语言程序设计 各种问题……
跪求修正:#include<stdio.h>#include<ctype.h>#include<stdlib.h>#defineSIZE_ROW5#defineSIZE_...
跪求修正:
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#define SIZE_ROW 5
#define SIZE_COLUMN 5
void main()
{int ms[SIZE_ROW][SIZE_COLUMN],(*mx)[SIZE_COLUMN],sh;
mx=ms;
while(sh=1)
{
display_mx(mx);
menu_mx(sh,mx);
display_mx(mx);
}
}
display_mx(int(*mx)[SIZE_COLUMN])
{int i=0,j=0;
printf("The matrix is:\n");
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
printf("%8d ",*(*(mx+i)+j)),j++;
}
printf("\n"),i++;
}
printf("Press any key to go to the main menu");
getchar();
clrscr();
}
void init_mx(int(*mx)[SIZE_COLUMN])
{int i,j;
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
mx[i][j]=0,j++;
}
i++,j=0;
}
}
void upper_mx(int(*mx)[SIZE_COLUMN])
{int temp,i=0,j=j;
printf("Please enter an integer for the upper right triangle:");
scanf("%d",&temp);
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
mx[i][j]=temp,j++;
}
i++,j=i+1;
}
}
void lower_mx(int (*mx)[SIZE_COLUMN])
{int temp,i=1,j=0;
printf("Please enter an interger for the lower left triangle:");
scanf("%d",&temp);
while(i<SIZE_ROW)
{
while(i>j)
{
mx[i][j]=temp,j++;
}
i++,j=0;
}
}
void random_mx(int (*mx)[SIZE_COLUMN])
{int i=0,j=0;
while(i<SIZE_ROW);
{
while(j<SIZE_COLUMN);
{
mx[i][j]=(rand()%101-50);
}
}
}
void transpose_mx(int (*mx)[SIZE_COLUMN])
{int i=0,j=0,aa[SIZE_COLUMN][SIZE_COLUMN];
while(j<SIZE_COLUMN)
{
while(i<SIZE_ROW)
{
aa[i][j]=mx[j][i],i++;
}
j++,i=0;
}
printf("The transpose of the matrix is:");
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
printf("8%d",aa[i][j]),j++;
}
printf("\n"),i++;
}
}
int menu_mx(int sh,int mx)
{int m;
printf("-------------------------Menu-------------------------\n");
printf("<1> initialize the matrix with zeros\n");
printf("<2> fill the upper right triangle by entering an integer\n");
printf("<3> fill the lower left triangle by entering an integer\n");
printf("<4> fill the matrix with random integers within [-50,50]\n");
printf("<5> display the current matrix\n");
printf("<6> display the transpose of matrix\n");
printf("<7> display the sum of each column in matrix\n");
printf("<8> quit\n");
printf("------------------------------------------------------\n");
printf("Please choose an operation for this matrix [1-8]:\n");
scanf("%d",&m);
switch(m)
{
case 49: init_mx((*mx));break;
case 50: upper_mx((*mx));break;
case 51: lower_mx((*mx));break;
case 52: random_mx((*mx));break;
case 53: display_mx((*mx));break;
case 54: transpose_mx((*mx));break;
case 55: sum_mx((*mx));break;
case 56: printf(" (^_^)Thank you(^_^)");break;
default: menu_mx();printf("Please choose an integer in the range [1, 8]:\n");break;
}
} 展开
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#define SIZE_ROW 5
#define SIZE_COLUMN 5
void main()
{int ms[SIZE_ROW][SIZE_COLUMN],(*mx)[SIZE_COLUMN],sh;
mx=ms;
while(sh=1)
{
display_mx(mx);
menu_mx(sh,mx);
display_mx(mx);
}
}
display_mx(int(*mx)[SIZE_COLUMN])
{int i=0,j=0;
printf("The matrix is:\n");
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
printf("%8d ",*(*(mx+i)+j)),j++;
}
printf("\n"),i++;
}
printf("Press any key to go to the main menu");
getchar();
clrscr();
}
void init_mx(int(*mx)[SIZE_COLUMN])
{int i,j;
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
mx[i][j]=0,j++;
}
i++,j=0;
}
}
void upper_mx(int(*mx)[SIZE_COLUMN])
{int temp,i=0,j=j;
printf("Please enter an integer for the upper right triangle:");
scanf("%d",&temp);
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
mx[i][j]=temp,j++;
}
i++,j=i+1;
}
}
void lower_mx(int (*mx)[SIZE_COLUMN])
{int temp,i=1,j=0;
printf("Please enter an interger for the lower left triangle:");
scanf("%d",&temp);
while(i<SIZE_ROW)
{
while(i>j)
{
mx[i][j]=temp,j++;
}
i++,j=0;
}
}
void random_mx(int (*mx)[SIZE_COLUMN])
{int i=0,j=0;
while(i<SIZE_ROW);
{
while(j<SIZE_COLUMN);
{
mx[i][j]=(rand()%101-50);
}
}
}
void transpose_mx(int (*mx)[SIZE_COLUMN])
{int i=0,j=0,aa[SIZE_COLUMN][SIZE_COLUMN];
while(j<SIZE_COLUMN)
{
while(i<SIZE_ROW)
{
aa[i][j]=mx[j][i],i++;
}
j++,i=0;
}
printf("The transpose of the matrix is:");
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
printf("8%d",aa[i][j]),j++;
}
printf("\n"),i++;
}
}
int menu_mx(int sh,int mx)
{int m;
printf("-------------------------Menu-------------------------\n");
printf("<1> initialize the matrix with zeros\n");
printf("<2> fill the upper right triangle by entering an integer\n");
printf("<3> fill the lower left triangle by entering an integer\n");
printf("<4> fill the matrix with random integers within [-50,50]\n");
printf("<5> display the current matrix\n");
printf("<6> display the transpose of matrix\n");
printf("<7> display the sum of each column in matrix\n");
printf("<8> quit\n");
printf("------------------------------------------------------\n");
printf("Please choose an operation for this matrix [1-8]:\n");
scanf("%d",&m);
switch(m)
{
case 49: init_mx((*mx));break;
case 50: upper_mx((*mx));break;
case 51: lower_mx((*mx));break;
case 52: random_mx((*mx));break;
case 53: display_mx((*mx));break;
case 54: transpose_mx((*mx));break;
case 55: sum_mx((*mx));break;
case 56: printf(" (^_^)Thank you(^_^)");break;
default: menu_mx();printf("Please choose an integer in the range [1, 8]:\n");break;
}
} 展开
3个回答
展开全部
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#define SIZE_ROW 5
#define SIZE_COLUMN 5
void display_mx(int *mx)
{
int i=0,j=0;
clrscr();
printf("The matrix is:\n");
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
printf("%8d ",*(mx+(i*SIZE_COLUMN)+j)),j++;
}
printf("\n"),j=0,i++;
}
printf("Press any key to go to the main menu");
getchar();getchar();
clrscr();
}
void init_mx(int *mx)
{
int i = 0,j = 0;
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
*(mx+(i*SIZE_COLUMN)+j)=0,j++;
}
i++,j=0;
}
}
void upper_mx(int *mx)
{
int temp,i=0,j=0;
printf("Please enter an integer for the upper right triangle:");
scanf("%d",&temp);
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
*(mx+(i*SIZE_COLUMN)+j)=temp,j++;
}
i++,j=i;
}
}
void lower_mx(int *mx)
{
int temp,i=1,j=0;
printf("Please enter an interger for the lower left triangle:");
scanf("%d",&temp);
while(i<SIZE_ROW)
{
while(i>j)
{
*(mx+(i*SIZE_COLUMN)+j)=temp,j++;
}
i++,j=0;
}
}
void random_mx(int *mx)
{
int i=0,j=0;
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
*(mx+(i*SIZE_COLUMN)+j)=(rand()%101-50),j++;
}
i++,j=0;
}
}
void transpose_mx(int *mx)
{
int i=0,j=0,aa[SIZE_ROW][SIZE_COLUMN];
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
aa[j][i]=*(mx+(i*SIZE_COLUMN)+j),j++;
}
i++,j=0;
}
printf("The transpose of the matrix is:");
i=0,j=0;
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
*(mx+(i*SIZE_COLUMN)+j) = aa[i][j],j++;
}
i++,j=0;
}
}
int menu_mx(int *sh,int *mx)
{
int m;
clrscr();
printf("-------------------------Menu-------------------------\n");
printf("<1> initialize the matrix with zeros\n");
printf("<2> fill the upper right triangle by entering an integer\n");
printf("<3> fill the lower left triangle by entering an integer\n");
printf("<4> fill the matrix with random integers within [-50,50]\n");
printf("<5> display the current matrix\n");
printf("<6> display the transpose of matrix\n");
printf("<7> display the sum of each column in matrix\n");
printf("<8> quit\n");
printf("------------------------------------------------------\n");
printf("Please choose an operation for this matrix [1-8]:\n");
scanf("%d",&m);
switch(m)
{
case 1: init_mx(mx);break;
case 2: upper_mx((mx));break;
case 3: lower_mx((mx));break;
case 4: random_mx((mx));break;
case 5: /*display_mx((mx));*/break;
case 6: transpose_mx(mx);break;
/*case 55: sum_mx((mx));break;这里不知道做什么的没有定义函数 */
case 8: printf(" (^_^)Thank you(^_^)");*sh=0;break;
default: menu_mx(sh,mx); break;
}
}
void main()
{
int ms[SIZE_ROW][SIZE_COLUMN],*mx,sh=1;
mx=ms;
while(sh)
{
display_mx(mx);
menu_mx(&sh,mx);
/* display_mx(mx);*/
}
}
修改得差不多了 ,符合要求要给最佳答案,不符合要求要说明,不要不了了之,没分不重要,至少要给点鼓励,给点反应吧。
#include <ctype.h>
#include <stdlib.h>
#define SIZE_ROW 5
#define SIZE_COLUMN 5
void display_mx(int *mx)
{
int i=0,j=0;
clrscr();
printf("The matrix is:\n");
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
printf("%8d ",*(mx+(i*SIZE_COLUMN)+j)),j++;
}
printf("\n"),j=0,i++;
}
printf("Press any key to go to the main menu");
getchar();getchar();
clrscr();
}
void init_mx(int *mx)
{
int i = 0,j = 0;
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
*(mx+(i*SIZE_COLUMN)+j)=0,j++;
}
i++,j=0;
}
}
void upper_mx(int *mx)
{
int temp,i=0,j=0;
printf("Please enter an integer for the upper right triangle:");
scanf("%d",&temp);
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
*(mx+(i*SIZE_COLUMN)+j)=temp,j++;
}
i++,j=i;
}
}
void lower_mx(int *mx)
{
int temp,i=1,j=0;
printf("Please enter an interger for the lower left triangle:");
scanf("%d",&temp);
while(i<SIZE_ROW)
{
while(i>j)
{
*(mx+(i*SIZE_COLUMN)+j)=temp,j++;
}
i++,j=0;
}
}
void random_mx(int *mx)
{
int i=0,j=0;
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
*(mx+(i*SIZE_COLUMN)+j)=(rand()%101-50),j++;
}
i++,j=0;
}
}
void transpose_mx(int *mx)
{
int i=0,j=0,aa[SIZE_ROW][SIZE_COLUMN];
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
aa[j][i]=*(mx+(i*SIZE_COLUMN)+j),j++;
}
i++,j=0;
}
printf("The transpose of the matrix is:");
i=0,j=0;
while(i<SIZE_ROW)
{
while(j<SIZE_COLUMN)
{
*(mx+(i*SIZE_COLUMN)+j) = aa[i][j],j++;
}
i++,j=0;
}
}
int menu_mx(int *sh,int *mx)
{
int m;
clrscr();
printf("-------------------------Menu-------------------------\n");
printf("<1> initialize the matrix with zeros\n");
printf("<2> fill the upper right triangle by entering an integer\n");
printf("<3> fill the lower left triangle by entering an integer\n");
printf("<4> fill the matrix with random integers within [-50,50]\n");
printf("<5> display the current matrix\n");
printf("<6> display the transpose of matrix\n");
printf("<7> display the sum of each column in matrix\n");
printf("<8> quit\n");
printf("------------------------------------------------------\n");
printf("Please choose an operation for this matrix [1-8]:\n");
scanf("%d",&m);
switch(m)
{
case 1: init_mx(mx);break;
case 2: upper_mx((mx));break;
case 3: lower_mx((mx));break;
case 4: random_mx((mx));break;
case 5: /*display_mx((mx));*/break;
case 6: transpose_mx(mx);break;
/*case 55: sum_mx((mx));break;这里不知道做什么的没有定义函数 */
case 8: printf(" (^_^)Thank you(^_^)");*sh=0;break;
default: menu_mx(sh,mx); break;
}
}
void main()
{
int ms[SIZE_ROW][SIZE_COLUMN],*mx,sh=1;
mx=ms;
while(sh)
{
display_mx(mx);
menu_mx(&sh,mx);
/* display_mx(mx);*/
}
}
修改得差不多了 ,符合要求要给最佳答案,不符合要求要说明,不要不了了之,没分不重要,至少要给点鼓励,给点反应吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询