下列程序的功能是:将一个正整数序列{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,

题目

下列程序的功能是:将一个正整数序列{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}。部分源程序已给出。请勿改动主函数main() 和写函数writeDat() 的内容。#include<stdio.h>void jsValue(int a[10][9]){ } void 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);}void 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++){ fprintf(fp,"%d",a[i][j]); if(j<=7) fprintf(fp,","); } fprintf(fp,"\n");} fclose(fp);}


相似考题

1.●试题四阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列,新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面),最后调用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}【函数】#include<stdio.h>#include<conio.h>void jsValue(int a[10][9]){int i,j,k,n,temp;int b[9];for(i=0;i<10;i++){temp=a[i][0];k=8;n=0;for(j=8;j=0;j--){if(temp<a[i][j]) (1) =a[i][j];if(temp>a[i][j]) (2) =a[i][j];if(temp=a[i][j]) (3) =temp;}for(j=0;j<9;j++)a[i][j]=b[j];}}void 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;(4) ;for(i=0;i<10;i++){for(j=0;j<9;j++){printf("%d",a[i][j]);if( (5) )printf(",");}printf("\n");}getch();}

更多“下列程序的功能是:将一个正整数序列{K1, K2,…, K9}重新排列成一个新的序列。在新序列中,比K1小的 ”相关问题
  • 第1题:

    下列程序的功能是:将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数NumSort(int a[10][9])实现此功能,最后调用Wdata函数将新序列输出到文件out.dat中。 说明:在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[l0][9]中,分别求出这10个新序列。 例:序列{6,8,9,1,2,5,4,7,3} 经重排后成为{3,4,5,2,1,6,8,9,7} 注意:部分源程序已经给出。 请勿改动主函数main和写函数Wdata的内容。


    正确答案:
    【审题关键句】统计一个长度为2的子字符串在另一个字符串中出现的次数。
    【解题思路】
    ①定义字符指针P,q,并且q指向字符串str。定义计数整型变量cnt,设置其值等于0。
    ②在while循环中调用C语言的字符串库函数strstr,返回子字符串substr在字符串q第一次出现的位置,赋给变量P。用if语句判断,如果P的值为空,则说明在字符串str没有找到子字符串,退出循环。否则,变量cnt加l,再把P的值加2(因为子字符串substr的长度为2)赋给变量q,执行下一次循环。直到字符串中不存在子字符串时,退出循环结束。
    ③最后,返回子字符串substr在字符串s仃中出现的次数。
    【参考答案】

  • 第2题:

    ( )函数用于将指定序列中的所有元素作为参数调用指定函数,并将结果构成一个新的序列返回

    A.lambda

    B.map

    C.filter

    D.zip


    正确答案:B

  • 第3题:

    31、指将一个记录插入到一个已经排序好的有序序列中,从而得到一个新的、记录个数加1的有序序列,这样的排序称为()。


    D

  • 第4题:

    对于n个元素的关键字序列K1,K2,…,Kn,若有Ki≤K2i≤且Ki≤2i+1(i=1,2,…,[n/2],2i+1≤n),则称其为小根堆。以下关于小根堆及其元素关系的叙述中,错误的是( )。

    A.关键字序列K1,K2,…,Kn呈非递减排序时一定为小根堆

    B.小根堆中的序列K1,K2,K4…,K2j(2j≤n)一定为非递减序列

    C.小根堆中元素K2i与K2i+1(2i≤n,2i+1≤n)之间的大小关系不能确定

    D.小根堆的最后一个元素一定是序列的最大元素


    正确答案:D
    解析:小根堆中元素比它本身的根小,它和它的兄弟没有大小关系。

  • 第5题:

    在Premiere中创建一个新序列,在对序列进行编排的过程中,序列本身的参数可以随时修改。


    错误