首页 | 外语类 | 职业资格 | 公务员 | IT认证 | 财务会计 | 学历类 | 建筑工程 | 医药类 | 外贸类 | 知道 | 论坛   
  二级考试 | 考试动态 | 政策大纲 | 报考指南 | 一级考试 | 三级考试 | 四级考试 | 综合指导
  当前位置:中华考试网 > IT 认证 > 计算机等级考试 > 综合指导 > 文章内容
  
2006年9月全国等级考试三级c语言上机题库(九十)
中华考试网     [ 2006-12-21 ]

题目90(无忧id 18 整数排序题)

 

下列程序的功能是:将一正整数序列{K1,K2,...,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数jsValue()实现此功能,最后调用writeDat()函数将新序列输出到文件out.dat中。

说明:在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。

例:序列{6,8,9,1,2,5,4,7,3}

经重排后成为{3,4,5,2,1,6,8,9,7}

部分源程序存在文件prog1.c中。

请勿改动主函数main()和写函数writeDat()的内容。

#include <stdio.h>

 

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]<val)

{ 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);

}

考试编辑:admin

 评论与纠错
请您发表评论或文章错误报告。查看所有评论
 注意文明用语并遵守相关规定
 48小时热文排行
 今日更新
 真题排行
 模拟题排行
关于本站  网站声明  广告服务  联系方式  站内导航  友情链接
Copyright © 2007 中华考试网(Examw.com) All Rights Reserved