#include <stdio.h>
#include <stdlib.h>
typedef struct JZH
{
int a;
struct JZH * next;
} J;
void main()
{
//定义变量
int n,row,line,count,i,j,m[100][100],
J *q,*p,*head,*newMem;
//建立头结点
head=(J *)malloc(sizeof(J));
head->next=NULL;
//对变量赋初值
count=0;
q=head;
p=head->next;
//请用户输入行数
printf("请输入行数:");
scanf("%d",&row);
//请用户输入列数
printf("请输入列数:");
scanf("%d",&line);
//请用户输入数据
printf("请输入数据:");
while(count<line*row)//如果符合要求将数据插入链表
{
//新结点
newMem=(J *)malloc(sizeof(J));
scanf("%d",&n);
//将新数据读入新结点
newMem->a=n;
//按用户输入顺序插入
q->next=newMem;
newMem->next=p;
count++;
q=q->next;
}
/**********按用户要求的行列输出**********/
p=head->next;
while(p!=NULL)
{for(i=0;i<row;i++)
for(j=0;j<line;j++){
m[i][j]=p->a;
p=p->next;
}
}
printf("\n\n该矩阵为:\n\n");
for(i=0;i<row;i++){
for(j=0;j<line;j++){
printf("%-4d",m[i][j]);
}
printf("\n");
}
printf("\n任意键结束程序!\n\n");
}