c++课程设计Word文档下载推荐.docx
《c++课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c++课程设计Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
3.问题分析:
这道题基本处理步骤是输入,计算求值,输出结果三步,可以根据顺序结构来处理,还有PI=3.14159须知。
4.流程图
5.程序代码
#include<
iostream>
usingnamespacestd;
constfloatPI=3.14159;
intmain()
{
floatr,h,s,v;
cout<
<
"
r:
;
cin>
>
r;
h:
h;
s=PI*r*r;
v=s*h;
v="
v<
endl;
return0;
}
6.运行结果
1
第2题
问题描述有列函数:
x(x<
1)
y=2*x-1(1<
=x<
10)
3*x-11(x>
=10)
编程求分段函数。
这道题不能用数学的思维来思考,在c++中,这可以由一个选择结构来实现,所以应将其分段,即条件的个数,利用if语句快速处理。
4.流程图
5.程序代码
#include<
floatx,y;
x;
if(x<
if(x<
1)
y=x;
else
y=2*x-1;
else
y=3*x-11;
y<
6.运行结果
2
第3题
编程求出1000以内的完全数,所为完全数是指一个数恰好等于它所有因子之和,例如,6是完全数,因为它的因子为1,2,3,而6=1+2+3。
2.问题描述:
编程求1000以内的完全数。
对于1000以内的完全数不难看出这是考察循环与选择,所以1000内数的输出有循环来实现,而判断则由选择实现,最终判断因子和与数的关系,得出结果。
5.程序代码:
{
inti,k,sum=0;
for(i=1;
i<
=1000;
i++)
{
sum=0;
for(k=1;
k<
i;
k++)
if(i%k==0)sum=sum+k;
if(sum==i)
cout<
sum<
}
3
第4题
编写程序,求:
编程求解以上多项式之和。
这是一个典型的循环结构首先要判断出一项中分子与分母的关系,再联系两项之间,类推到多项。
inti,sum=0;
=6;
sum+=(2*i)*(2*i)/(i)*(2*i+1);
4
第5题
编程打印图形。
如:
输入行数N=6时,图形如下:
65555555556
544444445
4333334
32223
212
编写程序得到数字金字塔。
这是一个数字金字塔问题,其中运用到二重循环,对于数字,空格,须有控制,当然第一重循环来控制行,由此来解决问题。
#include<
inti,j,n;
5
请输入n="
n;
for(i=0;
i<
n;
i++)
for(j=0;
j<
i;
j++)
"
n-i;
for(j=0;
2*(n-i-1)-1;
n-i-1;
if(i!
=n-1)
}return0;
6
第6题
编写程序打印所有的“水仙花数”。
“水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如153是一个“水仙花数”,因为153=1×
1×
1+3×
3×
3+5×
5×
5
编写程序判断一个数是否为“水仙花数”。
“水仙花数”,其各位数字立方和等于该数本身,解题重点是找出三位数的个,十,百位,再判断。
#include<
cmath>
inti,a,b,c;
for(i=100;
1000;
i++)
a=i/100;
b=(i-100*a)/10;
c=i%10;
if(i==b*b*b+a*a*a+c*c*c)cout<
6.运行结果
7
第7题
1.题目:
将一个二维数组a[2][3]={{1,2,3},{4,5,6}}转置,存到数组b中并输出b.
编程将数组转置,得到新数组。
对于二维数组而言,此处应用到了二重循环,及数组的输入输出,还有新数组的重新赋值。
inta[2][3]={{1,2,3},{4,5,6}},b[3][2],i,j;
for(i=0;
2;
{for(j=0;
j<
3;
j++)
{b[j][i]=a[i][j];
}}
{cout<
b[i][j];
8
第8题
2.题目:
已知矩阵a[4][4]=
{{1,3,5,7},{23,11,34,12},{3,9,15,80},{12,8,6,95}},求最大值。
3.问题描述:
求二维数组中元素最大值。
对于二维数组最大值问题,首先要对最大值进行赋值,然后利用循环结构对其逐项进行比较,若遇到较大的就赋值给max,最后输出max.
5.
inta[4][4]={{1,3,5,7},{23,11,34,12},{3,9,15,80},{12,8,6,95}},i,j,max=a[0][0];
4;
for(j=0;
a[i][j];
if(max<
a[i][j])
max=a[i][j];
else
max=max;
max<
9
第9题
设数组a包括10个整型元素。
请编写程序求出a中各相邻两个元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。
编写程序得到新数组b使其元素是a中各相邻两个元素的和.
3.问题分析:
这道题涉及到数组的输入输出,重新赋值,其中运用到循环结构,达到解题目的。
5.#include<
inta[10],b[][3],i;
10;
cin>
a[i];
b[i]=a[i]+a[i+1];
b[i]<
if(i%3==0)
10
第10题
请编一个函数intfun(intpm),它的功能是:
判断pm是否是素数。
若pm是素数,返回1;
若不是素数,返回0。
pm的值由主函数从键盘读入。
请在指定位置答题,勿改动其它任何内容。
编写程序,利用调用函数,判断一个数是否为素数。
首先理解调用函数,其次在对于素数而言,就是除了能被1和自身整除,两者结合来编写。
4.流程图:
5.
intfun(intpm)
inti;
for(i=2;
pm;
if(pm%i==0)
else
return1;
inta,s;
a;
s=fun(a);
s<
}6.运行结果
11
结束语
在这次的课程设计中,在visualc++6.0的环境下编程并且运行程序。
由于郭老师的在这学期的悉心指导,和在学校上机课中有一定的学习基础,所以入门较为容易。
但是在这一次的程序设计中,在c++课程设计选题范围中选题,其中有较多的题,并且题的类型很广泛,涉及到各个方面和知识点,并且考察的很全面,其中涉及了顺序结构,选择结构,循环结构数组及函数,并且还涉及到了上机中的一些关键点,例如y=2x,在上机中不能运用数学的思维来解决问题,二是需用计算机的专业语言,即y=2*x;
其次对于自己编写的程序,还是有许多的不足,还有许多的不解,不断的摸索,不断的试验,一道题调试很多次才会真真成功,不过在运行和调试的过程中,我也学到了不少的知识,积累了不少的经验。
对于c++中的一些只是有了更深一层的理解,对于考试中一些问题,此时经过上机,经过调试,也有了新的见解,对于一些程序也有了正确的认识,并且加之流程图,可谓是锦上添花了,自己查阅资料,自己解决问题,这样的过程给了自己很大的成就感和信心。
当然这次课程设计也锻炼了自己分析实现方面的能力。
在学习理论知识的同时也能够自己动手去实现,加深了自己对c++的理解。
此外,对于本次课程设计所遇到的问题,确实感到自己学习的理论知识和实践能力的薄弱。
在以后的学习方面还是需要加强自我学习能力和实践能力。
总之本次课程设计,我确实收获很多!
12