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

  • 格式:doc
  • 大小:32.72 KB
  • 文档页数:19

实验1 C++基础

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

#include

using namespace std;

int main()

{

int i;

cin>>i;

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

cout<

else

潣瑵?输入有误<

return 0;

}

实验2

三、实验思考

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

#include

#include

using namespace std;

int main()

{ float a,b,c;

潣瑵?请输入直角三角形的两条边长:;

cin>>a>>b;

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

潣瑵?直角三角形的斜边=<

return 0;

}

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

#include

using namespace std;

int main()

{

char c;

潣瑵?请输入一个字符:;

cin>>c;

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

c+='a'-'A';

cout<

return 0; }

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

#include

using namespace std;

int main()

{

float grade;

潣瑵?请输入成绩:;

cin>>grade;

if(grade>=60)

cout<

else

cout<

return 0;

}

4. 计算分段函数

#include

#include

using namespace std;

int main()

{

double x,y;

潣瑵?请输入一个数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<

return 0;

}

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

#include

using namespace std;

int main()

{

char c;

cout<

cin>>c;

switch(c)

{

case '1':cout<

case '2':cout<

case '3':cout<

case '4':cout<

case '5':cout<

case '6':cout<

case '7':cout<

default: cout<< wrong number;

}

cout<

return 0;

}

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

#include using namespace std;

int main()

{

潣瑵?输入简单的算术表达式:(数 操作符 数);

int leftOperand,rightOperand;

char Operator;

cin>>leftOperand>>Operator>>rightOperand;

int result;

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

{

潣瑵?除数为0,除法不能进行<

return 0;

}

break;

default:

潣瑵?灏牥瑡牯?是本程序不支持的操作。<

return 0;

}

cout<

return 0;

}

实验3

三、思考题参考程序

n12k n.编程计算表达式 的值。11k

#include

using namespace std;

int main()

{

int n,k=1,sum=0,mean;

潣瑵?请输入n的值: ;

cin>>n;

while(k<=n) {

sum+= k*k;

k++;

}

if (n>0)

mean=sum/n;

else

mean=0;

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

return 0;

}

2.输入两个正整数,判别它们是否互为互质数。所谓互质数,就是最大公约数是1。

#include

using namespace std;

int main()

{

int m,n,r;

潣瑵?请输入两个正整数:;

cin>>m>>n;

cout<

if(m

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

while(r=m%n)

{

m=n;

n=r;

}

if(n==1)

潣瑵?是互质数 <

else

cout<<”不是互质数”<

return 0;

}

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

#include

using namespace std;

int main()

{

int year;

潣瑵?公元2000年至3000年间闰年的年号:\n;

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

if((year%4==0 && year_x0010_0 !=0)||(year@0==0))

cout<

cout<

}

4.编写程序模拟猴子吃桃子问题:猴子第1天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天将剩下的桃子又吃了一半,又多吃一个。以后每天都吃了前一天剩下的一半零1个。到了第10天,只剩下了一个桃子。请问猴子第一天共摘了多少个桃子?

方法1:

#include

using namespace std;

int main()

{

int day,qian,hou=1;

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

{

qian=(hou+1)*2;

hou=qian;

}

cout<

return 0;

}

运行结果:1534

方法2:

#include

using namespace std;

int main()

{

int day,number=1;

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

number=(number+1)*2;

cout<

return 0;

}

方法3:

#include

using namespace std;

int peach(int);

int main()

{

潣瑵?第1天共摘了?瀼慥档ㄨ?尼个<

return 0;

}

int peach(int day)

{

int number;

if(day==10)