C上机课程序汇编学长留讲解.docx

上传人:b****6 文档编号:13803507 上传时间:2023-06-17 格式:DOCX 页数:48 大小:27.46KB
下载 相关 举报
C上机课程序汇编学长留讲解.docx_第1页
第1页 / 共48页
C上机课程序汇编学长留讲解.docx_第2页
第2页 / 共48页
C上机课程序汇编学长留讲解.docx_第3页
第3页 / 共48页
C上机课程序汇编学长留讲解.docx_第4页
第4页 / 共48页
C上机课程序汇编学长留讲解.docx_第5页
第5页 / 共48页
C上机课程序汇编学长留讲解.docx_第6页
第6页 / 共48页
C上机课程序汇编学长留讲解.docx_第7页
第7页 / 共48页
C上机课程序汇编学长留讲解.docx_第8页
第8页 / 共48页
C上机课程序汇编学长留讲解.docx_第9页
第9页 / 共48页
C上机课程序汇编学长留讲解.docx_第10页
第10页 / 共48页
C上机课程序汇编学长留讲解.docx_第11页
第11页 / 共48页
C上机课程序汇编学长留讲解.docx_第12页
第12页 / 共48页
C上机课程序汇编学长留讲解.docx_第13页
第13页 / 共48页
C上机课程序汇编学长留讲解.docx_第14页
第14页 / 共48页
C上机课程序汇编学长留讲解.docx_第15页
第15页 / 共48页
C上机课程序汇编学长留讲解.docx_第16页
第16页 / 共48页
C上机课程序汇编学长留讲解.docx_第17页
第17页 / 共48页
C上机课程序汇编学长留讲解.docx_第18页
第18页 / 共48页
C上机课程序汇编学长留讲解.docx_第19页
第19页 / 共48页
C上机课程序汇编学长留讲解.docx_第20页
第20页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C上机课程序汇编学长留讲解.docx

《C上机课程序汇编学长留讲解.docx》由会员分享,可在线阅读,更多相关《C上机课程序汇编学长留讲解.docx(48页珍藏版)》请在冰点文库上搜索。

C上机课程序汇编学长留讲解.docx

C上机课程序汇编学长留讲解

输配电一班内部资料—C++所有上机实验

实验二

第1题

•编写程序计算梯形面积。

公式为:

s=(a+b)h/2,其中:

a、b分别为梯形上底和下底的宽,h为梯形的高。

•运行该语句后结果是?

cout<<(cout<<5,2,8)<

cout<<5,2;

为什么?

#include

voidmain()

{floata,b,h;

floats;

cout<<"请输入梯形的上底,下底和高:

";

cin>>a>>b>>h;

s=(a+b)*h/2;

cout<<"梯形的面积为"<

}

第2题

•已知华氏温度和摄氏温度的转换公式为:

C=(F-32)*5/9,其中C为摄氏温度F为华氏温度。

假设当前华氏温度为80度,求对应的摄氏温度是多少?

要求输出最后结果。

#include

voidmain()

{floatF;

floatC;

cout<<"请输入华氏温度:

";

cin>>F;

C=(F-32)*5/9;

cout<<"摄氏温度为:

"<

}

第3题

•假设三角形的三边长为3,4,5,求其面积。

(s=(a+b+c)/2,area=sqrt(s(s-a)(s-b)(s-c))

(上述四题变量的值要求从键盘提供。

•提示:

使用根号,需在文件前方加上独立的一行#include,并使用sqrt函数完成。

如x=sqrt

(2),则x的值即为1.414

#include

#include

voidmain()

{floata,b,c,d;

floats;

floatarea;

cout<<"请输入三角形的三边:

";

cin>>a>>b>>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);

cout<<"三角形的面积为:

"<

}

else

{

cout<<"无法构成三角形";

}

}

第4题

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

•思路:

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

•十位数为:

b=x/10%10;

#include

voidmain()

{inta,b,c;

intx;

cout<<"请输入一个三位数:

";

cin>>x;

a=x/100;

b=x/10%10;

c=x%10;

{inty;

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

cout<<"倒序三位数为:

"<

}

}

第5题

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

•提示:

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

(c>tmax?

tmax:

(c

tmin:

c))

#include

voidmain()

