首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:将一正整数序列{K1,K2,…,K9}重新排成一个新的序列。新序列中,比K1小的数都在K1的左面(后续的再向左存放),比K1大的数都在K1的右面(后续的再向右存放),从K1向右扫描。要求编写函数jsValue()实现此功能,最后调用函数w
下列程序的功能是:将一正整数序列{K1,K2,…,K9}重新排成一个新的序列。新序列中,比K1小的数都在K1的左面(后续的再向左存放),比K1大的数都在K1的右面(后续的再向右存放),从K1向右扫描。要求编写函数jsValue()实现此功能,最后调用函数w
admin
2010-01-09
35
问题
下列程序的功能是:将一正整数序列{K1,K2,…,K9}重新排成一个新的序列。新序列中,比K1小的数都在K1的左面(后续的再向左存放),比K1大的数都在K1的右面(后续的再向右存放),从K1向右扫描。要求编写函数jsValue()实现此功能,最后调用函数writeDat()把新序列输出到文件out90.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}
注意:部分源程序已给出。
请勿改动主函数main()和写函数writeDat()的内容。
试题程序:
#include<stdio.h>
jsValue(int a[10][9])
{
}
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
[j]);
if(j<=7) printf(",");
}
printf ("\n");
}
writeDat (a);
}
writeDat (int a[10] [9])
{
FILE *fp;
int i,j;
fp=fopen ("out90.dat", "w");
for (i=0;i<10; i++)
{
for(j=0;j<9;j++)
{
fprintf (fp, "%d", a
[j] );
if (j<=7) fprintf (fp, ", ");
}
fprintf (fp, "\n");
}
fclose (fp);
}
选项
答案
void jsValue(int a[10][9]) { int value,i,j,k,num; for(i=0;i<10;i++) { value=a[i][0]; /*将一行的第一个元素赋给value*/ for(j=0;j<9;j++) if(a[i][j]<value) /*若后面的数中有比第1个数据小的数*/ { num=a[i][j]; /*则把这个数取出,赋给num*/ for(k=j;k>0;k--) /*将这个数据左侧的数依次向右移动*/ { a[i][k]=a[i][k-1]; } a[i][0]=num; /*再将这个数放在最左侧*/ } } } [解析] 本题考查的知识点如下: (1)二维数组的访问和数组元素的移动。 (2)循环结构和判断结构的嵌套使用。 数据存放在一个二维数组中,每一行数为数据处理的基本单位。将第1个数取出依次和后面的数比较,若后面的数中有比第1个数据小的数,则将这个数取出。将这个数据左侧的数依次向右移动(包括第1个数),然后将这个数放在最左侧。扫描完一行后,比第1个数小的数就都在第1个数的左侧,而比它大的就在它的右侧。对数的扫描和移动均可以使用循环实现。再使用循环实现对每一行数据的访问。
解析
转载请注明原文地址:https://kaotiyun.com/show/sKYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
设在SQLServer2008某数据库中有商品表和销售表,两个表的定义如下:CREATETABLE商品表(商品号char(10)PRIMARYKEY,商品名varchar(40),类别varchar(2
某商场商品经营管理系统使用SQLServer2008数据库管理系统,此系统上线运行1年后,业务人员使用某统计功能(此功能每月使用一次)时发现速度很慢。该统计功能主要执行的SQL语句如下:SELECT商品号,SUM(销售数量*销售价格)销售额
触发器有3种类型,即INSERT类型、UPDATE类型和【4】。
数据库管理系统中的加锁协议规定了事务的加锁时间、持锁时间和释放锁时间,其中_______协议可以完全保证并发事务数据的一致性。
在概念模型中,属性用于描述事物的特征或性质。关于属性有下列说法:Ⅰ.一个实体集中的属性名要唯一Ⅱ.属性一般用名词或名词短语命名Ⅲ.一个属性的值可以取自不同的域Ⅳ.实体集的标识属性能够唯一识别实体集中每一个实体
在一台正在运行的SQLServer2008中,现需使用复制数据库文件的方法将某数据库从一台服务器移动到另一台服务器。关于复制数据库文件,有下列实现方法:Ⅰ.首先从数据库服务器中分离出要复制的数据库,然后复制数据库文件Ⅱ.首先停止SQLSe
从安全性角度考虑,防火墙技术是用来保证数据库应用系统的【2】环境安全的。
SQLServer中根据索引的实现方式,索引技术可以分成有序索引和_________两大类。
为了保证CPU执行程序指令时能正确访问存储单元,需要将用户程序中的逻辑地址转换为运行时可由机器直接寻址的物理地址,这一过程称为
随机试题
简述旅游合同的特征。
风湿性心脏病二尖瓣狭窄病情随右心衰竭发生而加重,但临床表现可减轻的是
依据《安全生产法》的规定,生产经营单位必须加强安全生产管理,推进(),提高安全生产水平,确保安全生产。
下列各项业务中,属于满足置存现金的投机性需求的是()。
下列关于金融风险造成的损失的说法,错误的是()。
某工业企业为增值税小规模纳税人,原材料采用计划成本核算,丙材料计划成本每吨为15元。本期购进丙材料4000吨,收到的增值税专用发票上注明的价款总额为53000元,增值税额为9010元,款项已用银行汇票支付,另用银行存款支付运杂费用1400元,途中保险费用4
秘密等级顶格标识在版心()。
某员2012年的月薪为4000元,如果每年的提薪幅度都是5%,当采取延续性给付方式时,该员工2014年的月薪是()
需求分析中开发人员要从用户那里了解
Youwillhearfiveshortrecordings.Foreachrecording,decidewhichaspectofconductinginterviewseachspeakerconsiderspar
最新回复
(
0
)