第八次上机实验 数字排序和移位学习教案_第1页
第八次上机实验 数字排序和移位学习教案_第2页
第八次上机实验 数字排序和移位学习教案_第3页
第八次上机实验 数字排序和移位学习教案_第4页
第八次上机实验 数字排序和移位学习教案_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1第八次上机实验第八次上机实验(shyn) 数字排序和移数字排序和移位位第一页,共16页。代码(di m)第1页/共16页第二页,共16页。200组数据组数据(shj)中找出条件为每中找出条件为每组数据组数据(shj)中的第二个数大于第中的第二个数大于第一个数加第三个数之和的数存入一个数加第三个数之和的数存入bb数组中数组中对对bb数组进行数组进行(jnxng)排序,按每排序,按每组数据的第二个数加第三个之和的组数据的第二个数加第三个之和的大小进行大小进行(jnxng)降序排列降序排列 返回返回(fnhu)countb的值的值定义定义i,j,countb变量变量for(i=0;iaai.

2、x1+aai.x3)bbcountb+=aai;for(i=0;icountb-1;i+)for(j=i+1;jcountb;j+)if(bbi.x2+bbi.x31表示右移一位表示右移一位 xxi13、判断、判断(pndun)data为偶数为偶数 记数记数 totcnt+ 同时累加同时累加xxi第5页/共16页第六页,共16页。第6页/共16页第七页,共16页。第7页/共16页第八页,共16页。#include #include char xx5080 ;int maxline = 0 ; /* 文章的总行(zn xn)数 */int ReadDat(void) ;void WriteDat

3、(void) ;void CharConvA(void)void main() if(ReadDat() printf(数据文件IN.DAT不能打开!n007) ; return ; CharConvA() ; WriteDat() ;int ReadDat(void) FILE *fp ; int i = 0 ; char *p ; if(fp = fopen(c:testIN.DAT, r) = NULL) return 1 ; while(fgets(xxi, 80, fp) != NULL) p = strchr(xxi, n) ; if(p) *p = 0 ; i+ ; maxlin

4、e = i ; fclose(fp) ; return 0 ;void WriteDat(void) FILE *fp ; int i ; fp = fopen(c:testOUT.DAT, w) ; for(i = 0 ; i = 1 ; j-) xxij = (xxij 4) + xxij - 1 ; 循环体内(t ni),对第i行字符串每个字符处理需求得xxi包含的字符数len=strlen(xxi);字符字符(z f)串中的最后一个字符串中的最后一个字符(z f)的的ASCII值右移值右移4位二进制位二进制位位,高位补高位补0后加最后第二个字符后加最后第二个字符(z f)的的ASCII

5、值值, 得到最后一个得到最后一个新的值新的值,最后第二个字符最后第二个字符(z f)的的ASCII值右移值右移4位二进制位位二进制位, 高位高位补补0后加最后第三个字符后加最后第三个字符(z f)的的ASCII值值, 得到最后第二个新的值得到最后第二个新的值tmp = xxilen - 1 ;xxi0 += tmp ;第一个字符的第一个字符的ASCII值加原最后一个字符的值加原最后一个字符的ASCII值值第10页/共16页第十一页,共16页。第11页/共16页第十二页,共16页。int ReadDat(void) FILE *fp ; int i = 0 ; char *p ; if(fp =

6、 fopen(c:testIN.DAT, r) = NULL) return 1 ; while(fgets(xxi, 80, fp) != NULL) p = strchr(xxi, n) ; if(p) *p = 0 ; i+ ; maxline = i ; fclose(fp) ; return 0 ;void WriteDat(void) FILE *fp ; int i ; fp = fopen(c:testOUT.DAT, w) ; for(i = 0 ; i maxline ; i+) printf(%sn, xxi) ; fprintf(fp, %sn, xxi) ; fclose(fp) ;代码(di m)第12页/共16页第十三页,共16页。需要对每行进行处理利用外循环for语句(yj),依次读取文章中的每一行xxi。再利用内循环for语句(yj),依次对该字符xxij的ASCII值进行左移操作,接着判断新值是否小于等于32或大于100,若满足,则原字符保持不变,否则把新值仍存放在原字符串对应的位置上。void StrCharJL(void)unsigned char tmp ; int i, j ; for(i = 0 ; i maxline ; i+) for(j = 0 ; j (int) strlen(xxi)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论