版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全国计算机等级考试三级C语言上机100题一.排序类:1.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:假如四位数各位上的数字均是0或2或4或6或8,则记录出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){inti,j,t; for(i=0;i<MAX;i++)ﻩ{ﻩ t=a[i]; ﻩif(t%2+t/10%2+t/100%2+t/1000%2==0)ﻩﻩ b[cnt++]=t; } for(i=0;i<cnt-1;i++) for(j=i+1;j<cnt;j++) if(b[i]<b[j]) ﻩﻩ{ﻩ ﻩt=b[i]; ﻩ ﻩb[i]=b[j];ﻩﻩﻩ b[j]=t;ﻩ }ﻩ}voidreadDat(){inti;FILE*fp;fp=fopen("in.dat","r");for(i=0;i<MAX;i++)fscanf(fp,"%d",&a[i]);fclose(fp);}voidmain(){inti;readDat();jsVal();printf("满足条件的数=%d\n",cnt);for(i=0;i<cnt;i++)printf("%d",b[i]);printf("\n");writeDat();}writeDat(){FILE*fp;inti;fp=fopen("out.dat","w");fprintf(fp,"%d\n",cnt);for(i=0;i<cnt;i++)fprintf(fp,"%d\n",b[i]);fclose(fp);}2.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:假如四位数各位上的数字均是奇数,则记录出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){ inti,j,t;ﻩfor(i=0;i<MAX;i++) { t=a[i];ﻩ if(t%2+t/10%2+t/100%2+t/1000%2==4) b[cnt++]=t; } for(i=0;i<cnt-1;i++)ﻩ for(j=i+1;j<cnt;j++) ﻩif(b[i]<b[j]) ﻩﻩ{ ﻩ ﻩt=b[i]; ﻩb[i]=b[j];ﻩ ﻩb[j]=t; ﻩ} }voidreadDat(){inti;FILE*fp;fp=fopen("in.dat","r");for(i=0;i<MAX;i++)fscanf(fp,"%d",&a[i]);fclose(fp);}voidmain(){inti;readDat();jsVal();printf("满足条件的数=%d\n",cnt);for(i=0;i<cnt;i++)printf("%d",b[i]);printf("\n");writeDat();}writeDat(){FILE*fp;inti;fp=fopen("out.dat","w");fprintf(fp,"%d\n",cnt);for(i=0;i<cnt;i++)fprintf(fp,"%d\n",b[i]);fclose(fp);}3.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,假如该四位数连续小于该四位数以后的五个数且该数是偶数(该四位数以后不满五个数,则不记录),则记录出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){inti,j,t; for(i=0;i<200-5;i++)ﻩﻩif(a[i]>a[i+1]&&a[i]>a[i+2]&&a[i]>a[i+3]&&a[i]>a[i+4]&&a[i]>a[i+5]&&a[i]%2==0) ﻩﻩb[cnt++]=a[i]; for(i=0;i<cnt-1;i++) ﻩfor(j=i+1;j<cnt;j++)ﻩ if(b[i]>b[j]) {ﻩ ﻩ t=b[i];ﻩﻩﻩ b[i]=b[j];ﻩ ﻩ b[j]=t; ﻩﻩ}}4.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,假如该四位数连续大于该四位数以前的五个数且该数是偶数(该四位数以前不满五个数,则不记录),则记录出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){inti,j,t;ﻩfor(i=5;i<200;i++)if(a[i]>a[i-1]&&a[i]>a[i-2]&&a[i]>a[i-3]&&a[i]>a[i-4]&&a[i]>a[i-5]&&a[i]%2==0)ﻩﻩﻩb[cnt++]=a[i]; for(i=0;i<cnt-1;i++) ﻩfor(j=i+1;j<cnt;j++) if(b[i]<b[j])ﻩ ﻩ{ ﻩﻩﻩt=b[i];ﻩ b[i]=b[j]; ﻩﻩﻩb[j]=t;ﻩ }}5.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,假如该四位数连续大于该四位数以后的五个数且该数是奇数(该四位数以后不满五个数,则不记录),则记录出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){inti,j,t; for(i=0;i<200-5;i++) ﻩif(a[i]>a[i+1]&&a[i]>a[i+2]&&a[i]>a[i+3]&&a[i]>a[i+4]&&a[i]>a[i+5]&&a[i]%2==1) b[cnt++]=a[i];ﻩfor(i=0;i<cnt-1;i++)ﻩ for(j=i+1;j<cnt;j++)ﻩﻩ if(b[i]>b[j]) ﻩﻩ{ ﻩt=b[i];ﻩﻩ b[i]=b[j];ﻩﻩﻩﻩb[j]=t;ﻩ }}6.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,假如该四位数连续大于该四位数以前的五个数且该数是奇数,且该数必须能被7整除(该四位数以前不满五个数,则不记录),则记录出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){ inti,j,t; for(i=5;i<200;i++) if(a[i]>a[i-1]&&a[i]>a[i-2]&&a[i]>a[i-3]&&a[i]>a[i-4]&&a[i]>a[i-5]&&a[i]%2==1&&a[i]%7==0)ﻩﻩﻩb[cnt++]=a[i]; for(i=0;i<cnt-1;i++)ﻩﻩfor(j=i+1;j<cnt;j++) ﻩif(b[i]<b[j])ﻩﻩ { ﻩﻩ t=b[i]; ﻩb[i]=b[j];ﻩ ﻩﻩb[j]=t;ﻩﻩﻩ}}7.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),假如新组成的两个十位数ab-cd>=0且ab-cd<=10且两个数均是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){inti,j,t,ab,cd;ﻩfor(i=0;i<MAX;i++) { ﻩab=a[i]/1000*10+a[i]/10%10; ﻩcd=a[i]%10*10+a[i]/100%10;ﻩﻩif(ab-cd>=0&&ab-cd<=10&&ab%2&&cd%2&&ab[i]/10!=0&&cd/10!=0) ﻩﻩb[cnt++]=a[i];ﻩ}ﻩfor(i=0;i<cnt-1;i++)ﻩﻩfor(j=i+1;j<cnt;j++)ﻩ ﻩif(b[i]<b[j])ﻩﻩﻩ{ ﻩﻩ t=b[i];ﻩ ﻩb[i]=b[j];ﻩﻩ b[j]=t;ﻩ ﻩ}}8.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),假如新组成的两个十位数ab-cd>=10且ab-cd<=20且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){inti,j,t,ab,cd;ﻩfor(i=0;i<MAX;i++) {ﻩﻩab=a[i]/1000*10+a[i]/10%10;ﻩﻩcd=a[i]%10*10+a[i]/100%10; if(ab-cd>=10&&ab-cd<=20&&ﻩﻩ ﻩab%2==0&&cd%2==0&&ﻩ ﻩ a[i]/10!=0&&a[i]/10!=0) ﻩﻩb[cnt++]=a[i];ﻩ}ﻩfor(i=0;i<cnt-1;i++)ﻩ for(j=i+1;j<cnt;j++)ﻩﻩﻩif(b[i]<b[j]) ﻩ {ﻩ t=b[i];ﻩ ﻩﻩb[i]=b[j];ﻩﻩ ﻩb[j]=t; ﻩﻩ}}9.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),假如新组成的两个十位数ab<cd,ab必须是奇数且不能被5整除,cd必须是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){ﻩinti,j,t,ab,cd; for(i=0;i<MAX;i++)ﻩ{ﻩﻩab=a[i]/1000*10+a[i]/10%10;ﻩ cd=a[i]%10*10+a[i]/100%10;ﻩ if(ab-<cd&&ab%2==1&&ﻩ ﻩﻩab%5!=0&&cd%2==0&&ﻩ ﻩﻩab/10!=0&&cd/10!=0)ﻩ ﻩb[cnt++]=a[i];ﻩ}ﻩfor(i=0;i<cnt-1;i++) for(j=i+1;j<cnt;j++) ﻩif(b[i]<b[j]) ﻩ{ t=b[i]; ﻩﻩﻩb[i]=b[j];ﻩﻩﻩ b[j]=t; ﻩ}}10.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),假如新组成的两个十位数ab>cd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){inti,j,t,ab,cd; for(i=0;i<MAX;i++) {ﻩ ab=a[i]/1000*10+a[i]/10%10; cd=a[i]%10*10+a[i]/100%10; if(ab>cd&&ab%2==0&& ﻩﻩﻩab%5==0&&cd%2==1&&ﻩ ﻩ ab/10!=0&&cd/10!=0)ﻩ ﻩb[cnt++]=a[i];ﻩ}ﻩfor(i=0;i<cnt-1;i++) ﻩfor(j=i+1;j<cnt;j++) if(b[i]<b[j]) ﻩ{ ﻩﻩt=b[i];ﻩ ﻩﻩb[i]=b[j]; b[j]=t; }}11.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),假如新组成的两个十位数均是素数且新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;intisprime(intm){inti;for(i=2;i<=m/2;i++)if(m%i==0)return0;return1;}voidjsVal(){inti,j,t; for(t=0;t<MAX;t++)ﻩ{ ﻩi=a[t]/1000*10+a[t]/10%10; j=a[t]%10*10+a[t]/100%10; ﻩif(isprime(i)&&isprime(j)&&a[t]/1000&&a[t]%10!=0) ﻩb[cnt++]=a[t];ﻩ} for(i=0;i<cnt-1;i++) for(j=i+1;j<cnt;j++) if(b[i]<b[j]) { ﻩ ﻩt=b[i]; ﻩ b[i]=b[j];ﻩﻩ ﻩb[j]=t;ﻩﻩﻩ}}12.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和个位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的个位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),假如新组成的两个十位数均是奇数并且两个十位数中至少有一个数能被5整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){inti,j,t,ab,cd; for(i=0;i<MAX;i++)ﻩ{ ﻩab=a[i]/1000*10+a[i]%10; cd=a[i]/100*10+a[i]/10%10;ﻩﻩif(ab%2==1&&cd%2==1&&(ab%5==0||cd%5==0)&&ab/10!=0&&cd/10!=0) ﻩb[cnt++]=a[i];ﻩ}ﻩfor(i=0;i<cnt-1;i++) for(j=i+1;j<cnt;j++)ﻩ if(b[i]<b[j]) {ﻩﻩﻩﻩt=b[i];ﻩﻩﻩﻩb[i]=b[j]; b[j]=t;ﻩ }}13.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把个位数字和千位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),假如新组成的两个十位数均是偶数并且两个十位数中至少有一个数能被9整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){inti,j,t,ab,cd; for(i=0;i<MAX;i++) { ab=a[i]%10*10+a[i]/1000;ﻩﻩcd=a[i]/100%10*10+a[i]/10%10; if(ab%2==0&&cd%2==0&&(ab%9==0||cd%9==0)&&ab/10!=0&&cd/10!=0) ﻩ b[cnt++]=a[i]; } for(i=0;i<cnt-1;i++) ﻩfor(j=i+1;j<cnt;j++) ﻩﻩif(b[i]<b[j])ﻩ ﻩ{ﻩﻩ t=b[i];ﻩﻩﻩﻩb[i]=b[j]; ﻩ b[j]=t;ﻩ }}14.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把个位数字和千位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),假如新组成的两个十位数必须是一个奇数,另一个为偶数并且两个十位数中至少有一个数能被17整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){inti,j,t,ab,cd; for(i=0;i<MAX;i++) {ﻩﻩab=a[i]%10*10+a[i]/1000;ﻩﻩcd=a[i]/100*10+a[i]/10%10; if(((ab%2==1&&cd%2==0)||(ab%2==0&&cd%2==1))&&(ab%17==0||cd%17==0)&&ab/10!=0&&cd/10!=0) ﻩb[cnt++]=a[i]; }ﻩfor(i=0;i<cnt-1;i++) for(j=i+1;j<cnt;j++) ﻩ if(b[i]<b[j])ﻩﻩﻩ{ﻩﻩﻩﻩt=b[i];ﻩﻩ ﻩb[i]=b[j]; b[j]=t; ﻩﻩ}}15.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值加上十位数字上的值恰好等于百位数字上的值加上个位数字上的值,并且原四位数是偶数,则记录出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){ﻩinti,j,t; for(i=0;i<200;i++) {ﻩif(a[i]/1000+a[i]/10%10==a[i]/100%10+a[i]%10&&a[i]%2==0)ﻩﻩ b[cnt++]=a[i]; } for(i=0;i<cnt-1;i++)ﻩ for(j=i+1;j<cnt;j++)ﻩ if(b[i]>b[j])ﻩ ﻩ{ﻩ t=b[i]; ﻩ ﻩb[i]=b[j]; ﻩ ﻩb[j]=t;ﻩ ﻩ}}16.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值减去百位数字上的值再减去十位数字上的值最后减去个位数字上的值,假如得出的值大于等于零且原四位数是奇数,则记录出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){ inti,j,t;ﻩfor(i=0;i<200;i++)ﻩ{ if(a[i]/1000-a[i]/100%10-a[i]/10%10-a[i]%10>=0&&a[i]%2==1)ﻩﻩﻩb[cnt++]=a[i]; }ﻩfor(i=0;i<cnt-1;i++)ﻩﻩfor(j=i+1;j<cnt;j++)ﻩﻩ if(b[i]>b[j]) ﻩﻩ{ ﻩt=b[i]; ﻩ b[i]=b[j];ﻩﻩﻩ b[j]=t;ﻩﻩﻩ}}17.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的个位数字上的值减去千位数字上的值再减去百位数字上的值最后减去十位数字上的值,假如得出的值大于等于零且原四位数是偶数,则记录出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){ﻩinti,j,t;ﻩfor(i=0;i<200;i++) {ﻩif(a[i]%10-a[i]/1000-a[i]/100%10-a[i]/10%10>=0&&a[i]%2==0) ﻩ b[cnt++]=a[i]; } for(i=0;i<cnt-1;i++) for(j=i+1;j<cnt;j++) ﻩif(b[i]>b[j]) ﻩ{ ﻩﻩﻩt=b[i]; ﻩ ﻩb[i]=b[j]; b[j]=t; ﻩﻩ}}18.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则记录出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){inti,j,t; for(i=0;i<200;i++)ﻩ{ if(a[i]/1000+a[i]%10==a[i]/100%10+a[i]/10%10&&a[i]%2==1)ﻩﻩﻩb[cnt++]=a[i];ﻩ}ﻩfor(i=0;i<cnt-1;i++)ﻩﻩfor(j=i+1;j<cnt;j++)ﻩ if(b[i]>b[j])ﻩ ﻩ{ﻩ ﻩ t=b[i]; ﻩb[i]=b[j];ﻩ b[j]=t; }}19.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大于等于十位数字上的值,以及十位数字上的值大于等于个位数字上的值,并且原四位数是奇数,则记录出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){inti,j,t;ﻩfor(i=0;i<200;i++) { if(a[i]/1000>=a[i]/100%10&&a[i]/100%10>=a[i]/10%10&&a[i]/10%10>=a[i]%10&&a[i]%2==1) ﻩﻩb[cnt++]=a[i]; }ﻩfor(i=0;i<cnt-1;i++)ﻩﻩfor(j=i+1;j<cnt;j++)ﻩﻩﻩif(b[i]>b[j]) ﻩ{ﻩ t=b[i];ﻩ ﻩb[i]=b[j]; b[j]=t;ﻩ }}20.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则记录出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。注意:部分源程序存在文献prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){inti,j,t;ﻩfor(i=0;i<200;i++)ﻩ{ﻩif(a[i]/1000<=a[i]/100%10&&a[i]/100%10<=a[i]/10%10>=0&&a[i]/10%10<=a[i]%10&&a[i]%2==0) b[cnt++]=a[i]; } for(i=0;i<cnt-1;i++) for(j=i+1;j<cnt;j++)ﻩﻩ if(b[i]>b[j])ﻩﻩﻩ{ﻩﻩ t=b[i];ﻩ ﻩﻩb[i]=b[j]; ﻩb[j]=t;ﻩ }}21.已知数据文献in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文献。例如:6712,6+2=7+1,则该数满足条件存入数组b中,且个数cnt=cnt+1。8129,8+9<>1+2,则该数不满足条件忽略。部分源程序存在文献prog1.c中。程序中已定义数组:a[300],b[300],已定义变量:cnt请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。#include<stdio.h>inta[300],b[300],cnt=0;jsValue(){inti,j,t; for(i=0;i<300;i++)ﻩ{ﻩif(a[i]/1000+a[i]%10==a[i]/100%10+a[i]/10%10) b[cnt++]=a[i]; } for(i=0;i<cnt-1;i++)ﻩ for(j=i+1;j<cnt;j++) ﻩif(b[i]>b[j])ﻩﻩﻩ{ ﻩ t=b[i]; ﻩ ﻩb[i]=b[j]; b[j]=t;ﻩ }}22.已知数据文献in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文献。例如:9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。9812,9-8-1-2>0,则该数不满足条件忽略。部分源程序存在文献prog1.c中。程序中已定义数组:a[300],b[300],已定义变量:cnt请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。#include<stdio.h>inta[300],b[300],cnt=0;jsValue(){inti,j,t;ﻩfor(i=0;i<300;i++)ﻩ{ﻩif(a[i]/1000-a[i]/100%10-a[i]/10%10-a[i]%10>=0) ﻩ b[cnt++]=a[i]; }ﻩfor(i=0;i<cnt-1;i++) ﻩfor(j=i+1;j<cnt;j++)ﻩ ﻩif(b[i]>b[j])ﻩﻩ {ﻩ ﻩ t=b[i]; b[i]=b[j]; ﻩﻩb[j]=t; ﻩﻩ}}23.已知数据文献in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文献。例如:7153,7+1=5+3,则该数满足条件存入数组b中,且个数cnt=cnt+1。8129,8+1<>2+9,则该数不满足条件忽略。部分源程序存在文献prog1.c中。程序中已定义数组:a[300],b[300],已定义变量:cnt请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。#include<stdio.h>inta[300],b[300],cnt=0;jsValue(){inti,j,t; for(i=0;i<300;i++)ﻩ{ﻩif(a[i]/1000+a[i]/100%10==a[i]/10%10+a[i]%10)ﻩ b[cnt++]=a[i];ﻩ}ﻩfor(i=0;i<cnt-1;i++) ﻩfor(j=i+1;j<cnt;j++)ﻩﻩ if(b[i]<b[j]) ﻩﻩ{ ﻩ t=b[i]; ﻩ ﻩb[i]=b[j]; ﻩﻩb[j]=t; ﻩ }}24.已知数据文献in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文献。例如:5591是素数,则该数满足条件存入数组b中,且个数cnt=cnt+1。9812是非素数,则该数不满足条件忽略。部分源程序存在文献prog1.c中。程序中已定义数组:a[300],b[300],已定义变量:cnt请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。#include<stdio.h>inta[300],b[300],cnt=0;intisP(intm){inti;for(i=2;i<m;i++)if(m%i==0)return0;return1;}jsValue(){ﻩinti,j,t;ﻩfor(i=0;i<300;i++) if(isP(a[i])) b[cnt++]=a[i];ﻩfor(i=0;i<cnt-1;i++) ﻩfor(j=i+1;j<cnt;j++)ﻩ ﻩif(b[i]>b[j])ﻩﻩ { ﻩﻩﻩt=b[i];ﻩ ﻩﻩb[i]=b[j];ﻩ b[j]=t; ﻩ }}25.已知数据文献in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文献。例如:9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。9812,9-8-1-2>0,则该数不满足条件忽略。部分源程序存在文献prog1.c中。程序中已定义数组:a[300],b[300],已定义变量:cnt请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。#include<stdio.h>inta[300],b[300],cnt=0;jsValue(){inti,j,t;ﻩfor(i=0;i<300;i++)ﻩ{ if(a[i]/1000-a[i]/100%10-a[i]/10%10-a[i]%10>0)ﻩ ﻩb[cnt++]=a[i]; } for(i=0;i<cnt-1;i++) ﻩfor(j=i+1;j<cnt;j++)ﻩﻩ if(b[i]>b[j]) {ﻩ ﻩﻩt=b[i];ﻩﻩ ﻩb[i]=b[j]; ﻩﻩb[j]=t; ﻩ }}26.在文献in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:规定按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,假如后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat()把结果bb输出到文献out.dat中。例:解决前60125099901270258088解决后90126012702580885099部分源程序存在文献prog1.c中。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include<stdio.h>#include<string.h>#include<conio.h>intaa[200],bb[10];voidjsSort(){inti,j,t;ﻩfor(i=0;i<10;i++) { for(j=i+1;j<200;j++)ﻩ if(aa[i]%1000>aa[j]%1000||aa[i]%1000==aa[j]%1000&&aa[i]<aa[j]) ﻩ { ﻩ t=aa[i];ﻩﻩ aa[i]=aa[j];ﻩﻩ ﻩaa[j]=t;ﻩ ﻩ} ﻩﻩbb[i]=aa[i];ﻩ}}27.在文献in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:规定按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,假如后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat()把结果bb输出到文献out.dat中。例:解决前90125099601270258088解决后50998088702560129012注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include<stdio.h>#include<string.h>#include<conio.h>intaa[200],bb[10];voidjsSort(){inti,j,t;ﻩfor(i=0;i<10;i++)ﻩ{ ﻩfor(j=i+1;j<200;j++)ﻩ if(aa[i]%1000<aa[j]%1000||aa[i]%1000==aa[j]%1000&&aa[i]>aa[j])ﻩﻩ {ﻩ ﻩt=aa[i];ﻩ ﻩﻩaa[i]=aa[j];ﻩﻩ ﻩaa[j]=t;ﻩﻩﻩ} ﻩ bb[i]=aa[i]; }}28.在文献in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:规定在200组数据中找出条件为每组中的第二个数大于第一个数加第三个数的之和,其中满足条件的组数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第二个数加第三个之和的大小进行降序排列(第二个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数WriteDat()把结果bb输出到文献out.dat中。部分源程序存在文献prog1.c中。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include<stdio.h>#include<string.h>#include<conio.h>typedefstruct{intx1,x2,x3;}data;dataaa[200],bb[200];intjsSort(){ inti,cnt=0,j;ﻩdatach;ﻩfor(i=0;i<200;i++)ﻩ if(aa[i].x2>aa[i].x1+aa[i].x3)ﻩﻩ{ﻩ ﻩbb[cnt]=aa[i]; ﻩ cnt++;ﻩﻩ}ﻩfor(i=0;i<cnt-1;i++)ﻩ for(j=i+1;j<cnt;j++)ﻩﻩﻩif(bb[i].x2+bb[i].x3<bb[j].x2+bb[j].x3)ﻩ ﻩ{ ch=bb[i];ﻩ ﻩ bb[i]=bb[j]; ﻩﻩbb[j]=ch;ﻩ } returncnt;}29.在文献in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:规定在200组数据中找出条件为每组中的第一个数大于第二个数加第三个数的和,其中满足条件的组数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第一个数加第三个之和的大小进行升序排列(第一个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数writeDat()把结果bb输出到文献out.dat中。部分源程序存在文献prog1.c中。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include<stdio.h>#include<string.h>#include<conio.h>typedefstruct{intx1,x2,x3;}data;dataaa[200],bb[200];intjsSort(){ inti,cnt=0,j;ﻩdatach;ﻩfor(i=0;i<200;i++)ﻩ if(aa[i].x1>aa[i].x2+aa[i].x3) { ﻩﻩbb[cnt]=aa[i];ﻩ ﻩcnt++;ﻩ } for(i=0;i<cnt-1;i++)ﻩ for(j=i+1;j<cnt;j++)ﻩﻩﻩif(bb[i].x1+bb[i].x3>bb[j].x1+bb[j].x3) ﻩ{ﻩ ﻩﻩch=bb[i]; ﻩ ﻩbb[i]=bb[j];ﻩ bb[j]=ch; }ﻩreturncnt;}30.函数ReadDat()实现从文献IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数SortCharA(),其函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文献OUT1.DAT中。例:原文:dAe,BfC.CCbbAA结果:,.ABCdefAACCbb原始数据文献存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。部分源程序存在文献prog1.c中。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。#include<stdio.h>#include<string.h>#include<conio.h>charxx[50][80];intmaxline=0;/*文章的总行数*/intReadDat(void);voidWriteDat(void);voidSortCharA(void){inti,j,k; chart; for(i=0;i<maxline;i++)ﻩ for(j=0;j<strlen(xx[i])-1;j++)ﻩﻩﻩfor(k=j+1;k<strlen(xx[i]);k++) ﻩﻩﻩif(xx[i][j]>xx[i][k])ﻩﻩ { t=xx[i][j]; ﻩ xx[i][j]=xx[i][k];ﻩﻩ xx[i][k]=t;ﻩﻩ ﻩ}}31.函数ReadDat()实现从文献IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文献OUT2.DAT中。例:原文:dAe,BfC.CCbbAA结果:fedCBA.bbCCAA原始数据文献存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。部分源程序存在文献prog1.c中。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。#include<stdio.h>#include<string.h>#include<conio.h>charxx[50][80];intmaxline=0;/*文章的总行数*/intReadDat(void);voidWriteDat(void);voidSortCharD(void){inti,j,k;ﻩchart;ﻩfor(i=0;i<maxline;i++)ﻩ for(j=0;j<strlen(xx[i])-1;j++) ﻩ for(k=j+1;k<strlen(xx[i]);k++)ﻩ if(xx[i][j]<xx[i][k])ﻩ ﻩ{ﻩﻩﻩﻩﻩt=xx[i][j];ﻩ ﻩ xx[i][j]=xx[i][k];ﻩﻩ ﻩ xx[i][k]=t;ﻩ ﻩﻩ}}32.函数ReadDat()实现从文献in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串变量的下标为奇数的字符按其ASCII值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文献out.dat中。例如:位置01234567源字符串abcdefgh则解决后字符串ahcfedgb部分源程序存在文献prog1.c中。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include<stdio.h>#include<string.h>#include<conio.h>charxx[20][80];voidjsSort(){ﻩinti,j,t,k; for(k=0;k<20;k++)ﻩﻩfor(i=1;i<strlen(xx[k])-1;i+=2) ﻩﻩfor(j=i+2;j<strlen(xx[k]);j+=2) ﻩ if(xx[k][i]>xx[k][j])ﻩ ﻩ{ﻩﻩ ﻩ t=xx[k][i];ﻩﻩﻩﻩﻩxx[k][i]=xx[k][j];ﻩﻩ ﻩxx[k][j]=t; ﻩ ﻩ}}33.函数ReadDat()实现从文献in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文献out.dat中。条件:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,排序后左边部分与右边部分进行互换。假如原字符串长度为奇数,则最中间的字符不参与解决,字符仍放在原位置上。例如:位置012345678源字符串abcdhgfe123498765则解决后字符串hgfedcba876594321部分源程序存在文献prog1.c中。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include<stdio.h>#include<string.h>#include<conio.h>charxx[20][80];voidjsSort(){inti,j,k,t,l;ﻩfor(k=0;k<20;k++) { l=strlen(xx[k]);ﻩﻩfor(i=0;i<l/2-1;i++)ﻩ ﻩfor(j=i+1;j<l/2;j++) ﻩﻩﻩif(xx[k][i]<xx[k][j]) ﻩ { ﻩﻩ ﻩt=xx[k][i]; xx[k][i]=xx[k][j];ﻩ ﻩ xx[k][j]=t;ﻩ } ﻩfor(i=0;i<l/2;i++) ﻩ{ﻩﻩﻩt=xx[k][i];ﻩ xx[k][i]=xx[k][i+(l+1)/2];ﻩﻩﻩxx[k][i+(l+1)/2]=t; ﻩ} }}34.函数ReadDat()实现从文献in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文献out.dat中。条件:从字符串中间一分为二,左边部分按字符的ASCII值升序排序,排序后左边部分与右边部分进行互换。假如原字符串长度为奇数,则最中间的字符不参与解决,字符仍放在原位置上。例如:位置012345678源字符串dcbahgfe432198765则解决后字符串hgfeabcd876591234部分源程序存在文献prog1.c中。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。#include<stdio.h>#include<string.h>#include<conio.h>charxx[20][80];voidjsSort(){inti,j,k,t,l;ﻩfor(k=0;k<20;k++) { ﻩﻩl=strlen(xx[k]);ﻩﻩfor(i=0;i<l/2-1;i++) for(j=i+1;j<l/2;j++)ﻩﻩﻩﻩif(xx[k][i]>xx[k][j]) ﻩﻩ{ﻩﻩﻩ t=xx[k][i]; ﻩxx[k][i]=xx[k][j];ﻩﻩ xx[k][j]=t; ﻩ }ﻩ for(i=0;i<l/2;i++) ﻩ{ ﻩt=xx[k][i]; ﻩﻩxx[k][i]=xx[k][i+(l+1)/2]; xx[k][i+(l+1)/2]=t; ﻩ} }}35.函数ReadDat()实现从文献in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文献out.dat中。条件:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,右边部分按字符的ASCII值升序排序。假如原字符串长度为奇数,则最中间的字符不参与排序,字符仍放在原位置上。例如:位置012345678源字符串abcdhgfe123498765则解决后字符串dcbaefgh432195678部分源程序存在文献prog1.c中。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include<stdio.h>#include<string.h>#include<conio.h>charxx[20][80];voidjsSort(){inti,j,t,k,l; for(k=0;k<20;k++)ﻩ{ﻩ l=strlen(xx[k]);ﻩﻩfor(i=0;i<l/2-1;i++) ﻩfor(j=i+1;j<l/2;j++)ﻩﻩ ﻩif(xx[k][i]<xx[k][j])ﻩﻩ {ﻩﻩﻩﻩﻩt=xx[k][i]; ﻩ ﻩ xx[k][i]=xx[k][j]; ﻩﻩxx[k][j]=t; ﻩﻩ}ﻩ for(i=(l+1)/2;i<l-1;i++)ﻩﻩ for(j=i+1;j<l;j++) if(xx[k][i]>xx[k][j])ﻩﻩﻩ { ﻩ t=xx[k][i]; ﻩﻩ xx[k][i]=xx[k][j];ﻩ ﻩﻩxx[k][j]=t;ﻩ ﻩﻩ}ﻩ}}36.已知在文献IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能规定:按产品名称从大到小进行排列,若产品名称相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文献OUT5.DAT中。部分源程序存在文献prog1.c中。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include<stdio.h>#include<mem.h>#include<string.h>#include<conio.h>#include<stdlib.h>#defineMAX100typedefstruct{chardm[5];/*产品代码*/charmc[11];/*产品名称*/intdj;/*单价*/intsl;/*数量*/longje;/*金额*/}PRO;PROsell[MAX];voidReadDat();voidWriteDat();voidSortDat(){ inti,j,k; PROt;ﻩfor(i=0;i<MAX-1;i++) ﻩfor(j=i+1;j<MAX;j++)ﻩﻩ{ﻩﻩ k=strcmp(sell[i].mc,sell[j].mc); if(k<0||k==0&&sell[i].je<sell[j].je)ﻩﻩ {ﻩ t=sell[i];ﻩﻩﻩsell[i]=sell[j];ﻩﻩ sell[j]=t; ﻩﻩ} }}voidmain(){memset(sell,0,sizeof(sell));ReadDat();SortDat();WriteDat();}voidReadDa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河北省建筑安全员-A证考试题库及答案
- 2025河南省建筑安全员A证考试题库
- 《家禽常见病资料》课件
- 《法医检验相关》课件
- 单位人力资源管理制度集粹汇编十篇
- 单位人力资源管理制度呈现大合集十篇
- 北方华创刻蚀和薄膜沉积设备领域优势突出打造平台型设备龙头
- 2025年人形机器人行业投资策略报告:量产元年曙光将现
- 单位管理制度收录大全人事管理十篇
- 单位管理制度收录大合集员工管理篇十篇
- 2025年国家计算机网络应急技术处理协调中心省级分中心招聘39人历年高频重点提升(共500题)附带答案详解
- ISO 56001-2024《创新管理体系-要求》专业解读与应用实践指导材料之21:“7支持-7.5成文信息”(雷泽佳编制-2025B0)
- 2023-2024年电商直播行业现状及发展趋势研究报告
- 中央2024年市场监管总局直属事业单位招聘中层干部历年参考题库(频考版)含答案解析
- 阜阳市重点中学2025届高考数学全真模拟密押卷含解析
- 2024年市特殊教育学校工作总结范文(2篇)
- LNG采购框架合同范例
- 课题1 金属材料 教学设计 九年级化学下册人教版2024
- 能源岗位招聘笔试题与参考答案(某大型国企)
- 工业设计基础知识单选题100道及答案解析
- 山西省晋中市2023-2024学年高一上学期期末考试 化学 含解析
评论
0/150
提交评论