三级数据库题目.docx

上传人:b****5 文档编号:8025662 上传时间:2023-01-28 格式:DOCX 页数:21 大小:987.94KB
下载 相关 举报
三级数据库题目.docx_第1页
第1页 / 共21页
三级数据库题目.docx_第2页
第2页 / 共21页
三级数据库题目.docx_第3页
第3页 / 共21页
三级数据库题目.docx_第4页
第4页 / 共21页
三级数据库题目.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

三级数据库题目.docx

《三级数据库题目.docx》由会员分享,可在线阅读,更多相关《三级数据库题目.docx(21页珍藏版)》请在冰豆网上搜索。

三级数据库题目.docx

三级数据库题目

1.

2.

#include

#include

charxx[20][80];

voidreadDat();

voidwriteDat();

voidjsSort()

{

inti,j,k;

inttemp;

for(i=0;i<20;i++)

{

for(j=0;j

{

for(k=j+1;k

{

}

}

}

}

voidmain()

{

readDat();

jsSort();

writeDat();

}

voidreadDat()

{

FILE*in;

inti=0;

char*p;

in=fopen("in.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("out.dat","w");

for(i=0;i<20;i++){

printf("%s\n",xx[i]);

fprintf(out,"%s\n",xx[i]);

}

fclose(out);

}

3.

以下程序也是对的:

voidcountValue(int*a,int*n)

{

inti;

intnum=0;

*n=0;

for(i=1;i<=1000;i++)

{

if((i%7==0||i%11==0)&&(!

(i%7==0&&i%11==0)))

{

a[num++]=i;

(*n)++;//一定要加括号,否则就错。

}

}

}

#include

#include

voidwriteDAT();

voidcountValue(int*a,int*n)

{

inti,j,temp;

intnum=0;

*n=0;

for(i=1;i<=1000;i++)

{

if((i%7==0||i%11==0)&&(!

(i%7==0&&i%11==0)))

{

a[num++]=i;

*n++;

}

}

for(i=0;i

{

for(j=i+1;j

{

if(a[i]>a[j])

{

temp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

}

}

main()

{

intaa[1000],n,k;

countValue(aa,&n);

for(k=0;k

if((k+1)%10==0)printf("%5d\n",aa[k]);

elseprintf("%5d",aa[k]);

writeDAT();

}

voidwriteDAT()

{

intaa[1000],n,k;

FILE*fp;

fp=fopen("out.dat","w");

countValue(aa,&n);

for(k=0;k

if((k+1)%10==0)fprintf(fp,"%5d\n",aa[k]);

elsefprintf(fp,"%5d",aa[k]);

fclose(fp);

}

4.

#include

#defineMAX200

inta[MAX],b[MAX],cnt=0;

voidwriteDat();

intisprime(intm)

{

inti;

for(i=2;i<=m/2;i++)

if(m%i==0)return0;

return1;

}

voidjsVal()

{

inti,j;

inta1,a2,a3,a4;

for(i=0;i

{//取位错了,看答案

a1=a[i]/10;

a2=a[i]/100%10;

a3=a[i]/1000%100;

a4=a[i]/10000;

if(isprime(a4*10+a2)&&isprime(a3+a1*10)&&a4!

=0&&a1!

=0)

{

b[cnt++]=i;//是把a[i]给b[cnt]

}

}

}

voidreadDat()

{

inti;

FILE*fp;

fp=fopen("in.dat","r");

for(i=0;i

fclose(fp);

}

voidmain()

{

inti;

readDat();

jsVal();

printf("满足条件的数=%d\n",cnt);

for(i=0;i

printf("\n");

writeDat();

}

voidwriteDat()

{

FILE*fp;

inti;

fp=fopen("out.dat","w");

fprintf(fp,"%d\n",cnt);

for(i=0;i

fclose(fp);

}

5.

#include

inta[300],cnt=0;

doublepjz1=0.0,pjz2=0.0;

voidreadDat();

voidwriteDat();

jsValue()

{

inti;

inta1,a2,a3,a4;//不要定义为a,b,c,d;因为a是数组首地址。

doublesum=0.0,sum2=0.0;

for(i=0;i<300;i++)

{

a1=a[i]%10;

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]%10000/1000;

if(a1-a4-a3-a2>0)

{

cnt++;

sum+=a[i];

}

else

sum2+=a[i];

}

pjz1=sum/cnt;

pjz2=sum2/(300-cnt);

}

main()

{

readDat();

jsValue();

writeDat();

printf("cnt=%d\n满足条件的平均值pzj1=%7.2lf\n不满足条件的平均值pzj2=%7.2lf\n",cnt,pjz1,pjz2);

}

voidreadDat()

{

FILE*fp;

inti;

fp=fopen("in.dat","r");

for(i=0;i<300;i++)fscanf(fp,"%d,",&a[i]);

fclose(fp);

}

voidwriteDat()

{

FILE*fp;

fp=fopen("out.dat","w");

fprintf(fp,"%d\n%7.2lf\n%7.2lf\n",cnt,pjz1,pjz2);

fclose(fp);

}

6.

#include

#defineMAX200

inta[MAX],b[MAX],cnt=0;

voidwriteDat();

voidjsVal()

{

inti,j,temp;

for(i=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

{

for(j=i+1;j

{

if(b[i]

{

temp=b[i];

b[i]=b[j];

b[j]=temp;

}

}

}

}

voidreadDat()

{

inti;

FILE*fp;

fp=fopen("in.dat","r");

for(i=0;i

fclose(fp);

}

voidmain()

{

inti;

readDat();

jsVal();

printf("满足条件的数=%d\n",cnt);

for(i=0;i

printf("\n");

writeDat();

}

voidwriteDat()

{

FILE*fp;

inti;

fp=fopen("out.dat","w");

fprintf(fp,"%d\n",cnt);

for(i=0;i

fclose(fp);

}

7.

以下答案是错的,没看清题目,是要计算后是否小于等于32,不是计算前,最好借助中间变量

voidencryptChar()

{

inti,j;

inttemp;

for(i=0;i<50;i++)

{

for(j=0;j<80;j++)

{

if((xx[i][j]%2)==0||(xx[i][j]<=32))

{

}

else

xx[i][j]=(xx[i][j]*11)%256;

//xx[i][j]=1xx[i][j]*1%256;

}

}

}

以下答案也是对的,没借助中间变量

voidencryptChar()

{

inti,j;

//inttemp;

for(i=0;i<50;i++)

{

for(j=0;j<80;j++)

{

//temp=(xx[i][j]*11)%256;

if((xx[i][j]%2)==0||(xx[i][j]*11)%256<=32)

{

}

else

xx[i][j]=(xx[i][j]*11)%256;

//xx[i][j]=1xx[i][j]*1%256;

}

}

}

总结:

考上机,要切记几点:

1.排序的算法,用选择排序

2.数位的分解,要牢记

3.什么奇偶啊,素数啊,求和啊,平均啊等等

4.尽量少定义变量,用题目给的变量

5.考前注意以前的小细节,不要错,什么指针的,数组的,如上述的(*n)++,要加括号

6.自然数从1开始

7.if(b[i]

8.if(b[i]>b[j])从小到大,注意!

9.认真仔细核对结果,确保无误

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 思想汇报心得体会

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1