计算机三级数据库上机试题100道.docx
- 文档编号:6725918
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:203
- 大小:60.20KB
计算机三级数据库上机试题100道.docx
《计算机三级数据库上机试题100道.docx》由会员分享,可在线阅读,更多相关《计算机三级数据库上机试题100道.docx(203页珍藏版)》请在冰豆网上搜索。
计算机三级数据库上机试题100道
计算机三级数据库上机试题100道
目录
一、20行数据问题2
一、200个四位数9
二、200个整数43
三、200组数据47
四、300个四位数51
五、1000个十进制数56
六、1000-9999排序62
七、产品销售65
八、个数小于20077
九、混乱计算86
十、素数101
十一、选票106
十二、字符112
一、20行数据问题
1.奇数从小到大
函数readDat()的功能是从文件in74.dat中读取20行数据存放到字符串数组xx中(每行字符串的长度均小于80)。
请编制函数jsSort(),该函数的功能是:
以行为单位对字符串变量的下标为奇数位置上的字符按其ASCII值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件out74.dat中。
例如:
位置 0 1 2 3 4 5 6 7
源字符串 h g f e d c b a
则处理后字符串 h a f c d e b g。
注意:
部分源程序已给出。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
#include
#include
#include
charxx[20][80];
voidreadDat();
voidwriteDat();
voidjsSort()
{
inti,j,k;/*定义循环控制变量*/
intstr;/*定义存储字符串长度的变量*/
chartemp;/*定义数据交换时的暂存变量*/
for(i=0;i<20;i++)/*逐行对数据进行处理*/
{
str=strlen(xx[i]);/*求各行字符串的长度*/
for(j=1;j for(k=j+2;k if(xx[i][j]>xx[i][k]) { temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp; } } } voidmain() { readDat(); jsSort(); writeDat(); } voidreadDat() { FILE*in; inti=0; char*p; in=fopen("in74.dat","r"); while(i<20&&fgets(xx[i],80,in)! =NULL) { p=strchr(xx[i],'\n'); if(p)*p=0; i++; } fclose(in); } voidwriteDat() { FILE*out; inti; out=fopen("out74.dat","w"); system("CLS"); for(i=0;i<20;i++) { printf("%s\n",xx[i]); fprintf(out,"%s\n",xx[i]); } fclose(out); } 2.左降与右换 函数readDat()的功能是从文件IN75.DAT中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。 请编制函数jsSort(),该函数的功能是: 以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT75.DAT中。 条件: 从字符串中间一分为二,左边部分按字符的ASCII值降序排序,排序后,左边部分与右边部分按例子所示进行交换。 如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。 例如, 位置 012345678 源字符串 abcdhgfe 23498765 则处理后字符串hgfedcba 87659432 注意: 部分源程序已给出。 请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 试题程序: #include #include #include charxx[20][80]; voidreadDat(); voidwriteDat(); voidjsSort() { inti,j,k;/*定义计数器变量*/ intstr,half;/*定义存储字符串长度的变量*/ chartemp;/*定义数据交换时的暂存变量*/ for(i=0;i<20;i++)/*逐行对数据进行处理*/ { str=strlen(xx[i]);/*求字符串的长度*/ half=str/2;/*通过half将字符串分为左右两部分*/ for(j=0;j for(k=j+1;k if(xx[i][j] { temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp; } for(j=half-1,k=str-1;j>=0;j--,k--)/*将左边部分和右边部分的对应字符交换*/ { temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp; } } } voidmain() { readDat(); jsSort(); writeDat(); } voidreadDat() { FILE*in; inti=0; char*p; in=fopen("IN75.DAT","r"); while(i<20&&fgets(xx[i],80,in)! =NULL) { p=strchr(xx[i],'\n'); if(p)*p=0; i++; } fclose(in); } voidwriteDat() { FILE*out; inti; system("CLS"); out=fopen("OUT75.DAT","w"); for(i=0;i<20;i++) { printf("%s\n",xx[i]); fprintf(out,"%s\n",xx[i]);} fclose(out); } 3.左降与右升 函数readDat()是从文件in77.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。 请编制函数jsSort(),其功能是: 以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中。 最后调用函数writeDat()把结果xx输出到文件out77.dat中。 条件: 从字符串中间一分为二,左边部分按字符的ASCII值降序排序,右边部分按字符的ASCII值升序排序。 如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。 例如: 位置012345678 源字符串abcdhgfe 123498765 处理后的字符串dcbaefgh 432195678 注意: 部分源程序已给出。 请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 试题程序: #include #include #include charxx[20][80]; voidreadDat(); voidwriteDat(); voidjsSort() { inti,j,k;/*定义循环控制变量*/ intstr,half;/*定义存储字符串长度的变量*/ chartemp;/*定义数据交换时的暂存变量*/ for(i=0;i<20;i++)/*逐行对数据进行处理*/ { str=strlen(xx[i]);/*求各行字符串的总长度*/ half=str/2;/*求总长度的一半*/ for(j=0;j for(k=j+1;k if(xx[i][j] { temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp; } if(str%2==1)/*如果原字符串长度为奇数,则跳过最中间的字符,使之不参加排序*/ half++; for(j=half;j for(k=j+1;k if(xx[i][j]>xx[i][k]) { temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp; } } } voidmain() { readDat(); jsSort(); writeDat(); } voidreadDat() { FILE*in; inti=0; char*p; in=fopen("in77.dat","r"); while(i<20&&fgets(xx[i],80,in)! =NULL) { p=strchr(xx[i],'\n'); if(p) *p=0; i++; } fclose(in); } voidwriteDat() { FILE*out; inti; system("CLS"); out=fopen("out77.dat","w"); for(i=0;i<20;i++) { printf("%s\n",xx[i]); fprintf(out,"%s\n",xx[i]); } fclose(out); } 4.左升与右换 读函数readDat()的功能是从文件IN76.DAT中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。 请编制函数jsSort(),该函数的功能是: 以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用写函数writeDat()把结果xx输出到文件OUT76.DAT中。 条件: 从字符串中间一分为二,左边部分按字符的ASCII值升序排序,排序后,左边部分与右边部分按例子所示进行交换。 如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。 例如: 位置 012345678 源字符串 dcbahgfe 43219876 处理后字符串hgfeabcd 98761234 注意: 部分源程序已给出。 请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 试题程序: #include #include #include charxx[20][80]; voidreadDat(); voidwriteDat(); voidjsSort() { inti,j,k;/*定义计数器变量*/ intstr,half;/*定义存储字符串长度的变量*/ chartemp;/*定义数据交换时的暂存变量*/ for(i=0;i<20;i++)/*逐行对数据进行处理*/ { str=strlen(xx[i]);/*求字符串的长度*/ half=str/2;/*确定各行中字符串的中间位置*/ for(j=0;j for(k=j+1;k if(xx[i][j]>xx[i][k]) { temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp; } for(j=half-1,k=str-1;j>=0;j--,k--)/*将左边部分与右边部分对应的字符进行交换*/ { temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp; } } } voidmain() { readDat(); jsSort(); writeDat(); } voidreadDat() { FILE*in; inti=0; char*p; in=fopen("IN76.DAT","r"); while(i<20&&fgets(xx[i],80,in)! =NULL) { p=strchr(xx[i],'\n'); if(p)*p=0; i++; } fclose(in); } voidwriteDat() { FILE*out; inti; system("CLS"); out=fopen("OUT76.DAT","w"); for(i=0;i<20;i++) { printf("%s\n",xx[i]); fprintf(out,"%s\n",xx[i]); } fclose(out); } 一、200个四位数 5.连续大于后5个数 已知IN2.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是: 依次从数组a中取出一个数,如果该4位数连续大于该4位数以后的5个数且该数是奇数,则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT2.DAT文件中。 注意: 部分源程序已给出。 程序中已定义数组: a[200],b[200],已定义变量: cnt。 请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 试题程序: #include #defineMAX200 inta[MAX],b[MAX],cnt=0; voidwriteDat(); voidjsVal() { inti,j;/*定义循环控制变量*/ inttemp;/*定义数据交换是的暂存变量*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 三级 数据库 上机 试题 100