C++实验报告Word下载.docx
《C++实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《C++实验报告Word下载.docx(13页珍藏版)》请在冰豆网上搜索。

实验序号:
1
实验名称:
熟悉开放环境
实验目的与要求:
1.使学生熟悉上机环境
2.培养学生具有运用C++语言编程解决问题的能力,提高学生的计算机编程能力;
;
3.引导和培养学生具有认真严谨的实验态度和勇于实践的学习精神。
实验仪器:
名称
型号
数量
微机
LenovoThinkCentre8000
一、实验内容
第一题
1.编写程序(使用循环控制编程),输出如下结果
1
121
12321
1234321
123454321
12345654321
要求:
同行相邻的两个数字间为2个空格。
最后一行最左边的“1”距左边距为2个空格。
编程设计思想:
先控制外层循环控制每行打印的空格的数目,
然后分为2段,一段是逐渐增加的一段,另一段是逐渐减少的一段,再用2个循环分别把2段打印出来
编程如下:
#include<
iostream.h>
voidmain(void)
{
intn1,n2,n3,k;
cout<
<
"
输入你要打印几行"
endl;
cin>
>
k;
//给变量赋值//
for(n1=1;
n1<
=k;
n1++)//外层函数控制打印几行//
{
for(n2=k*3-(n1-1)*3;
n2>
=1;
n2--)//控制打印左边的空格//
{
cout<
"
;
}
for(n3=1;
n3<
=n1;
n3++)//打印每行左半边逐渐增加的数字,每行数字后面加2个空格//
for(n3=n1-1;
n3>
0;
n3--)//打印每行右半边逐渐减少的数字,每行数字后面加2个空格//
cout<
}
}
结果如下:
输入你要打印几行
6
12345654321
Pressanykeytocontinue
结果图:
第二题
2.偶数=一对儿素数组合
编写程序:
任何一个充分大的偶数(>
=5000)总可以表示成2个素数之和,求出所有符合这样条件的素数的组合。
1.主函数中提示用户输入一个充分大的偶数(>
=5000),最后由主函数输出所有符合上述条件的成对儿的素数组。
2.编写判断是否是素数的函数,主函数调用该函数。
3.所生成的程序执行结果至少有4对儿素数组合,但一般情况下结果较多,请由程序控制调正每行显示的组合数目;
4.为便于理解题意,程序执行结果可参考下图。
先定义一个判断素数的函数,然后设置一个循环,把输入的一个数分为2个数的和,然后将2个数带入这个判断素数的函数当中去,判断2个数是不是素数,如果2个都是素数就打印出这2个数字。
iomanip.h>
inthanshu(ints);
//定义一个判断素数的函数//
intn1,n2=1,a,b,s,k,l;
//定义变量//
输入一个充分大的偶数(大于等于5000)"
a;
//从键盘输入变量的值//
请输入每行显示的组合数目"
s;
if(a<
5000)
请重新输入一个充分大的偶数(>
=5000)"
cin>
for(n1=3;
=a-1;
n1++)
b=a-n1;
k=hanshu(n1);
l=hanshu(b);
if(k==1&
&
l==1)
setiosflags(ios:
:
left)<
setw(4)<
a<
="
resetiosflags(ios:
right)<
+"
b<
//先左对齐,然后再右对齐//
if(n2%s==0){
cout<
}
n2++;
inthanshu(ints)
intn;
intm;
intjishu=0;
for(n=2;
n<
=s-1;
n++)
m=s%n;
if(m==0)
jishu++;
//当有一个数能整除的时候,计数就会增加,有利于下面的判断//
if(jishu!
=0){
return0;
else{
return1;
输入一个充分大的偶数(大于等于5000)
5002
请输入每行显示的组合数目
3
5002=3+49995002=29+49735002=59+4943
5002=71+49315002=83+49195002=113+4889
5002=131+48715002=251+47515002=269+4733
5002=281+47215002=311+46915002=353+4649
5002=359+46435002=419+45835002=479+4523
5002=509+44935002=521+44815002=593+4409
5002=653+43495002=719+42835002=743+4259
5002=761+42415002=773+42295002=863+4139
5002=911+40915002=929+40735002=953+4049
5002=983+40195002=1013+39895002=1091+3911
5002=1151+38515002=1181+38215002=1223+3779
5002=1283+37195002=1301+37015002=1409+3593
5002=1511+34915002=1553+34495002=1613+3389
5002=1811+31915002=1913+30895002=1979+3023
5002=2003+29995002=2039+29635002=2063+2939
5002=2099+29035002=2141+28615002=2213+2789
5002=2273+27295002=2309+26935002=2339+2663
5002=2381+26215002=2393+26095002=2411+2591
5002=2423+25795002=2459+25435002=2543+2459
5002=2579+24235002=2591+24115002=2609+2393
5002=2621+23815002=2663+23395002=2693+2309
5002=2729+22735002=2789+22135002=2861+2141
5002=2903+20995002=2939+20635002=2963+2039
5002=2999+20035002=3023+19795002=3089+1913
5002=3191+18115002=3389+16135002=3449+1553
5002=3491+15115002=3593+14095002=3701+1301
5002=3719+12835002=3779+12235002=3821+1181
5002=3851+11515002=3911+10915002=3989+1013
5002=4019+9835002=4049+9535002=4073+929
5002=4091+9115002=4139+8635002=4229+773
5002=4241+7615002=4259+7435002=4283+719
5002=4349+6535002=4409+5935002=4481+521
5002=4493+5095002=4523+4795002=4583+419
5002=4643+3595002=4649+3535002=4691+311
5002=4721+2815002=4733+2695002=4751+251
5002=4871+1315002=4889+1135002=4919+83
5002=4931+715002=4943+595002=4973+29
5002=4999+3Pressanykeytocontinue
结果图:
第三题
3.整数换为字符串(选作)
使用递归的方法将一个整数转换为一个字符串。
例如输入整数11286,应输出字符串“11286”。
1.主函数中提示用户输入一个整数,由主程序输出转换后的字符。
2.编写转换函数,用语将整数转换为字符串,用递归的方法,主函数调用该函数。
3.编程时应考虑负整数的转换处理。
4.为便于理解题意,程序执行结果可参考下图。
注意:
1.输入输出使用C++中的CIN和COUT,不要使用SCANF()和PRINTF()。
先确定输入的这个数总共有多少位数,然后分别存到字符数组当中,当输入完了数字后,再向字符数组当中输入结束符号0(避免打印烫烫烫)。
编程如下:
stdio.h>
voidzhuanhuan(intn,char*s,intb);
//定义一个转换的函数//
inta;
intcounter1=0;
intcounter2=0;
chars[22];
请输入一个整型数:
inta1=a,a2=-a;
if(a>
0)
while(a1!
=0)
counter1++;
a1=a1/10;
s[counter1]=0;
zhuanhuan(a,s,counter1);
//将变量带入函数当中//
输出的字符串是:
s<
while(a2!
counter2++;
a2=a2/10;
s[counter2]=0;
zhuanhuan(-a,s,counter2);
-"
voidzhuanhuan(intn,char*s,intb)
if(b>
=1)
s[b-1]=n%10+'
0'
n=n/10;
b--;
zhuanhuan(n,s,b);
结果如下:
-12345
二.实验体会
经过实验1的训练,我进一步了解了字符型和整型的相互转换,多重循环的运用,从左对齐再右对齐,从编程过程中慢慢从C语言的编程习惯转换到了C++的编程习惯当中。
在实验1中,我找到了自己的不足,在字符和整型的转换的运用不熟悉,找了很多资料才懂得其中的道理。
在做第二的时候,由于对左对齐的运用不熟悉,在书上找了很多例子,才慢慢熟悉。
计算机语言就是一个需要多练习的学科。
大一下期一个只会看书看程序的我,现在才慢慢发现其中的方法和乐趣。
Iamchangingmyself.Iwillprovemyself.