1、C语言信息安全上机实验报告模版2循环北京信息科技大学信息管理学院(课程上机)实验报告实验课程名称: C语言程序设计 专业: 信息安全班级: 信安1202 学号: 2012012194 姓名: 李自然 成绩: 实验名称循环结构程序设计实验地点3-603实验时间 1. 实验目的: 熟练掌握上机过程。 熟练掌握顺序结构程序设计 熟练掌握分支结构程序设计【注】实验总用时:6课时。2. 实验内容:补充-1:用三种循环语句分别编写程序显示1100的平方值。P137/2:输出所有“水仙花数”。P137/2:输入一行字符,统计英文字母、空格、数字、其他字符个数。P137/3:“猴子吃桃”问题。P138/6:输
2、出9*9乘法表。补充-2:求Sn=a+aa+aaa+aa(n个a)。a是从键盘上输入的1-9之间的数,n从键盘输入,但可以保证输入的n使Sn在无符号长整型(unsigned long int)数据表示的范围内。补充-3:求1!+2!+n!。n由键盘输入。补充-4:对任意给定的整数,进行因式分解。补充-5:求10000以内的所有完数。完数是指该数的所有因子之和与该数相等。例如6是完数,因为6=1+2+3。补充-6:验证卡布列奇运算。即:任意一个四位数只要它们各位上的数字不全相同,就有这样的规律:1 将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大4位数。2 将组成该四位数的四个数
3、字由小到大排列,形成由这四个数字构成的最小4位数(特殊地:4个数字中有0,则最小数不是四位)3 求两个数之差,得到一个新四位数(高位零保留)。 重复上述过程,最后得到结果总是6174,6174被称为卡布列奇数。编循环程序实现对某个n的卡布列奇计算。3. 实验要求:独立编写程序,上机调试通过,写出实验报告。4. 实验准备:电脑一台、WindowsXP操作系统、VC+6.0软件。5. 实验过程:5.1 实验一的实验过程【要求】每道题都独立书写下列内容。每题的报告应包括如下内容。5.1.1题目。可以写:详见本报告“2.实验内容”),也可以把原题附上。5.1.2简单思路。也即程序设计的思考、设计思路及
4、描述。5.1.3程序结构。可以用流程图表示,也可用结构性类语言描述。5.1.4最终程序清单与注释。一般指经调试正确的程序,如果调试不正确也未修改正确,也要附上。正确的程序后面调试记录要附上正确的调试结果,调试仍不正确的但后面程序,调试记录要包含错误的内容,并写出你认为可能的错误原因分析。注释可以简单写,但对复杂的部分可以详细写。5.1.5测试数据选择。要包含测试数据选择依据的分析。调试中的测试数据可能不止一种,也就是说不是执行一次结果正确就证明结果正确。5.1.6调试记录。记录调试过程的输入、输出等,可以记录屏幕拷贝内容,也可以用文字说明屏幕显示内容。并分析通过测试数据及程序执行结果,对程序正
5、确性的分析与判断。5.1.7实验结论总结。5.2 实验二的实验过程5.2.1 同上要求5.2.2同上要求5.2.3同上要求5.2.4同上要求5.2.5同上要求5.2.6同上要求5.2.7同上要求(本部分可另附页)实验过程1.用三种循环语句分别编写程序显示1100的平方值程序:#includevoid main() int i,j; for(i=1;i=100;i+) j=i*i; printf( %dn,j); 结果:程序:#includevoid main() int i,j; i=1; do j=i*i; printf(%dn,j); i+; while(i=100); printf(%d
6、n,j);程序:#includevoid main() int i,j; i=1; while(i=100) j=i*i; printf(%dn,j); i+; printf(%dn,j);2. P137/2:输出所有“水仙花数”程序:#include void main() int a,b,c,s; for(a=1;a10;a+) for(b=0;b10;b+) for(c=0;c10;c+) s=100*a+10*b+c; if(s=(a*a*a+b*b*b+c*c*c) printf(%dn,s); getchar();结果:3. P137/2:输入一行字符,统计英文字母、空格、数字、其
7、他字符个数程序:#includevoid main() char a; int letters=0,space=0,digit=0,other=0; printf(请输入一行字符 : n); while(a=getchar()!=n) if(a=a&a=A&a=0&a=9) digit+; else other+; printf(字母数 :%dn空格数 :%dn数字数 :%dn其他字符数 :%dn,letters,space,digit,other);结果:4. P137/3:“猴子吃桃”问题程序:#includevoid main() int i,s=1; i=1; while(i10) s
8、=(s+1)*2; i+; printf(%dn,s);结果:5. P138/6:输出9*9乘法表程序:#includevoid main() int i,j,a1010; for(i=0;i10;i+) for(j=0;j10;j+) aij=i*j; for(i=0;i10;i+) for(j=1;j=i;j+) printf(%2d*%d=%dn,i,j,i*j);结果:6.求Sn=a+aa+aaa+aa(n个a)。a是从键盘上输入的1-9之间的数,n从键盘输入,但可以保证输入的n使Sn在无符号长整型(unsigned long int)数据表示的范围内程序:#includevoid m
9、ain() unsigned long s,m; unsigned a,n,i; scanf(%d,%d,&a,&n); s=0;m=0; for(i=1;i=n;i+) m=m*10+a;s+=m; printf(s=%ldn,s);结果:7.求1!+2!+n!。n由键盘输入程序:#includevoid main() int a,b,n,s; printf(请输入 n:); scanf(%d,&n); for(a=1,b=0,s=1;s=n;s+) a*=s; b+=a; printf(s=%1dn,b);结果:8.对任意给定的整数,进行因式分解程序:#includevoid main()
10、 int i,n; printf(请输入 n:); scanf(%d,&n); if(n1) for(i=2;in;i+) if(n%i=0) n=n/i; printf(n=%d,%dn,i,n); 结果:9.求10000以内的所有完数。完数是指该数的所有因子之和与该数相等。例如6是完数,因为6=1+2+3。程序:#includevoid main() int i,j,a,b; for(i=1;i10000;i+) j=0; for(a=1;a=i/2;a+) b=i%a; if(b=0) j=j+a; if(j=i) printf(%dn,i); 结果:10.验证卡布列奇运算。即:任意一个
11、四位数只要它们各位上的数字不全相同,就有这样的规律:1 将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大4位数。2 将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小4位数(特殊地:4个数字中有0,则最小数不是四位)3 求两个数之差,得到一个新四位数(高位零保留)。 重复上述过程,最后得到结果总是6174,6174被称为卡布列奇数。编循环程序实现对某个n的卡布列奇计算。程序:结果:6. 实验总结:写出本次实验在设计与调试中的技术体会,特别是实验前的程序设计,在实验中发现了什么问题,如何解决的,得到了什么经验与体会等。说明:1. 实验名称、实验目的、实验内容、实验要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供学生使用;2. 实验准备由学生在实验或上机之前填写,教师应该在实验前检查;3. 实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;4. 实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;5. 源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1