已知数据文件in1.dat和in2.dat中分别存有100个两位十进制数,并且已调用读函数readDat()把这两个文件中的数据存人数组a和数组b中。请编写函数jsVal(),实现的功能是依次对数组a和数组b中的数按条件重新组成一个新数并依次存人数组C中,

admin2013-12-10  22

问题 已知数据文件in1.dat和in2.dat中分别存有100个两位十进制数,并且已调用读函数readDat()把这两个文件中的数据存人数组a和数组b中。请编写函数jsVal(),实现的功能是依次对数组a和数组b中的数按条件重新组成一个新数并依次存人数组C中,再对数组c中的数据按从小到大的顺序进行排序,最后调用写函数writeDat()把结果C输出到文件OUt.dat中。组成新数的条件;如果数组a和数组b中相同下标位置的数均是奇数,则数组a中十位数字为新数的千位数字,个位数字仍为新数的个数字,数组b中的十位数字为新数的百位数字,个位数字为新数的十位数字,并将组成的新数存人数组C中。
【试题程序】
    #include
    #define MAX 100
    int a[MAX],b[MAX],dMAX];
    int cnt=0;/*存放符合条件数的个数*/
    void jsVal()
    {
    }
void readDat()
  {
    int i;
    FILE*fp}
    fp=fopen(”inl.dat“,”rI.);
    for(i=0li    fscanf(fp,‘%d’&La);
    felose(fp);
    fp fopen(”in2.dat”,“r”);
    for(i=0;i    fscanf(fp,‘%d’,&b);
    fclose(fp);
  }
  void main()
  {
    int i;void writeDat();
    for(i=0;i    readDat();
    jsVal();
    for(i=0;io;iq一+)
    printf(”9,6d\n”,ceil);
    writeDat();
    }
    void writeDat()
    {
    FILE*fp;
    int i;
    fp=fopen(”out.dat“,”w”);
    for(i=0;i>O;i++)
    fprintf(fp,“%d\n”。c)l
    felose(fp);
  }

选项

答案void jsVal() {int i,j; /*定义变量*/ int a1,a2,b1,b2; int ab; int temp; for(i=0;ic[j]) { temp=c[i]; c[i]=c[j]; c[j]=temp; } }

解析
转载请注明原文地址:https://kaotiyun.com/show/uElZ777K
0

最新回复(0)