VisualC++面向对象编程教程第2版(王育坚)清华大学出版社课后答案

更新时间:2024-07-09 02:15:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2-45编写一个程序,输入三角形的三条边的边长,求三角形的面积。 2-45

#include #include int main() { int a,b,c; int s,S; cin>>a>>b>>c; s=(a+b+c)/2; S=powl(s*(s-a)*(s-b)*(s-c),0.5); if(S==0) cout<<\此三边不能构成三角形!\ else { cout<<\面积:\ cout<

2-46从键盘输入一个大写字母,然后改用小写字母在屏幕输出。 2-46

#include int main() { char ch; int a; cout<<\输入一个大写字母:\ cin>>ch; if(ch>=65 && ch<=91) { ch=ch+32; // a=(int)ch; cout<

2-47用户输入两个整数,编程输出稍大于第一个整数而又是第2个整数的倍数的数。计算

公式是:valuel+value2-value1%value2. 2-47

#include int main() { int value1,value2; int result; cin>>value1>>value2; result=value1+value2-value1%value2; cout<<\该整数为:\ return 0; }

2-48华氏温度转换为摄氏温度的公式是:C=(F-32)*5/9.。编写一个程序,输入一个华氏

温度,程序输出相应的摄氏温度。请将32和5/9用const型变量表示。 2-48

#include int main() { const float i=32.0; const float j=5.0/9.0; float degFahr; float degCel; cin>>degFahr;

// for(degFahr=0;degFahr<=300;degFahr+=10) // { degCel=j*(degFahr-i); cout<<\华氏温度:\ cout<<\摄氏温度:\// } return 0; }

2-49 从键盘输入20个整数,检查100是否存在于这些整数中,若是的话,求出他是第几个

被输入的。 2-49

#include int main() { int Array[20]; int i,count=0,c=0; for(i=0;i<20;i++)

cin>>Array[i]; for(i=0;i<20;i++) { if(Array[i]==100 && count==0) { cout<<\存在该数组中!\ count++; } if(Array[i]!=100) { c++; if(c==19) cout<<\不存在该数组中!\ } } for(i=0;i<20;i++) { if(Array[i]==100) cout<<\它是第\个被输入的!\ } return 0; }

2-50 从键盘输入一个N X N的整型数组,并将每一行的最大值显示输出。 2-50

#include int main() { int Array[100][100]={0}; int n,temp; cin>>n; for(int i=0;i>Array[i][j]; for(int x=0;x cout<<\每一行的最大值:\ for(i=0;i2-51 输入三个整数,采用指针方法将三个数按从大到小的顺序输出。 2-51

#include #include int main() { int Array[3]; int *pA=Array; int *a=Array; int i; int temp; for(i=0;i<3;i++) cin>>Array[i]; for(i=0;i<3;i++) { a++; if(*pA<*a) { temp=*pA; *pA=*a; *a=temp; a++; pA++; } a=&Array[0]; } for(i=0;i<3;i++) cout<

2-52 采用指针方法将一个数组中的所有元素颠倒顺序,结果仍然存放在原来的数组中,要求使用最少的辅助存储单元 2-52

#include int main()

