资源预览内容
第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
第9页 / 共28页
第10页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C语言课程设计实习报告 题目一、题目描述:要求输入两个相对较大的正整数,能够通过程序计算出其结果。 设计思路:输入m、n开始输入p、qj=0jn-1 Nj=j+1 Yx=jxm+j Nx=j YY Nx=m+jcx=rx-1+am-1*bj/10 Y Nrx=(cx+(a0*bj)%10)/10cx=(cx+(a0*bj)%10)%10rx=(a1*bj)%10+cx+rx-1+a0*bj/10)/10cx=(cx+(ax-j*bj)%10+rx-1+ax-j-1*bj/10)%10x=x+1cm+n-1=0 Y Nx=m+n-1x=m+n-22 x0x0 N Y Y输入cx输入cx结束x=x-1 x=x-1 由于LONG型数据的数据范围并不大,所以两个相对较大的数不能用LONG INT类型存储。本程序中设计用数组存储一个大数,数组的初始空间可以定义到如100或200个单元,每个单元存储一位数据,以此解决乘数及乘积的存储问题。解决了存储问题后,本程序设计让乘数数组及被乘数数组中的每一位数字单独来进行乘法运算,即用一个数字和另外一个数组中的每一位去相乘,得到乘法运算中一行的数字,再将每一行数字错位相加,最后得到预计的乘积并输出。运行效果截图: 附源程序如下:#includeint main() int a100=0,b100=0,c200=0,i,j,m,n,x,r200; printf(请分别输入乘数p、q的位数m、n:n); scanf(%d%d,&m,&n); printf(n); printf(请分别输入两乘数p、q:n); printf(p=); for(i=m-1;i=0;i-) scanf(%d,&ai); printf(q=); for(j=n-1;j=0;j-) scanf(%d,&bj); printf(n); for(j=0;j=n-1;j+) for(x=j;x=0;x-) printf(%d,cx); else for(x=m+n-1;x=0;x-) printf(%d,cx); printf(n); return 0;题目二、题目描述:学生信息管理系统设计。学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:系统以文本菜单方式工作;学生信息录入功能(学生信息最好用文件保存)-输入;学生信息浏览功能-输出;查询、排序功能-算法;按学号查询;按姓名查询;学生信息的删除与修改。设计思路:功能函数声明开始1调用清屏函数system(“cls”)输出文本菜单主界面输入cswitch c 1 2 5 6 3 4 change()dele()input()scan()sort()find()本程序中不同的功能模块均由数据的读入、数据的处理、数据的输出及返回封装而成,差别仅体现在数据的处理上,而不同功能模块的选择则采用了switch语句简单明了。运行效果截图:附源程序如下:#include#include#includetypedef structint num; char name20; char sex; int age;char birth20; char mail20; char add20; char tel20;inf;main() void input(); void scan(); void find(); void sort(); void dele(); void over(); void change(); int c; while(1)system(cls); printf( O(_)On); printf(*欢迎来到地大学生信息管理系统*n); printf(n); printf( 功能选择n); printf(n); printf(*1.信息录入*n); printf(*2.信息浏览*n); printf(*3.信息查询*n); printf(*4.信息排序*n); printf(*5.信息删除*n); printf(*6.信息修改*n); scanf(%d,&c); switch(c) case 1:input(); break; case 2:scan(); break; case 3:find(); break; case 4:sort(); break; case 5:dele(); break; case 6:change(); break;void input()inf w1000; FILE *fp1,*fp2;int i,n=0,j;fp1=fopen(data.txt,r); while(!feof(fp1)fscanf(fp1,%d %s %c %d %s %s %s %s,&wn.num,wn.name,&wn.sex,&wn.age,wn.birth,wn.mail,wn.add,wn.tel);n+; fclose(fp1);fp2=fopen(information.txt,w);for(i=0;in-1;i+)fprintf(fp2,%d %s %c %d %s %s %s %sn,wi.num,wi.name,wi.sex,wi.age,wi.birth,wi.mail,wi.add,wi.tel);fclose(fp2);printf(录入已完成!n);printf(n); printf(返回主界面请按2,结束请按1:n);scanf(%d,&j);if(j=1) over();void scan()inf w1000; FILE *fp;int i,n=0,j;fp=fopen(information.txt,r);while(!feof(fp)fscanf(fp,%d %s %c %d %s %s %s %s,&wn.num,wn.name,&wn.sex,&wn.age,wn.birth,wn.mail,wn.add,wn.tel);n+;fclose(fp);for(i=
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号