題目90(無(wú)憂id 18 整數(shù)排序題)
下列程序的功能是:將一正整數(shù)序列{K1,K2,...,K9}重新排列成一個(gè)新的序列。新序列中,比K1小的數(shù)都在K1的前面(左面),比K1大的數(shù)都在K1的后面(右面)。要求編寫(xiě)函數(shù)jsValue()實(shí)現(xiàn)此功能,最后調(diào)用writeDat()函數(shù)將新序列輸出到文件out.dat中。
說(shuō)明:在程序中已給出了10個(gè)序列,每個(gè)序列有9個(gè)正整數(shù),并存入數(shù)組a[10][9]中,分別求出這10個(gè)新序列。
例:序列{6,8,9,1,2,5,4,7,3}
經(jīng)重排后成為{3,4,5,2,1,6,8,9,7}
部分源程序存在文件prog1.c中。
請(qǐng)勿改動(dòng)主函數(shù)main()和寫(xiě)函數(shù)writeDat()的內(nèi)容。
#include
jsValue(int a[10][9])
{ int i,j,k,val,num;
for(i=0;i<10;i++)
{ val=a[i][0];
for(j=0;j<9;j++)
if(a[i][j] { num=a[i][j];
for(k=j;k>0;k--)
a[i][k]=a[i][k-1];
a[i][0]=num;
}
}
}
main()
{
int a[10][9]={{6,8,9,1,2,5,4,7,3},
{3,5,8,9,1,2,6,4,7},
{8,2,1,9,3,5,4,6,7},
{3,5,1,2,9,8,6,7,4},
{4,7,8,9,1,2,5,3,6},
{4,7,3,5,1,2,6,8,9},
{9,1,3,5,8,6,2,4,7},
{2,6,1,9,8,3,5,7,4},
{5,3,7,9,1,8,2,6,4},
{7,1,3,2,5,8,9,4,6},
};
int i,j;
jsValue(a);
for(i=0;i<10;i++){
for(j=0;j<9;j++) {
printf("%d",a[i][j]);
if(j<=7)printf(",");
}
printf("\n");
}
writeDat(a);
}
writeDat(int a[10][9])
{
FILE *fp;
int i,j;
fp=fopen("out.dat","w");
for(i=0;i<10;i++){
for(j=0;j<9;j++){
printf("%d",a[i][j]);
fprintf(fp,"%d",a[i][j]);
if(j<=7) fprintf(fp,",");
}
printf("\n");
fprintf(fp,"\n");
}
fclose(fp);
}
下列程序的功能是:將一正整數(shù)序列{K1,K2,...,K9}重新排列成一個(gè)新的序列。新序列中,比K1小的數(shù)都在K1的前面(左面),比K1大的數(shù)都在K1的后面(右面)。要求編寫(xiě)函數(shù)jsValue()實(shí)現(xiàn)此功能,最后調(diào)用writeDat()函數(shù)將新序列輸出到文件out.dat中。
說(shuō)明:在程序中已給出了10個(gè)序列,每個(gè)序列有9個(gè)正整數(shù),并存入數(shù)組a[10][9]中,分別求出這10個(gè)新序列。
例:序列{6,8,9,1,2,5,4,7,3}
經(jīng)重排后成為{3,4,5,2,1,6,8,9,7}
部分源程序存在文件prog1.c中。
請(qǐng)勿改動(dòng)主函數(shù)main()和寫(xiě)函數(shù)writeDat()的內(nèi)容。
#include
jsValue(int a[10][9])
{ int i,j,k,val,num;
for(i=0;i<10;i++)
{ val=a[i][0];
for(j=0;j<9;j++)
if(a[i][j]
for(k=j;k>0;k--)
a[i][k]=a[i][k-1];
a[i][0]=num;
}
}
}
main()
{
int a[10][9]={{6,8,9,1,2,5,4,7,3},
{3,5,8,9,1,2,6,4,7},
{8,2,1,9,3,5,4,6,7},
{3,5,1,2,9,8,6,7,4},
{4,7,8,9,1,2,5,3,6},
{4,7,3,5,1,2,6,8,9},
{9,1,3,5,8,6,2,4,7},
{2,6,1,9,8,3,5,7,4},
{5,3,7,9,1,8,2,6,4},
{7,1,3,2,5,8,9,4,6},
};
int i,j;
jsValue(a);
for(i=0;i<10;i++){
for(j=0;j<9;j++) {
printf("%d",a[i][j]);
if(j<=7)printf(",");
}
printf("\n");
}
writeDat(a);
}
writeDat(int a[10][9])
{
FILE *fp;
int i,j;
fp=fopen("out.dat","w");
for(i=0;i<10;i++){
for(j=0;j<9;j++){
printf("%d",a[i][j]);
fprintf(fp,"%d",a[i][j]);
if(j<=7) fprintf(fp,",");
}
printf("\n");
fprintf(fp,"\n");
}
fclose(fp);
}