1、c+实验报告整理实验_4_实验报告教学班级:14学生学号:2014114191学生姓名:朱晓琛实验日期:2015/4/17 实验地点:X7204(机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1掌握多路分支结构的程序设计,以及switch语句的使用方法;2学习通过程序调试来跟踪程序运行过程,查看程序运行过程中各个变量的取值变化 情况。二、实验任务1模拟二人猜拳游戏:剪刀石头布。要求:(1)给出选项菜单如下*新一局*1.出剪子 2.出石头 3.出布 * 请输入选择的数字: 根据两个用户输入给出猜拳“战况”。 2.键盘输入一个数,判定:能不能被3、5和7整除,并如果失败输出失败的具体原因。3
2、. 输入某年某月某日,判断这一天是这一年的第几天。三、实验结果(源程序 + 注释)1. /*/甲方 乙方/*#includeusing namespace std;void main()int a,b;char c;cout1=石头endl;cout2=剪刀endl;cout3=布endl;coutab;c=a-b;switch(c)case -1:cout甲胜endl;break;case -2:cout乙胜endl;break;case 0:cout平局endl;break;case 1:cout乙胜endl;break;case 2:cout甲胜endl;break;2#includeU
3、sing namespace std;void main()int a,b,c,d;char sum;cout请输入一个数字a;if(a%3=0) b=0;else b=1;if(a%5=0) c=0;else c=2;if(a%7=0) d=0;else d=4;switch(sum=b+c+d)case 0: cout能同时被3,5,7整除endl;break;case 1: cout能被5,7整除endl;break;case 2: cout能被3,7整除endl;break;case 3: cout能被7整除endl;break;case 4: cout能被3,5整除endl;brea
4、k;case 5: cout能被5整除endl;break;case 6: cout只能被3整除endl;break;case 7: cout3,5,7都不能整除endl;break;3. #includeusing namespace std;void main()int year,month,day,n=0; cinyearmonthday; switch(month) case 12: n+=30; case 11: n+=31; case 10: n+=30; case 9: n+=31; case 8: n+=31; case 7: n+=30; case 6: n+=31; cas
5、e 5: n+=30; case 4: n+=31; case 3: if(year%4=0&year%100!=0|year%400=0) n+=29; else n+=28; case 2: n+=31; case 1: n+=0; n=n+day; coutn; 实验_5_实验报告教学班级:14 学生学号:2014114191 学生姓名:朱晓琛实验日期:2014/4/24 实验地点:X7204(机房) 指导教师签名:_ 实验成绩:_ 1一只猴子摘了N个桃子第一天吃了一半又多吃了一个,第二天又吃了余下的一半又多吃了一个,到第十天的时候发现还有一个。2将一个正整数分解质因数。例如:输入90,
6、打印出90=2*3*3*5。3. 编程实现十进制整数和八进制整数之间的转换(即将10进制数转换为8进制数,或将8进制数转换为10进制数)。( 提示:在程序中计算xy,可采用教材p233的pow(x,y),以及文件包含命令#include )1#includeusing namespace std;void main()int n,m,i;cinm;m=1,i=1;don=2*(m+1);m=n;i=i+1;while(i10);cout桃子的数目为:nendl;2#includeUsing namespace std;void main()int a;cout请输入一个正整数: a;for(i
7、nt i=2;i=a;i+) while(a%i=0) a/=i; if(a!=1) couti*; else couti; system(pause);3. #includeUsing namespace std;void main()int i; cout请输入一个十进制数:i; cout 转化为八进制数为:endl; coutoctiendl; system(pause);实验_6_实验报告教学班级:14学生学号:2014114191学生姓名:朱晓琛实验日期:2014/5/22实验地点:x7204(机房)指导教师签名:_ 实验成绩:_1.计算多项式前n项的和。截止到最后一项的值与1的差小
8、于002。2求1-1000中能被3整除,且不能被7整除,且至少有一位数是5的整数。3.用循环结构语句编程并输出下图,其行数和每行的数据个数有键盘给出。例如:键盘输入:5和8,则运行结果如下1/#includeusing namespace std;void main()int n=100;double i,sum=0;for(i=0;in;i+) sum=sum+i*(i+2)/(i+1)*(i+3); if(1-i*(i+2)/(i+1)*(i+3)0.02) break;coutsumendl;2 /#includeusing namespace std;void main()int n,
9、c=1;for(n=1;n=1000;n+)if(n%3=0&n%7!=0)if(n/100%10=5|n/10%10=5|n%10=5) coutnendl;3#includeusing namespace std;void main() int i,j,m,a,b; couta; coutb; for(i=1;i=a+1;i+) for(j=1;j0;m-) cout ; if(i=a+1) cout*; else couti; if(j=b) coutendl; for(i=1;i=a;i+) for(j=1;j0;m-) cout ; couta+1-i; if(j=b) couten
10、dl; 实验_7_实验报告教学班级:21 学生学号:2014114191 学生姓名:朱晓琛实验日期2015 实验地点:X7204(机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1掌握数值型一维数组的使用方法; 2掌握对一组同类型的数据进行插入、删除、排序和查找等的常用算法。二、实验任务1. 对两个无序的数组(其中数组a长度为n,数组b长度m),采用选择法(或起泡法)分别将这两个数组转为有序(元素值从小到大有序)。要求:a和b数组长度及其元素均由键盘获取。2. 将以上任务1构建的两个有序的数组a和b,进行有序合并,即将这两个数组进行合并的过程中其数据始终保持有序。(提示:数据结构:三个一维
11、数组a,b,c将aia和bib比较,谁小就把谁放入cic(c数组用于存放合并后的数据),谁放入了cic中谁的下标就加1,同时ic(c中当前存放数据的下标)加1,如下图所示。 )3. 计算以上任务2中c数组元素的平均值,并删除c中所有低于平均值的那些元素。三、实验结果(源程序 + 注释)1#includeusing namespace std;void main() int a1000,b1000; int n,m,i,j,t; coutn; coutm; cout输入数组a各元素 ; for(i=0;iai; cout输入数组b各元素 ; for(i=0;ibi; for(i=0;in-1;i
12、+) for(j=0;jaj+1) t=aj;aj=aj+1;aj+1=t; for(i=0;im-1;i+) for(j=0;jbj+1) t=bj;bj=bj+1;bj+1=t; couta组正确顺序为; for(i=0;in;i+) coutai ; coutendl; coutb组正确顺序为; for(i=0;im;i+) coutbi ; coutendl;2. #includeusing namespace std;void main() int a1000,b1000,c1000; int n,m,i,j,t; coutn; coutm; cout输入数组a各元素 ; for(i
13、=0;iai; cout输入数组b各元素 ; for(i=0;ibi; for(i=0;in-1;i+) for(j=0;jaj+1) t=aj;aj=aj+1;aj+1=t; for(i=0;im-1;i+) for(j=0;jbj+1) t=bj;bj=bj+1;bj+1=t; couta组正确顺序为; for(i=0;in;i+) coutai ; coutendl; coutb组正确顺序为; for(i=0;im;i+) coutbi ; coutendl; i=0;j=0;t=0; while(i+jm+n) while(aibj) ct=ai; i+;t+; if(i=n) for
14、(;j=bj) ct=bj; j+;t+; if(j=m) for(;in;i+) ct=ai; t+;break; cout合并后顺序为; for(i=0;im+n;i+) coutci ; coutendl;3. #includeusing namespace std;void main() int a1000,b1000,c1000; int n,m,i,j,t; float S=0; coutn; coutm; cout输入数组a各元素 ; for(i=0;iai; cout输入数组b各元素 ; for(i=0;ibi; for(i=0;in-1;i+) for(j=0;jaj+1)
15、t=aj;aj=aj+1;aj+1=t; for(i=0;im-1;i+) for(j=0;jbj+1) t=bj;bj=bj+1;bj+1=t; couta组正确顺序为; for(i=0;in;i+) coutai ; coutendl; coutb组正确顺序为; for(i=0;im;i+) coutbi ; coutendl; i=0;j=0;t=0; while(i+jm+n) while(aibj) ct=ai; i+;t+; if(i=n) for(;j=bj) ct=bj; j+;t+; if(j=m) for(;in;i+) ct=ai; t+;break; cout合并后顺序
16、为; for(i=0;im+n;i+) coutci ; coutendl; for(i=0;im+n;i+) S=S+ci; S=S/(m+n); cout大于平均值S的有; for(i=0;i=S) coutci ; coutendl;实验_8_实验报告教学班级:14学生学号:2014114191学生姓名:朱晓琛实验日期:2014/5/22实验地点:x7204(机房)指导教师签名:_ 实验成绩:_一 实验任务1.自动产生N*N数据(N取值最大不超过100)存入a数组,数据形成规律如下图示(呈S形),并取出a的下三角形区域数据输出,输出形式如下图所示(呈等腰三角形)。1.#include#i
17、ncludeusing namespace std;void main() int a1010,i,j,n,k=0;cout请?输?入?一?个?数y字?n:n;a00=1;for(i=0;in;i+)for(j=0;jn;j+)if(i%2=0)ai+10=ai0+2*n-1;aij+1=aij+1;if(i%2!=0)ai+10=ai0+1;aij+1=aij-1;for(i=0;in;i+) for(j=0;jn;j+) coutsetw(6)aij; k+;if(k%n=0) coutendl;for(i=0;in;i+) coutsetw(3*(n-1-i);for(j=0;j=i;j
18、+) coutsetw(6)aij; coutendl;实验_9_实验报告教学班级:14学生学号:2014114191学生姓名:朱晓琛实验日期:2014/5/29实验地点:(机房)x7204指导教师签名:_ 实验成绩:_一、实验目的1掌握字符数组的使用方法;2. 了解字符串和字符串函数的用法。二、实验任务1. 输入一个字符串到一个字符数组s(最大长度100),将该字符数组置逆,并输出置逆后的字符数组。2.从键盘上输入任意两个字符串,比较它们是否相同,将它们连接成一个新的字符串并输出,输出这个新的字符串的有效长度。 三、实验结果(源程序 + 注释)1#includeusing namespace
19、 std;void main()char s100;int i=0;cout=0;i-) coutsi;2. #include#includeusing namespace std;void main()string s1,s2,s3;cout请?输?入?字?符?串?s1:endl;cout请?输?入?字?符?串?s2:s1s2;if(s1s2)couts2;if(s1=s2) couts1=s2endl;else couts1s2endl; s3=s1+s2;couts3endl;cout新?字?符?串?的?有D效长度为a:os3.size();实验_10_实验报告教学班级:_学生学号:_学
20、生姓名:_实验日期:_实验地点:_(机房)指导教师签名:_ 实验成绩:_一、实验目的1掌握指针的使用方法;2. 使用指针对数组排序。二、实验任务1. 使用指针法,找出一组数据中的最大值及其所在位置并输出。2. 使用指针法,将一维数组a中的数据按降序排列。三、实验结果(源程序 + 注释)#includeusing namespace std;void main() int a100,i=0,n,j,max,*p; coutn; cout请输入一组数据的个数为n的数据:endl; for(i=0;iai; max=a0; for(i=0;in-1;i+) for(j=i+1;jmax) p=&ai
21、; max=ai; cout其中最大值为maxendl;cout其中最大值所在的位置为:pendl;2.#includeusing namespace std;void main() int a100,i,j,n,*p; coutn; cout请输入数组a:endl; for(i=0;iai; for(i=0;in-1;i+) for(p=&a0;p&an-1-i;p+) if(*p*(p+1) *p+=*(p+1); *(p+1)=*p-*(p+1); *p-=*(p+1); cout数组a中的数据按降序排列为a:endl; i=0; for(p=&ai;in;p+,i+) cout*p ;实验_11_实验报告教学班级:14学生学号:2014114191学生姓名:朱晓琛实验日期:2015年6月19日实验地点:x7204 指导教师签名:_ 实验成绩:_一、实验目的1掌握函数的使用方法;2. 了解函数的实现。二、实验任务1. 编程实现:考察小学一年级学生20以内的加法题(共10题),并按百分制给出最后分数。说明:程序的已知项为20以内的两个随机整数,输出项为两个整数的加法算式,并根据给出的结果判断正误,正确的得10分。最后输出
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1