C++上机课程序汇编学长留Word格式.docx

上传人:b****5 文档编号:20979868 上传时间:2023-01-26 格式:DOCX 页数:40 大小:27.19KB
下载 相关 举报
C++上机课程序汇编学长留Word格式.docx_第1页
第1页 / 共40页
C++上机课程序汇编学长留Word格式.docx_第2页
第2页 / 共40页
C++上机课程序汇编学长留Word格式.docx_第3页
第3页 / 共40页
C++上机课程序汇编学长留Word格式.docx_第4页
第4页 / 共40页
C++上机课程序汇编学长留Word格式.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

C++上机课程序汇编学长留Word格式.docx

《C++上机课程序汇编学长留Word格式.docx》由会员分享,可在线阅读,更多相关《C++上机课程序汇编学长留Word格式.docx(40页珍藏版)》请在冰豆网上搜索。

C++上机课程序汇编学长留Word格式.docx

math.h>

,并使用sqrt函数完成。

如x=sqrt

(2),则x的值即为1.414

{floata,b,c,d;

floatarea;

请输入三角形的三边:

c;

if(a+b>

c&

&

b+c>

a&

a+c>

b)

{s=(a+b+c)/2;

d=s*(s-a)*(s-b)*(s-c);

area=sqrt(d);

三角形的面积为:

area<

else

{

无法构成三角形"

第4题

•假设有任意一个x为3位数(如x=123),求出其倒序之后的结果(如x=321)。

•思路:

按课堂上所讲解,分别拆出123的百位、十位和个位分别用a、b和c来表示,再组合为321。

•十位数为:

b=x/10%10;

{inta,b,c;

intx;

请输入一个三位数:

x;

a=x/100;

b=x/10%10;

c=x%10;

{inty;

y=100*c+10*b+a;

倒序三位数为:

y<

第5题

•编写程序,实现从键盘输入三个整型数,求三个整型数的中间值(三个数分别为a、b、c)。

•提示:

前二个数相比较大的放入tmax,小的放入tmin中(也用条件运算符来完成),中间值条件表达为;

(c>

tmax?

tmax:

(c<

tmin?

tmin:

c))

voidmain()

{inta,b,c;

inttmax;

inttmin;

intzjs;

请输入三个变量的值:

if(a>

=b)

{tmax=a;

tmin=b;

{tmax=b;

tmin=a;

zjs=c>

c);

中间数为:

zjs<

实验三

•用cin语句从键盘输入一个整数,要求判断其奇偶性,并输出结果。

•例:

输入的是3,则输出“3是奇数”,如输入的是4则输出“4是偶数”。

•注意这里输出的时候数值部分应该根据输入的值发生变化,而不是固定写在字符串当中。

•关于cin和cout的具体用法请参阅课本

{inti;

请输入一整数:

i;

if(i%2==0)

该整数是偶数"

该整数是奇数"

•用cin语句从键盘输入一个整数,要求判断其正负性,并输出结果。

输入的是3,则输出“3是正数”,如输入的是-4则输出“-4是负数”,如果输入的是0则输出“该数是零”

{inti;

if(i*-1==0)

该整数是0"

if(i*-1<

0)

该整数是正数"

该整数是负数"

•用cin输入一个整数,判断其是否是3或5的倍数。

•分别用15,9,10,8四个例子,来测验本题的四种不同的结果(都可以、只能被3、只能被5、都不能),并输出结果。

•如:

输入的是9,则输出“9只能被3整除”,输入的是15,则输出“15可以同时被3和5整除”。

{inta;

请输入一个整数:

a;

if(a%3==0)

a是3的倍数"

a不是3的倍数"

if(a%5==0)

a是5的倍数"

a不是5的倍数"

•完成算术四则运算:

a,b,为实型c为字符型

•从键盘输入a+b、a-b、a*b、a/b

•用switch语句来编写

•运行程序后要测试

输入:

12+60

10.5-5.5

2.5*0.5

3/5

{charc;

floata,b;

输入两个整数:

c>

b;

结果为:

switch(c)

{case'

+'

:

a+b<

break;

case'

-'

a-b<

*'

a*b<

/'

a/b<

•用cin输入三角形的三条边,判断能否构成三角形。

•注:

需要考虑尽可能的情况,如三边是否为负数或者0,以及两边之和是否大于第三边等。

•输出最终的结果,如输入的是123,则输出“123不能构成三角形”,如输入的是345,则输出“345可以构成三角形”。

{floata,b,c;

if(a<

=0||b<

=0||c<

=0){

a<

"

b<

c<

不能构成三角形"

}else

if(a+b>

能构成三角形"

实验四

第1题:

用cin语句从键盘输入一个月份的值,用if语句判断该月的季节并输出结果。

(假设1-3为春,4-6为夏,7-9为秋,10-12为冬)

{inta;

输入一个月份的值:

if(1<

=a&

=3)

春"

if(4<

=6)

夏"

if(7<

=9)

秋"

if(10<

=12)

冬"

•用cin语句从键盘输入一个月份的值,用switch语句判断该月的季节并输出结果。

{intseason;

请输入一个季节:

season;

季节为:

switch(season)

{case12:

case11:

case10:

case9:

case8:

case7:

case6:

case5:

case4:

case3:

case2:

case1:

•要求从键盘输入年份,判断该年份,是否为闰年。

参教材p90页。

{intyear;

请输入一年份\n"

year;

if(year%4==0&

year%100!

=0||year%400==0)//能被4整除但不能被100整除,或者能被400整除

year<

年是闰年\n"

年不是闰年\n"

用cin从键盘输入一个字符,用if语句判断并输出该字符的种类(大写字母、小写字母、阿拉伯数字以及其他字符)。

请输入一个字符:

if(c>

='

a'

z'

该字符为小写字母\n"

elseif(c>

A'

Z'

该字符为大写字母\n"

0'

9'

该字符为阿拉伯数字\n"

else

该字符为其他字符\n"

•}

从键盘输入三个数(a,b,c),要求按从小到大进行排序。

floata,b,c,t;

请输入abc三个数:

cin>

if(a<

b)//如果a小于b的值,那么就交换a,b变量的值

{t=a;

a=b;

b=t;

if(b<

c)

{t=b;

b=c;

c=t;

if(a<

{t=a;

}

实验五

用任意的循环语句求出1-100之间所有奇数的和(1+3+5+…+99)并输出结果。

{inti,sum;

i=1;

sum=0;

while(i<

100)

{sum+=i;

//sum=sum+i的C++写法

i=i+2;

1到100之间所有奇数的和是:

sum<

•编程输出1-100之内所有能被3整除的数,并输出这些数。

•本题输出结果应该为:

36912….99

对i进行100次循环,在每次循环中判断i能否被3整除,如果可以则输出,否则进行下一次循环。

{inti,x;

x=3;

for(i=1;

i<

=100;

i++)

if(i%3==0)

•求一个正整数的所有因子。

例如:

24的因子是12348612

请输入一个正整数:

这个正整数的所有因子为"

for(x=1;

x<

=i;

x++)

{if(i%x==0)

写一个程序,计算输入的正整数的位数,如输入2008,该数的位数为4。

{intn,i=0;

n;

位数为:

while(n)

n=n/10;

i++;

输入正整数的位数为:

•输出所有的顺序三位数。

•所谓的顺序三位数是指百位<

=十位<

=个位,如123,556都是顺序三位数,而987则不是。

所有的顺序三位数为:

for(inti=100;

1000;

{a=i/100;

b=i/10%10;

c=i%10;

=b&

=c)

实验六

•第1题:

编写函数squaresum,用来求解两个整数的平方和。

从键盘里面用cin输入两个整数,调用该函数,并输出结果。

cout<

squaresum(3,4)<

endl;

则输出25

intsquaresum(inta,intb)

{intsquaresum;

returnsquaresum=a*a+b*b;

{inta,b;

请输入两个值"

squaresum(a,b)<

•编写函数mypower,用来求解整数a的n次方。

•该函数的声明为intmypower(inta,intn);

进行n次循环,每次累乘a即可。

mypower(3,4)<

则输出81

intmypower(inta,intn)

{intb=1;

for(inti=1;

=n;

b=b*a;

returnb;

inta,n;

mypower(a,n)<

•编写函数boolisprime(intn)用来判断整数n是否为素数,如果是则返回true,否则返回false。

•利用该函数求出1000以内所有的素数并显示。

boolisprime(intn)

boola=1;

for(inti=2;

=sqrt(n);

{

if(n%i==0)

{

a=0;

}

returna;

intx;

for(x=2;

=1000;

if(isprime(x))

cout<

continue;

•第4题:

编程从键盘输入一个数,判断是奇偶性;

•要求定义一个判断奇偶数的函数inteven(intn),

当n为偶数时返回1,否则返回0。

inteven(intn);

if(even(x))

cout<

偶数!

else

奇数!

inteven(intn)

if(n%2==0)return1;

elsereturn0;

实验七

1.已知组合数:

c(m,r)=m!

/(r!

(m-r)!

),其中m,r为正整数,且m>

r,分别求出c(5,2),c(8,6)的组合数,阶乘及组合数用函数实现。

intzhs(intx)

if((x==0)||(x==1))

return1;

returnx*zhs(x-1);

inta,b,c,d,e;

输入组合数:

d>

e;

a=zhs(d);

b=zhs(e);

c=zhs(d-e);

if(d>

e)

a/(b*c)<

2.求400之内的亲密对数,所谓亲密对数,即A的所有因子之和等于B,B的所有因子之和等于A。

要求设计函数intfun(intn)该函数完成查找因子的功能

intfun(intn);

{for(i=2;

400;

if(fun(fun(i))==i)

if(i!

=fun(i))

和"

fun(i)<

是亲密对数"

intfun(intn)

{ints=0;

for(i=1;

if(n%i==0)

s+=i;

returns;

3.打印输出下面图形。

第一行:

一个*

第二行:

3个*

第三行:

5个*

第四行:

7个*

第五行:

9个*

#include<

{intj,i;

i<

=5;

i++)

for(j=1;

j<

=5-i;

j++)

cout<

j<

=2*i-1;

j++)

'

}

实验八

•熟悉数组的基本操作过程

•1)定义数组inta[5];

•2)利用循环从键盘依次输入5个数分别赋给数组的5个元素;

•3)求出它们的总和;

•4)在屏幕上显示数组的5个元素以及总和

{inta[5];

ints=0;

请输入五个正整数:

\n"

for(inti=0;

=4;

{cin>

a[i];

s+=a[i];

五个数的和为:

•假设数组inta[5]={1,2,3,4,5};

•1)定义数组intb[5];

•2)将数组a中元素的平方依次付给数组b的对应元素,也就是b[0]=1,b[1]=4……要求必须使用循环完成;

•3)在屏幕上显示数组b的5个元素的值

{inta[5]={1,2,3,4,5};

intb[5];

{b[i]=a[i]*a[i];

b[i]<

\t'

•定义数组intx[5]={5,2,3,1,4};

•复习课本当中求解数组最大值的算法,利用循环求出数组x最大值和最小值之间的差。

{intx[5]={5,2,3,1,4};

inti,main,max,min;

max=x[0];

5;

if(x[i]>

max)

max=x[i];

min=x[0];

if(x[i]<

min)

{min=x[i];

main=max-min;

max="

max<

main="

main<

第4题:

•复习课本上的冒泡和选择排序算法,任选一种对数组intx[5]={5,2,3,1,4}进行排序,并输出排序后的结果。

{intx[5]={5,2,3,1,4},t;

for(intj=1;

=4-j+1;

x[i+1])

{t=x[i];

x[i]=x[i+1];

x[i+1]=t;

x[i]<

实验九

•第1题

•定义数组inta[2][3],运行以下步骤:

•1)从键盘依次输入6个数存入该数组当中

•2)按每行三个的形式打印这6个数的值

•如输入的是123456,则输出效果是

•123

•456

{cout<

请输入六个数:

inti,j,a[2][3];

for(i=0;

2;

for(j=0;

3;

a[i][j];

{for(j=0;

•定义数组inta[3][4]

•1)从键盘输入12个整数,存入该数组中;

•2)利用循环求出数组中的最大值、最小值和总和;

•3)打印上述结果

{inti,j,k,a[3][4],max,min,sum=0;

请输入12个整数:

for(i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 思想汇报心得体会

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1