中南大学C程序设计实践思考题答案.docx

上传人:b****1 文档编号:2102704 上传时间:2022-10-26 格式:DOCX 页数:27 大小:45.28KB
下载 相关 举报
中南大学C程序设计实践思考题答案.docx_第1页
第1页 / 共27页
中南大学C程序设计实践思考题答案.docx_第2页
第2页 / 共27页
中南大学C程序设计实践思考题答案.docx_第3页
第3页 / 共27页
中南大学C程序设计实践思考题答案.docx_第4页
第4页 / 共27页
中南大学C程序设计实践思考题答案.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

中南大学C程序设计实践思考题答案.docx

《中南大学C程序设计实践思考题答案.docx》由会员分享,可在线阅读,更多相关《中南大学C程序设计实践思考题答案.docx(27页珍藏版)》请在冰豆网上搜索。

中南大学C程序设计实践思考题答案.docx

中南大学C程序设计实践思考题答案

实验1C++基础

6.编写程序,输入某大写字母的ASCII码值,输出该字母的对应小写字母。

#include

usingnamespacestd;

intmain()

{

inti;

cin>>i;

if(i>=65&&1<=90)

cout<

else

cout<<"输入有误"<

return0;

}

实验2

三、实验思考

1.输入直角三角形的两条直角边长,调用平方根库函数sqrt来求斜边的长度

#include

#include

usingnamespacestd;

intmain()

{floata,b,c;

cout<<"请输入直角三角形的两条边长:

";

cin>>a>>b;

c=sqrt(a*a+b*b);

cout<<"直角三角形的斜边="<

return0;

}

2.从键盘输入一个字符,如果输入的是英文大写字母,则将它转换成小写字母后输出,否则输出原来输入的字符。

#include

usingnamespacestd;

intmain()

{

charc;

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

";

cin>>c;

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

c+='a'-'A';

cout<

return0;

}

3.输入一个学生的成绩,如高于60分,则输出“pass”;否则,输出“failed”。

#include

usingnamespacestd;

intmain()

{

floatgrade;

cout<<"请输入成绩:

";

cin>>grade;

if(grade>=60)

cout<<"pass"<

else

cout<<"failed";

return0;

}

4.计算分段函数

#include

#include

usingnamespacestd;

intmain()

{

doublex,y;

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

";

cin>>x;

if(!

x)

y=cos(x)-pow(x,2)+3*x;

else

y=sin(x)+sqrt(pow(x,2)+1)+3*x;

cout<<"y="<

return0;

}

5.从键盘上输入1~7之间的一个数字,输出其对应星期几的英文表示。

#include

usingnamespacestd;

intmain()

{

charc;

cout<<"Enteracharacterofnumbersbetween1and7:

";

cin>>c;

switch(c)

{

case'1':

cout<<"Monday";break;

case'2':

cout<<"Tuesdag";break;

case'3':

cout<<"Wenesday";break;

case'4':

cout<<"Thursday";break;

case'5':

cout<<"Friday";break;

case'6':

cout<<"Saturday";break;

case'7':

cout<<"Sunday";break;

default:

cout<<"wrongnumber";

}

cout<

return0;

}

6.设计一个简单的计算器程序,能够进行加、减、乘、除简单运算并显示结果。

#include

usingnamespacestd;

intmain()

{

cout<<"输入简单的算术表达式:

(数操作符数)";

intleftOperand,rightOperand;

charOperator;

cin>>leftOperand>>Operator>>rightOperand;

intresult;

switch(Operator)

{

case'+':

result=leftOperand+rightOperand;break;

case'-':

result=leftOperand-rightOperand;break;

case'*':

result=leftOperand*rightOperand;break;

case'/':

if(rightOperand!

=0)

result=leftOperand/rightOperand;

else

{

cout<<"除数为0,除法不能进行"<

return0;

}

break;

default:

cout<

"<

return0;

}

cout<

return0;

}

实验3

三、思考题参考程序

1.编程计算表达式的值。

#include

usingnamespacestd;

intmain()

{

intn,k=1,sum=0,mean;

cout<<"请输入n的值:

";

cin>>n;

while(k<=n)

{

sum+=k*k;

k++;

}

if(n>0)

mean=sum/n;

else

mean=0;

cout<<"1~n个整数平方和的均值="<

return0;

}

2.输入两个正整数,判别它们是否互为互质数。

所谓互质数,就是最大公约数是1。

#include

usingnamespacestd;

intmain()

{

intm,n,r;

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

";

cin>>m>>n;

cout<

if(m

{r=m;m=n;n=r;}

while(r=m%n)

{

m=n;

n=r;

}

if(n==1)

cout<<"是互质数"<

else

cout<<”不是互质数”<

return0;

}

3.编写程序,输出从公元2000年至3000年间所有闰年的年号。

#include

usingnamespacestd;

intmain()

{

intyear;

cout<<"公元2000年至3000年间闰年的年号:

\n";

for(year=2000;year<=3000;year++)

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

=0)||(year%400==0))

cout<

cout<

return0;

}

 

4.编写程序模拟猴子吃桃子问题:

猴子第1天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。

第2天将剩下的桃子又吃了一半,又多吃一个。

以后每天都吃了前一天剩下的一半零1个。

到了第10天,只剩下了一个桃子。

请问猴子第一天共摘了多少个桃子?

方法1:

#include

usingnamespacestd;

intmain()

{

intday,qian,hou=1;

for(day=9;day>=1;day--)

{

qian=(hou+1)*2;

hou=qian;

}

cout<

return0;

}

运行结果:

1534

方法2:

#include

usingnamespacestd;

intmain()

{

intday,number=1;

for(day=9;day>=1;day--)

number=(number+1)*2;

cout<

return0;

}

方法3:

#include

usingnamespacestd;

intpeach(int);

intmain()

{

cout<<"第1天共摘了"<

(1)<<"个"<

return0;

}

intpeach(intday)

{

intnumber;

if(day==10)

number=1;

else

number=2*(peach(day+1)+1);

returnnumber;

}

5.计算s=1+(1+2)+(1+2+3)+(1+2+3+4)+…+(1+2+3+…+n)的值。

方法1:

#include

usingnamespacestd;

intmain()

{

inti,j,n;

longintsum,total(0);

cout<<"inputn:

";

cin>>n;

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

{

sum=0;

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

sum+=j;

total+=sum;

}

cout<<"s="<

return0;

}

#include

usingnamespacestd;

intmain()

{

inti,n;

longintsum(0),total(0);

cout<<"inputn:

";

cin>>n;

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

{

sum+=i;

total+=sum;

}

cout<<"s="<

return0;

}

6.马克思曾经做过这样一道趣味数学题:

有30个人在一家小饭馆用餐,其中有男人、女人和小孩。

每个男人花了3先令,每个女人花了2先令,每个小孩花了1先令,一共花了50先令。

请问男人、女人以及小孩各有几个人?

#include

usingnamespacestd;

intmain()

{

intx,y,z;

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

for(y=1;y<=24;y++)

{

z=30-x-y;

if(3*x+2*y+z==50)

cout<<"Menare"<

}

return0;

}实验4常用程序设计算法

三、实验思考

1.读入一个整数N,若N为非负数,则计算N到2×N之间的整数和;若N为负数,则求2×N到N之间的整数和。

分别利用for和while写出两个程序。

#include

usingnamespacestd;

intmain()

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

当前位置:首页 > 自然科学 > 数学

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

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