搜档网
当前位置:搜档网 › 实验四源程序

实验四源程序

//实验四
//(由于本实验程序因原表数据的不同而不同,故在程序中不计算具体的测试的差异系数、每个人的注意系数和每个问题的注意系数)
//**************************************************************************************************************
#include
#define M 51
#define N 11

void main()
{
//变量定义或初始化部分
//**********************************************************************
int table[M][N]={0};//用以存放所有情况
int volume=0;//实际列数
int row=0;//实际行数
int i=0;
int j=0;
int i1=0;
int j1=0;
int k=0;
int m=0;
int n=0;
int rowcount[M]={0};//用以存放行统计量
int volumecount[N]={0};//用以存放列统计量
//**********************************************************************


printf("请从左至右按顺序输入每名学生对每个问题的得分情况(行为学生,列为问题):\n");
printf("请输入题目的个数(不超过10个):\n");
scanf("%d",&volume);
printf("请输入学生的个数(不超过15个):\n");
scanf("%d",&row);
printf("现在请输入得分情况:\n");

//格式化输入数据部分
//**********************************************************************
for(i=0;i{
for(j=0;j{
scanf("%d",&table[i][j]);
}
printf("\n");
}
//**********************************************************************

//输出原表部分
//**********************************************************************
printf("输出原表:\n");
for(i=0;i{
for(j=0;j{
printf("%d ",table[i][j]);
}
printf("\n");
}
//**********************************************************************

//将每行累加
//**********************************************************************
for(i1=0;i1{
for(j1=0;j1{
rowcount[i1]+=table[i1][j1];
}
}
//**********************************************************************

//将数值部分进行按行排序
//**********************************************************************
for(i=0;i{
m=i;
for(j=i+1;j{
if(rowcount[m]{
m=j;
}
}
if(m!=i)
{
for(n=0;n{
k=table[i][n];
table[i][n]=table[m][n];
table[m][n]=k;
}
}
for(i1=0;i1{
rowcount[i1]=0;
}

for(i1=0;i1{
for(j1=0;j1{
rowcount[i1]+=table[i1][j1];
}
}
}
//**********************************************************************

//将每列累加
//**********************************************************************
for(j1=0;j1{
for(i1=0;i1{
volumecount[j1]+=table[i1][j1];
}
}
//**********************************************************************

//将数值部分进行按列排序
//*************

*********************************************************
for(j=0;j{
m=j;
for(i=j+1;i{
if(volumecount[m]{
m=i;
}
}
if(m!=j)
{
for(n=0;n{
k=table[n][m];
table[n][m]=table[n][j];
table[n][j]=k;
}
}
for(j1=0;j1{
volumecount[j1]=0;
}

for(j1=0;j1{
for(i1=0;i1{
volumecount[j1]+=table[i1][j1];
}
}
}
//**********************************************************************

//输出排序后的表
//**********************************************************************
printf("输出排序后的表:\n");
for(i=0;i{
for(j=0;j{
printf("%d ",table[i][j]);
}
printf("\n");
}
//**********************************************************************

}
//**************************************************************************************************************



相关主题