首页 数据库考试上机试题(C源码)

数据库考试上机试题(C源码)

举报
开通vip

数据库考试上机试题(C源码)数据库考试上机试题(C源码) *************************************** *************************************** #include #include #include char xx[50][80]; int maxline=0; int ReadDat(); void WriteDate(); void StrCharJR(void) { int i,j,str1; for(i=0;i>4; //位操作是关键部...

数据库考试上机试题(C源码)
数据库考试上机试 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 (C源码) *************************************** *************************************** #include #include #include char xx[50][80]; int maxline=0; int ReadDat(); void WriteDate(); void StrCharJR(void) { int i,j,str1; for(i=0;i<=maxline;i++) {str1=strlen(xx[i]); for(j=0;j>4; //位操作是关键部分 } } void main() { int WriteDat(); if(ReadDat()) {printf("can't open the data file 'IN.DAT'!\n\007"); return; } StrCharJR(); WriteDat(); } int ReadDat(void) { FILE *fp; int i=0; char *p; if((fp=fopen("IN.DAT","r"))==NULL) return 1; while (fgets(xx[i],80,fp)!=NULL) {p=strchr(xx[i],'\n'); if(p) *p=0; i++; } maxline=i; fclose(fp); return 0; } int WriteDat() { FILE *fp; int i; fp=fopen("Out.dat","w"); for(i=0;i<=maxline;i++) {printf("%s\n",xx[i]); fprintf(fp,"%s\n",xx[i]); } fclose(fp); return 0; } *************************************** *************************************** #include #include #define N 200 void ReadData(int xx[N]) { int i,j; FILE *fp; fp=fopen("In.dat","r"); for(i=0;i<20;i++){ for(j=0;j<10;j++){ fscanf(fp,"%d",&xx[10*i+j]); printf("%d",xx[10*i+j]); } printf("\n"); } fclose(fp); } void main() { int cnt,xx[N],max,i,k; float ave; FILE *fw; long j=0; //这个语句貌似没什么作用 fw=fopen("Out.dat","w"); ReadData(xx); max=xx[0]; for(i=0,k=0;imax) max=xx[i]; if(xx[i]%3==0||xx[i]%7==0) { j+=xx[i];k++; } } for(i=0,cnt=0;i #include #include int xx[200], yy[10]; void Sort1() { int i,j,data; for(i=0;i<=199;i++) for(j=i+1;j<200;j++) {if(xx[i]%1000>xx[j]%1000) {data=xx[i]; xx[i]=xx[j]; xx[j]=data; } else if(xx[i]%1000==xx[j]%1000) if(xx[i] #include #include #include main() { int xx[100]={0},i,j,m; FILE *fp; fp=fopen("In.dat","w"); xx[0]=1; for(i=0;i<100;i++) { for(j=0,m=0;j<100;j++) { xx[j]=xx[j]*9+m; //算法核心部分 if(xx[j]>=10) {m=xx[j]/10; xx[j]=xx[j]%10;} else {m=0;} } } for(m=99;m>=0;m--) { if(xx[m]) {printf("%d",xx[m]); fprintf(fp,"%d",xx[m]);} } fclose(fp); } *************************************** *************************************** /*在文件in.dat中有300个正整数,且每个正整数均在1000~9999之间,函数ReadDat()读 取 这300个数存放到数组aa中,请编制函数xwSort(),其函数功能是:要求按每个数的后三 位 的大小进行降序排列,然后取出满足此条件的前10个数依次存入到数组bb中,如果后三位 的 数值相等则对这些数按原先的第四位数值进行升序排列。最后调用函数WriteDat()把结果bb 输出到文件out.dat中。*/ #include int aa[300],bb[10]; void xwSort() //程序已被完善 { int i,j,k; // for(i=0;i<299;i++) // { // for(j=i+1;j<300;j++) // { // if(aa[i]%1000aa[j]) { k=aa[i];aa[i]=aa[j];aa[j]=k; } } } } for(i=0;i<10;i++) { bb[i]=aa[i]; } } void main() { DataMaker(); ReadDat(); xwSort(); WriteDat(); } ReadDat() { FILE *in; int i; in=fopen("in.dat","r"); for(i=0;i<300;i++) { fscanf(in,"%d\n",&aa[i]); } fclose(in); } WriteDat() { FILE *out; int i; out=fopen("out.dat","w"); for(i=0;i<10;i++) { printf("%d\n",bb[i]); fprintf(out,"%d\n",bb[i]); } fclose(out); } DataMaker() //自定义的数据生成函数用于生成1000~9999之间靠近1000的300个素数 { FILE *fp; int i,j=0,m,flag; fp=fopen("in.dat","w"); for(i=1000;i<9999;i++) { flag=1; for(m=2;m 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示第一个人的选中状况,第二位表示第二个人的选中状况,依此类推;内容 均为字符0和1,1表示此人被选中,0表示此人未被选中,全选或不选均为无效的选票。给定函数 ReadDat()的功能是把选票数据读入到字符串数组bb中,请编制函数CountRs()来统计每个人的 选票数,并把得票数依次存入aa[0]到aa[9]中。把结果aa输出到文件out.dat中。*/ #include #include #include char bb[100][10]; int aa[10]; int ReadDat(void); void WriteDat(void); void CountRs(void) //需要完善的程序部分 { int i,j,flag1,flag2=0; for(j=0;j<10;j++) { flag1=0; for(i=0;i<100;i++) { if(bb[i][j]=='1') flag1++; //for条件只作用到这一条语句 } if(flag1>0 && flag1<100) { for(i=0;i<100;i++) if(bb[i][j]=='1') aa[j] ++; //统计每个人选票在不是全部为 0或1的情况下的选票数 } else flag2 ++; //flag2统计无效候选人个数 } printf("flag2(不合格[全部是赞成票或者全部是反对票]的候选人的个 数):%d\n",flag2); } main() { int i; DataMaker(); for(i=0;i<10;i++) { aa[i]=0; } if(ReadDat()) { printf("can not open the file!\n\007"); return 0; } CountRs(); WriteDat(); return 0; } int ReadDat(void) { FILE *in; int i=0; char *p; if((in=fopen("in.dat","r"))==NULL) return 1; while(fgets(bb[i],80,in)!=NULL) { p=strchr(bb[i],'\n'); //char *strchr( const char *string, int c ); if(p) *p=0; //找出string中第一个含有字符c的位置 i++; } fclose(in); return 0; } void WriteDat(void) { FILE *out; int i; out=fopen("out.dat","w"); for(i=0;i<10;i++) { fprintf(out,"%d\n",aa[i]); printf("第%d个人的选票数=%d\n",i+1,aa[i]); } fclose(out); } DataMaker() //数据生成部分 { //寻找前100个素数 FILE *fp; //取其最后一位,最后一位是多少生成的数 据中就有几个1,其他为0 int i,j,k,flag,m; //缺点:生成的数据中第一列全部为1 fp=fopen("in.dat","w"); for(i=3,k=0;;i++) { flag=1; for(j=2;j<=(int)sqrt(i);j++) { if(i%j==0) { flag=0; } } if(flag==1) { if(i<10) { for(m=0;m10) && (i<100)) { for(m=0;(m100) && (i<1000)) { for(m=0;m<(i%10);m++) { fprintf(fp,"1"); } for(m=0;m<(10-i%10);m++) { fprintf(fp,"0"); } fprintf(fp,"\n"); } k++; } if(k>99) { break; } } printf("所需要的素数个数是%d\n",k); printf("NOTHING IS IMPOSSIBLE!!!\n"); printf("华丽的分割线\n"); printf("**************************************\n"); fclose(fp); return 0; } *************************************** *************************************** /*文件in.dat中存放有若干个(个数<=300)四位数的正整数,函数ReadDat()读取这若干个正整数并存入 数组aa中。请编制函数CalValue(),其功能如下: (1).求出该文件中共有多少个正整数sum1; (2).求这些数右移一位后,产生的新数是偶数的个数sum2,以及满足这些数的算术平均值avg,最后 调用函数WriteDat()把所求的结果输出到文件out.dat中。*/ #include #include #define max 300 int aa[max]; int sum1=0,sum2=0; double avg=0.0; int ReadDat(void); void WriteDat(void); void DataMaker(void); void CalValue(void) { int i,k; for(i=0;i0) { sum1++; //统计正整数的个数 } k=aa[i]>>1; //将该数化成二进制形式后,所有位向右移动一位,空出的由0代替,不够的溢出 if(k%2 == 0) //如果右移一位后,产生的新数是偶数 { sum2 ++; avg+=aa[i]; // } //统计这些数的个数,并将满足条件的原数求和 } avg/=sum2; //求满足条件的这些数(右移前的值)的算术平均值 } void main() { int i; for(i=0;i=100) { fprintf(fp,"%d\n",i); //数据生成部分出现重复 } } } fclose(fp); } *************************************** *************************************** /*编写函数CalValue,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函 数返回。 其中Fibonacci数列F(n)的定义为: F(0)=0,F(1)=1,……,F(n)=F(n-1)+F(n-2) 最后调用函数WriteDat()从文件in.dat中读取10个数据t,分别得出结果且把结果输出到 文件out.dat中。*/ #include #include int CalValue(int t) { int f0=0,f1=1,fn; fn=f0+f1; while (fn<=t) { f0=f1; f1=fn; fn=f1+f0; } return fn; } main() { int n=100; DataMaker(); //函数声明必须严格按照这个格式,否则就会出错~ printf("n = %d,f = %d\n",n,CalValue(n)); WriteDat(); //函数声明必须严格按照这个格式,否则就会出错~ } WriteDat(void) { FILE *fp1,*fp2; int i,n,s; fp1=fopen("in.dat","r"); fp2=fopen("out.dat","w"); for(i=0;i<10;i++) { fscanf(fp1,"%d\n",&n); s=CalValue(n); printf("%d\n",s); fprintf(fp2,"%d\n",s); } fclose(fp1); fclose(fp2); return 0; } DataMaker(void) //函数生成部分,生成10个大于0的素数 { FILE *fp; int i,j,k=0,flag=1; fp=fopen("in.dat","w"); for(i=2,k=0;k<10;i++) { flag=1; for(j=2;j<=sqrt((double)i);j++) { if(i==2) fprintf(fp,"%d\n",i); if(i%j==0) { flag=0; } } if(flag==1) { fprintf(fp,"%d\n",i); k++; } } fclose(fp); return 0; }
本文档为【数据库考试上机试题&#40;C源码&#41;】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_358746
暂无简介~
格式:doc
大小:47KB
软件:Word
页数:0
分类:生活休闲
上传时间:2018-01-24
浏览量:6