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