{ int n; cout<<\输入数组的长度(小于100):\ cin>>n; cout<<\输入\个数:\ int Array[100]; int *pA=Array; int i; for(i=0;i>Array[i]; pA++; } for(i=0;i

2-53输入两个字符串,如果两个字符串的字符和长度都相同(认为它们相等),在屏幕上输出“Equal”,否则在屏幕上输出“Unequal”。要求使用字符指针。 2-53

#include int main() { char * pstr=\ char str1[100],str2[100]; cout<

for(i=0;i

2-54 编程将一个整数转换成对应的数字串,例如将值1234转换为数字串“1234”。 2-54

#include int main() { int number; int Array[100]; int i,j; cin>>number; for(i=0;number!=0;i++) { Array[i]=number; number=number/10; } j=i; for(i=j;i>=0;i--) cout<

2-55 编程求两个复数的和。 2-55

#include int main() { float a[2],b[2],c[2]; int i; for(i=0;i<2;i++) cin>>a[i]; for(i=0;i<2;i++) cin>>b[i];

for(i=0;i<2;i++) c[i]=a[i]+b[i]; cout<

2-56 使用结构变量表示每个学生的信息:姓名、学号和三门课的成绩。从键盘输入10个学

生的数据,然后输出每个学生的姓名和三门课的平均成绩。 2-56

#include struct student { char num[10]; char name[20]; float grade[3]; float average; }; int main() { student stu[10]; int i,j; float sum=0; for(i=0;i<=9;i++) { printf(\ scanf(\ printf(\ scanf(\ printf(\ for(j=0;j<3;j++) { scanf(\ sum+=stu[i].grade[j]; } stu[i].average=sum/3;

printf(\ } return 0; }

2-57 用结构数组建立并初始化一个工资表,然后输入一个人的姓名,查询其工资情况,并在屏幕上输出。 2-57

2-58用枚举值MON、TUE、WED、THU、FRI、SAT和SUN表示一个星期中的7天。从键盘输入一个0~6之间的整数,根据输入的整数输出对应的英文缩写。 2-58

2-59 编写一个求解一元二次方程的根的程序,方程的系数由用户输入。 2-59

#include #include int main() { int a,b,c; int R; float p; float x1,x2; cin>>a>>b>>c; R=b*b-4*a*c; if(R>=0) { p=sqrt(R); x1=(-b+p)/(2*a); x2=(-b-p)/(2*a); if(x1==x2) cout<<\仅且只有一个根\ else cout<<\有两个不同的根\ } else if(R<0) cout<<\无根\ return 0; }

2-60 从键盘输入一个字符,判断输入的字符是m、a、n或其他字符。如果是m则输出“Good morning!”;如果是a则输出“Good afternoon!”;如果是n则输出“Good night!”;如果是其他字符则输出“I can‘t undersrand!”。 2-60

2-61 编程实现两个整数的加、减、乘、除四则运算,运算式形如“32+120”。

2-61

2-62编写一个程序,利用swith语句将百分制的学生成绩转换为优、良、中、及格和不及格5分制成绩。 2-62

2-63从键盘输入一个字符,判断输入的字符是数字、空格还是其他字符,并给出相应的提示信息。 2-63

#include int main() { char ch; cout<<\请输入一个字符:\ cin.get(ch); if(ch==' ') cout<<\这是一个空格!\ else if((ch>='0')&&(ch<='9')) cout<<\这是一个数字!\ else cout<<\这是一个其他字符!\ return 0; }

2-64 从键盘输入一个字符序列,编程统计其中的数字个数和英文字母个数。输入的字符序列以“#”作为结束符。 2-64

#include int main() { char symbol[100]; int i,end,j=0,k=0; cin>>symbol; for(i=0;i<100;i++) if(symbol[i]=='#') { end=i; break; } for(i=0;i='0') && (symbol[i]<='9')) j++; else k++; }

cout<<\ cout<<\ return 0; }

2-65 输入一个由若干单词组成的文本串,每个单词之间用一些空格分隔,统计此文本串单词的个数。 2-65

#include int main() { char str[1000]; int count=1; cin.get(str,1000); // while(!str[0]) // { for(int i=0;str[i]!=0;i++) if(str[i]==' ' && str[i+1]!=' ') count++; // } cout<<\ return 0; }

2-67 编程求π值,使用如下公式:π/4=1-1/3+1/5-1/7+?,直到最后一项的绝对值小于10-6为止。 2-67(1)

#include #include int main() { int i,n=1,j=1; double s=0; for(i=0;(2*i+1)

cout<

2-67(2)

#include #include int main() {

float i=0; double s=0;

for(i=0;2*i+1

s+=pow(-1,i)*(1/(2*i+1)); }

cout<

2-68 把100~150之间不能被3整除的数输出,要求一行输出10个数。 2-68

2-69 编程输出一个九九乘法表。 2-69

#include int main() { char table[9][9]; int i,j,X,Y; for(i=0;i<9;i++) { for(j=0;j<9;j++) { X=i+1; Y=j+1; if(X>=Y) cout<

cout<

2-70编程计算整型数各位数字之和,例如数2007各位数字之和为2+0+0+7=9. 2-70

#include int main() { int num; int sum=0,i; cin>>num; for(i=0;num!=0;i++) { sum+=num; num=num/10; } cout<<\ return 0; }

2-71 输入n个整数,利用冒泡排序法将它们从小到大排列,并在屏幕上输出。 2-71

#include int main() { int n; int i,j,temp; int num[100]; cin>>n; for(i=0;i>num[i]; for(i=0;i

for(i=0;i

2-72 编程求出从键盘输入的10个数之和,遇到负数时终止输入求和。 2-72

#include int main() { int Array[10]; int sum=0; for(int i=0;i<10;i++) { cin>>Array[i]; if(Array[i]>0) sum+=Array[i]; else break; } cout<

2-73 编程求出从键盘输入的10个数中所有正数之和,负数不参加求和。 2-73

#include int main() { int num[10]; int i,sum=0; for(i=0;i<=9;i++) { cin>>num[i]; if(num[i]>0) sum+=num[i]; } cout<<\return 0; }

2-74 设计函数prime(),它只带一个整型参数,当这个参数的值是素数时,该函数返回非0,否则返回0.利用这个函数编写一个程序来验证哥德巴赫猜想:任何一个大于2的偶数都可以表示成两个素数之和。 2-74

#include int prime(int x) { int i; for(i=2;i>a; if(a>2 && a%2==0) { for(j=2;j

2-75 编制如下函数原型的函数:int index(const char *str ,char c),这个函数返回字符串str中第一次出现字符c的位置。 2-75

#include

int index(const char *str,char c) { int count=1; int Ccount=0;

for(int i=0;str[i]!='\\0';i++) { if(str[i]==c && Ccount==0) { Ccount++; break; } count++; } return count; } int main() { char string[100]; char C; int V=0; int result; cin>>string; cin>>C; while(string[V]!='\\0') V++; result=index(string,C); if((V+1)==result) cout<<\此字符不在字符串中!\ else cout<

2-76 首先编写以下函数声明的函数:void swap(float* px,float*py),该函数用于交换两个实型变量的值,然后编写一个主函数验证函数swap()的功能。 2-76

#include

void swap(float *px,float *py) { float temp; temp=*px; *px=*py; *py=temp; }

int main() {

本文来源:https://www.bwwdw.com/article/v1f.html

Top