{inta,b,c;

inttmax;

inttmin;

intzjs;

cout<<"请输入三个变量的值:

";

cin>>a>>b>>c;

if(a>=b)

{tmax=a;

tmin=b;

}

else

{tmax=b;

tmin=a;

}

zjs=c>tmax?

tmax:

(c

tmin:

c);

cout<<"中间数为:

"<

}

实验三

第1题

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

•例:

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

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

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

#include

voidmain()

{inti;

cout<<"请输入一整数:

";

cin>>i;

if(i%2==0)

cout<<"该整数是偶数"<

else

cout<<"该整数是奇数"<

}

第2题

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

•例:

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

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

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

#include

voidmain()

{inti;

cout<<"请输入一整数:

";

cin>>i;

if(i*-1==0)

cout<<"该整数是0"<

else

if(i*-1<0)

cout<<"该整数是正数"<

else

cout<<"该整数是负数"<

}

第3题

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

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

•如:

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

#include

voidmain()

{inta;

cout<<"请输入一个整数:

";

cin>>a;

if(a%3==0)

cout<<"a是3的倍数";

else

cout<<"a不是3的倍数";

if(a%5==0)

cout<<"a是5的倍数";

else

cout<<"a不是5的倍数";

}

第4题

•完成算术四则运算:

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

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

•用switch语句来编写

•运行程序后要测试

输入:

12+60

10.5-5.5

2.5*0.5

3/5

#include

voidmain()

{charc;

floata,b;

cout<<"输入两个整数:

"<

cin>>a>>c>>b;

cout<<"结果为:

"<

switch(c)

{case'+':

cout<

case'-':

cout<

case'*':

cout<

case'/':

cout<

}

}

第5题

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

•注:

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

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

#include

voidmain()

{floata,b,c;

cin>>a>>b>>c;

if(a<=0||b<=0||c<=0){

cout<

}else

if(a+b>c&&b+c>a&&a+c>b)

cout<

else

cout<

}

实验四

第1题:

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

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

#include

voidmain()

{inta;

cout<<"输入一个月份的值:

";

cin>>a;

if(1<=a&&a<=3)

cout<<"春"<

if(4<=a&&a<=6)

cout<<"夏"<

if(7<=a&&a<=9)

cout<<"秋"<

if(10<=a&&a<=12)

cout<<"冬"<

}

第2题

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

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

#include

voidmain()

{intseason;

cout<<"请输入一个季节:

";

cin>>season;

cout<<"季节为:

";

switch(season)

{case12:

cout<<"冬";break;

case11:

cout<<"冬";break;

case10:

cout<<"冬";break;

case9:

cout<<"秋";break;

case8:

cout<<"秋";break;

case7:

cout<<"秋";break;

case6:

cout<<"夏";break;

case5:

cout<<"夏";break;

case4:

cout<<"夏";break;

case3:

cout<<"春";break;

case2:

cout<<"春";break;

case1:

cout<<"春";break;

}

}

第3题

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

参教材p90页。

#include

voidmain()

