ImageVerifierCode 换一换
格式:DOCX , 页数:269 ,大小:85.58KB ,
资源ID:11360748      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11360748.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(三网上机100套题.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

三网上机100套题.docx

1、三网上机100套题三网上机试题1、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中。最后main()函数调用函数WriteDat()把结果输出到文件OUT10.DAT中。 提示:若中间变量为PRO tem

2、p,则可以直接使用结构赋值语句进行解题;产品名称比较请用函数strcmp进行解题。 例如:selli = temp ; 注意:部分源程序存在文件prog1.c中。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。本题为了实施两个数组元素的交换,另外定义了一个结构变量cell。同时要注意的是比较产品名称大小的时候用strcmp()函数实现。程序使用两次二重循环来实现要求的功能。#include #include #include #include #define MAX 100typedef struct char dm5; /*产品代码*/ ch

3、ar mc11; /*产品名称*/ int dj; /*单价*/ int sl; /*数量*/ long je; /*金额*/PRO;PRO sellMAX;void ReadDat();void WriteDat();void SortDat()void main() memset(sell,0,sizeof(sell); ReadDat(); SortDat(); WriteDat(); void ReadDat() FILE *fp; char str80,ch11; int i; fp=fopen(IN.DAT,r); for(i=0;i100;i+) fgets(str,80,fp)

4、; memcpy(selli.dm,str,4); memcpy(selli.mc,str+4,10); memcpy(ch,str+14,4);ch4=0; selli.dj=atoi(ch); memcpy(ch,str+18,5);ch5=0; selli.sl=atoi(ch); selli.je=(long)selli.dj*selli.sl; fclose(fp);void WriteDat(void)FILE *fp; int i;fp=fopen(OUT10.DAT,w); for(i=0;i100;i+) printf(%s %s %4d %5d %10dn, selli.d

5、m,selli.mc,selli.dj,selli.sl,selli.je); fprintf(fp,%s %s %4d %5d %5dn, selli.dm,selli.mc,selli.dj,selli.sl,selli.je); fclose(fp);void SortDat()int i,j; PRO cell; /*定义结构变量*/ for (i=0;i99;i+) for (j=i+1;j 0) /*strcmp()函数功能是比较产品名称大小*/ cell=selli; /*按产品代码从小到大进行排序处理*/ selli=sellj; sellj=cell; for (i=0;i9

6、9;i+) for (j=i+1;j100;j+) if (strcmp(selli.mc,sellj.mc) = 0)&(selli.jesellj.je) /*判断若产品名称相同,则按金额从大到小进行排序处理*/ cell=selli; selli=sellj; sellj=cell; 2、 函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串变量的下标为奇数的字符按其ASCII值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数Write

7、Dat()把结果xx输出到文件out.dat中。例如:位置01234567源字符串h g f e d c b a 则处理后字符串 h a f c d e b g部分源程序存在文件prog1.c中。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。本题for循环条件里采用的步长为2,这是因为要求只对下边为奇数的元素进行判断。程序使用三重循环来实现要求的功能。外层的while循环用来实现行间遍历,内层的二重for循环用来遍历行内下标为奇数的元素。#include #include #include #includechar xx2080;void j

8、sSort()readDat() FILE *in; int i=0; char *p; in=fopen(in.dat,r); while(i20&fgets(xxi,80,in)!=NULL) p=strchr(xxi,n); if(p)*p=0; i+; fclose(in); writeDat() FILE *out; int i; out=fopen(out.dat,w); system(cls); for(i=0;i20;i+) printf(%sn,xxi); fprintf(out,%sn,xxi); fclose(out);void main() readDat(); jsS

9、ort(); writeDat();void jsSort()int i,j,k,l,p,temp; /*定义局部变量*/ i=0; while(i20) /*判断i的值若小于20,则执行内嵌语句*/ j=strlen(xxi); /*strlen(xxi)函数的功能是统计第i行字符串中字符的个数*/ for(k=1;kj;k=k+2) p=k; for(l=k+2;lj;l=l+2) if(xxilxxip) /*比较两个字符的ASCII值按从小到大的顺序进行排序处理*/ p=l; if(p!=k) temp=xxip; xxip=xxik; xxik=temp; i+; 3、 已知在文件I

10、N.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT8.DAT中。 部分源程序存在文件prog1.c中。请勿改动主函数main()、读数据函数ReadDat()和输

11、出数据函数WriteDat()的内容。本题为了实施两个数组元素的交换,另外定义了一个结构变量cell。同时要注意的是比较代码大小的时候不能直接比较,因为它们都是字符串。正确的比较方法是用atoi对代码做变换。程序使用两次二重循环来实现要求的功能。#include #include #include #include #define MAX 100typedef struct char dm5; /*产品代码*/ char mc11; /*产品名称*/ int dj; /*单价*/ int sl; /*数量*/ long je; /*金额*/PRO;PRO sellMAX;void ReadDa

12、t();void WriteDat();void SortDat()void main() memset(sell,0,sizeof(sell); ReadDat(); SortDat(); WriteDat(); void ReadDat() FILE *fp; char str80,ch11; int i; fp=fopen(IN.DAT,r); for(i=0;i100;i+) fgets(str,80,fp); memcpy(selli.dm,str,4); memcpy(selli.mc,str+4,10); memcpy(ch,str+14,4);ch4=0; selli.dj=a

13、toi(ch); memcpy(ch,str+18,5);ch5=0; selli.sl=atoi(ch); selli.je=(long)selli.dj*selli.sl; fclose(fp);void WriteDat(void) FILE *fp; int i; fp=fopen(OUT8.DAT,w); for(i=0;i100;i+) printf(%s %s %4d %5d %5dn, selli.dm,selli.mc,selli.dj,selli.sl,selli.je); fprintf(fp,%s %s %4d %5d %5dn, selli.dm,selli.mc,s

14、elli.dj,selli.sl,selli.je); fclose(fp);void SortDat()int i,j; PRO cell; /*定义结构变量*/ for (i=0;i99;i+) for (j=i+1;j100;j+) if (atoi(selli.dm) atoi(sellj.dm) /*atoi函数功能是将字符串转换成一个整数值*/ cell=selli;/*按产品代码从大到小进行排序处理*/ selli=sellj; sellj=cell; for (i=0;i99;i+) for (j=i+1;j100;j+) if ( atoi(selli.dm)=atoi(se

15、llj.dm)&(selli.jesellj.je ) /*判断若产品代码相同,则按金额从大到小进行排序处理*/ cell=selli; selli=sellj; sellj=cell; 4、 下列程序prog1.c的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。 请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。 最后调用函数writeDat()把结果输出到文件out.dat中。 请勿改动主函数main()和写函数writeDat()的内容。本题采用for循环结合if语句来实现功能。

16、循环的起始点为10,终止点32。因为此二者的平方恰好包括了100和1000。在循环体内计算出变量a的值,这样可以保证每次检查的数都是平方数。然后再得出此数的各位数值。如果符合条件则将其传递给数组bb。#include int jsValue(int bb)writeDat(int num,int b) FILE *out; int i; out=fopen(out.dat,w); printf(%dn,num); fprintf(out,%dn,num); for(i=0;inum;i+)printf(%dn,bi);fprintf(out,%dn,bi); fclose(out);main(

17、) int b20,num; num=jsValue(b); writeDat(num,b);int jsValue(int bb) int i,a,d,e,c,p; /*定义局部变量*/ p=0; for(i=10;i=100&a1000) /*判断a的取值范围*/ c=a/100; /*求数值的百位数的数字*/ e=(a-c*100)/10; /*求数值的十位数的数字*/ d=a-c*100-e*10; /*求数值的个位数的数字*/if(c=e)|(c=d)|(d=e) /*判断数值是否有两位数字相同*/ bbp=a; /*将符合条件的数值存入数组中*/ p+; return p-;5、

18、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat() 把结果输出到文件OUT4.DAT中。 部分源程序存在文件prog1.c中。请勿改动主函数main()、读数据函数ReadDa

19、t()和输出数据函数WriteDat()的内容。本题为了实施两个数组元素的交换,另外定义了一个结构变量cell。同时要注意的是比较代码大小的时候不能直接比较,因为它们都是字符串。正确的比较方法是用atoi对代码做变换。程序使用两次二重循环来实现要求的功能。#include #include #include #include #define MAX 100typedef struct char dm5; /*产品代码*/ char mc11; /*产品名称*/ int dj; /*单价*/ int sl; /*数量*/ long je; /*金额*/PRO;PRO sellMAX;void R

20、eadDat();void WriteDat();void SortDat()void main() memset(sell,0,sizeof(sell); ReadDat(); SortDat(); WriteDat(); void ReadDat() FILE *fp; char str80,ch11; int i; fp=fopen(IN.DAT,r); for(i=0;iMAX;i+) fgets(str,80,fp); memcpy(selli.dm,str,4); memcpy(selli.mc,str+4,10); memcpy(ch,str+14,4);ch4=0; selli

21、.dj=atoi(ch); memcpy(ch,str+18,5);ch5=0; selli.sl=atoi(ch); selli.je=(long)selli.dj*selli.sl; fclose(fp);void WriteDat(void) FILE *fp; int i; fp=fopen(OUT4.DAT,w); for(i=0;iMAX;i+) printf(%s %s %4d %5d %5dn, selli.dm,selli.mc,selli.dj,selli.sl,selli.je); fprintf(fp,%s %s %4d %5d %5dn, selli.dm,selli

22、.mc,selli.dj,selli.sl,selli.je); fclose(fp);void SortDat()int i,j; PRO cell; /*定义结构变量*/ for (i=0;i99;i+) for (j=i+1;j100;j+) if (selli.je sellj.je) /*判断金额的大小*/ cell=selli;/*按金额从大到小进行排序处理*/ selli=sellj; sellj=cell; for (i=0;i99;i+) for (j=i+1;j100;j+) if ( atoi(selli.dm) atoi(sellj.dm)&(selli.je=sell

23、j.je ) /*atoi函数的功能是将字符串转换成一个整数值*/ cell=selli; /*按产品代码从大到小进行排序处理*/ selli=sellj; sellj=cell; 6、 已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。 其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排

24、列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT2.DAT中。 部分源程序存在文件prog1.c中。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。本题为了实施两个数组元素的交换,另外定义了一个结构变量cell。同时要注意的是比较代码大小的时候不能直接比较,因为它们都是字符串。正确的比较方法是用atoi对代码做变换。程序使用两次二重循环来实现要求的功能。#include #include #include #include #define MAX 100typedef struct char dm5; /*

25、产品代码*/ char mc11; /*产品名称*/ int dj; /*单价*/ int sl; /*数量*/ long je; /*金额*/PRO;PRO sellMAX;void ReadDat();void WriteDat();void SortDat()void main() memset(sell,0,sizeof(sell); ReadDat(); SortDat(); WriteDat(); void ReadDat() FILE *fp; char str80,ch11; int i;fp=fopen(IN.DAT,r); for(i=0;i100;i+) fgets(st

26、r,80,fp); memcpy(selli.dm,str,4); memcpy(selli.mc,str+4,10); memcpy(ch,str+14,4);ch4=0; selli.dj=atoi(ch); memcpy(ch,str+18,5);ch5=0; selli.sl=atoi(ch); selli.je=(long)selli.dj*selli.sl; fclose(fp);void WriteDat(void) FILE *fp; int i;fp=fopen(OUT2.DAT,w); for(i=0;i100;i+) printf(%s %s %4d %5d %5dn,

27、selli.dm,selli.mc,selli.dj,selli.sl,selli.je); fprintf(fp,%s %s %4d %5d %5dn, selli.dm,selli.mc,selli.dj,selli.sl,selli.je); fclose(fp);void SortDat()int i,j; PRO cell; /*定义结构变量*/ for (i=0;i99;i+) for (j=i+1;j sellj.je) /*判断金额的大小*/ cell=selli; /*按金额从小到大进行排序处理*/ selli=sellj; sellj=cell; for (i=0;i99;i+) for (j=i+1;j100;j+) if ( atoi(selli.dm) atoi(sellj.dm)&(selli.je=sellj.je ) /*atoi函数功能是将字符

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

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