{intyear;

cout<<"请输入一年份\n";

cin>>year;

if(year%4==0&&year%100!

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

cout<

else

cout<

}

第4题

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

#include

voidmain()

{charc;

cout<<"请输入一个字符:

";

cin>>c;

if(c>='a'&&c<='z')

cout<<"该字符为小写字母\n";

elseif(c>='A'&&c<='Z')

cout<<"该字符为大写字母\n";

elseif(c>='0'&&c<='9')

cout<<"该字符为阿拉伯数字\n";

else

cout<<"该字符为其他字符\n";

•}

第5题

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

#include

voidmain()

{

floata,b,c,t;

cout<<"请输入abc三个数:

"<

cin>>a>>b>>c;

if(a

{t=a;a=b;b=t;}

if(b

{t=b;b=c;c=t;

if(a

{t=a;a=b;b=t;}

}

cout<

}

实验五

第1题

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

#include

voidmain()

{inti,sum;

i=1;

sum=0;

while(i<100)

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

i=i+2;

}

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

";

cout<

}

第2题

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

•本题输出结果应该为:

36912….99

•提示:

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

#include

voidmain()

{inti,x;

x=3;

for(i=1;i<=100;i++)

{

if(i%3==0)

cout<

}

}

第3题

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

例如:

24的因子是12348612

#include

voidmain()

{inti,x;

cout<<"请输入一个正整数:

";

cin>>i;

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

for(x=1;x<=i;x++)

{if(i%x==0)

cout<

}

}

第4题

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

#include

voidmain()

{intn,i=0;

cout<<"请输入一个正整数:

";

cin>>n;

cout<<"位数为:

";

while(n)

{

n=n/10;

i++;

}

cout<<"输入正整数的位数为:

"<

}

第5题

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

•所谓的顺序三位数是指百位<=十位<=个位,如123,556都是顺序三位数,而987则不是。

#include

voidmain()

{inta,b,c;

cout<<"所有的顺序三位数为:

";

for(inti=100;i<1000;i++)

{a=i/100;

b=i/10%10;

c=i%10;

if(a<=b&&b<=c)

{

cout<

}

}

}

实验六

•第1题:

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

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

•例:

cout<

#include

#include

intsquaresum(inta,intb)

{intsquaresum;

returnsquaresum=a*a+b*b;

}

voidmain()

{inta,b;

cout<<"请输入两个值";

cin>>a>>b;

cout<

}

第2题

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

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

•提示:

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

•例:

cout<

#include

intmypower(inta,intn)

{intb=1;

for(inti=1;i<=n;i++)

b=b*a;

returnb;

}

voidmain()

{

inta,n;

cin>>a>>n;

cout<

}

第3题

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

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

#include

#include

boolisprime(intn)

{

boola=1;

for(inti=2;i<=sqrt(n);i++)

{

if(n%i==0)

{

a=0;break;

}

}

returna;

}

voidmain()

{

intx;

for(x=2;x<=1000;x++)

{

if(isprime(x))

cout<

}

}

•第4题:

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

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

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

#include

voidmain()

{

inteven(intn);

intx;

cin>>x;

if(even(x))

cout<<"偶数!

"<

else

cout<<"奇数!

"<

}

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)的组合数,阶乘及组合数用函数实现。

#include

intzhs(intx)

{

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

return1;

returnx*zhs(x-1);

}

voidmain()

{

inta,b,c,d,e;

cout<<"输入组合数:

";

cin>>d>>e;

a=zhs(d);

b=zhs(e);

c=zhs(d-e);

if(d>e)

cout<

}

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

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

#include

intfun(intn);

voidmain()

{for(i=2;i<400;i++)

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

if(i!

=fun(i))

cout<

}

intfun(intn)

{ints=0;

for(i=1;i

if(n%i==0)

s+=i;

returns;

}

3.打印输出下面图形。

第一行:

一个*

第二行:

3个*

第三行:

5个*

第四行:

7个*

第五行:

9个*

#include

voidmain()

{intj,i;

for(i=1;i<=5;i++)

{

for(j=1;j<=5-i;j++)

cout<<"";

for(j=1;j<=2*i-1;j++)

cout<<'*';

cout<

}

}

实验八

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

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

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

•3)求出它们的总和;

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

#include

voidmain()

{inta[5];

ints=0;

cout<<"请输入五个正整数:

\n";

for(inti=0;i<=4;i++)

{cin>>a[i];

s+=a[i];}

cout<<"五个数的和为:

"<

}

第2题

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

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

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

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

#include

voidmain()

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

intb[5];

for(inti=0;i<=4;i++)

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

cout<

}

cout<

}

第3题

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

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

#include

voidmain()

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

inti,main,max,min;

max=x[0];

for(i=1;i<5;i++)

if(x[i]>max)

{

max=x[i];

}

min=x[0];

for(i=1;i<5;i++)

if(x[i]

{min=x[i];

}

main=max-min;

cout<<"max="<

}

第4题:

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

#include

voidmain()

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

for(intj=1;j<5;j++)

for(inti=0;i<=4-j+1;i++)

if(x[i]>x[i+1])

{t=x[i];

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

x[i+1]=t;

}

for(inti=0;i<5;i++)

cout<

}

实验九

•第1题

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

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

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

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

•123

•456

#include

voidmain()

{cout<<"请输入六个数:

\n"<

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

for(i=0;i<2;i++)

for(j=0;j<3;j++)

cin>>a[i][j];

cout<

for(i=0;i<2;i++)

{for(j=0;j<3;j++)

cout<

cout<

}

}

第2题

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

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

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

•3)打印上述结果

#include

voidmain()

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

cout<<"请输入12个整数:

\n";

for(

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2