1、C+编程题答案/编写一个C+的程序,输入你的年龄,然后在屏幕上输出年龄,最后将源程序以myprog.cpp文件名存盘#include void main() int i; couti; / 用C+特有的方式输入数据 coutYou are i years old.n;/2-4-1编写程序,提示用户输入三角形的三条边长,判断该三角形是否为直角三角形,若是输出结果以及三角形面积。#include void main() float a,b,c,side1,side2,area; /side1和side2为两条直角边长度 coutabc; / 输入三角形三边长度if (a*a=b*b+c*c)|(c
2、*c=a*a+b*b)|(b*b=a*a+c*c)/判断是否为直角三角形 if (a*a=b*b+c*c)/判断三边中哪两条边为直角边,并存储到side1和side2中 side1=b; side2=c; else if (c*c=a*a+b*b) side1=a; side2=b; else side1=a; side2=c; area=side1*side2/2;/计算直角三角形的面积 coutIt is a right-angled triangle and the area is area.n;/输出判断结果及直角三角形面积 else coutIt is not a right-ang
3、led triangle.n;/2-4-2编写程序,求解各种数据类型的存储长度并显示出来,在其中找出存储长度最大的和最小的两种数据类型并输出。#include void main() int length7; int max=0,min=0; coutdata typetmemory used(bytes); length0=sizeof(short int); /获取短整型长度 coutnshort inttlength0t; length1=sizeof(int); /获取整型长度 coutninteger tlength1; length2=sizeof(long); /获取长整型长度
4、coutnlong integertlength2; length3=sizeof(char); /获取字符型长度 coutnchar t length3; length4=sizeof(float); /获取单浮点型长度 coutnfloat tlength4; length5=sizeof(double); /获取双浮点型长度 coutndouble tlength5; length6=sizeof(bool); /获取布尔型长度 coutnbool tlength6endl; for(int i=0;ilengthmax)/求取长度最大的类型的存取位置 max=i; if (length
5、ilengthmin)/求取长度最小的类型的存取位置 min=i; coutThe longest length is from ; switch (max) case 0:coutshort int.endl; break; case 1:coutint.endl; break; case 2:coutlong.endl; break; case 3:coutchar.endl; break; case 4:coutfloat.endl; break; case 5:coutdouble.endl; break; case 6:coutbool.endl; break; coutThe sh
6、ortest length is from ; switch (min) case 0:coutshort int.endl; break; case 1:coutint.endl; break; case 2:coutlong.endl; break; case 3:coutchar.endl; break; case 4:coutfloat.endl; break; case 5:coutdouble.endl; break; case 6:coutbool.endl; break; /2-4-3(3)编写程序输入一个华氏温度,将其转换为摄氏温度并输出。#include void main
7、() float C; /变量C为摄氏温度 float F; /变量F为华氏温度 coutF; /输入华氏温度 C=(F-32)*5/9; /华氏温度转换为摄氏度 cout转换为摄氏温度为 Cendl;/2-4-4编写程序输入一个十进制表示的正整数,将其转化为二进制表示并输出结果。#include void main() int a; /变量C为摄氏温度 int b20; /数组存储转换后的二进制数 int i; i=0; couta; /输入十进制数 while (a0) /转换过程 bi=a%2; i+; a=(int)(a/2); i-; cout=0) /输出二进制结果 coutbi;
8、 i-; coutendl;/3-4-1编写程序,计算1到100中所有3的倍数的数的和。#include void main() int sum=0; /sum变量为3的倍数的和 for(int i=1;i=100;i+) if (i%3=0) /判断i是否是3的倍数 sum+=i; cout1到100中所有3的倍数的数的和为:sumendl;/编写程序,用户输入一些整数,该程序分别计算出所有奇数和所有偶数之和,并输出它们。#include void main() int sum_odd=0; /变量为所有奇数的和 int sum_even=0; /变量为所有偶数的和 int b; /变量为输
9、入的数字 int N; /变量为数字个数 coutN; cout请输入数字(数字以空格隔开)endl; for (int i=0;ib; if (b%2=0) /判断数字是否为偶数 sum_even+=b; else sum_odd+=b; cout所有奇数的和为sum_oddendl; cout所有偶数的和为sum_evenendl;/求解输入两个正整数的最大公约数和最小公倍数。#include void main() int a,b; /输入的两个正整数 int min,max; /最小值和最大值 cout请输入两个正整数(数字以空格隔开)ab; if (a=b)/找出两个数中的最大值和最
10、小值 min=b; max=a; else min=a; max=b; /最大公约数一定不大于两个数中的最小值 while (min0) if (a%min=0)&(b%min=0) break; else min-; couta和b的最大公约数为minendl; /最小公倍数一定不小于两个数中的最大值 while (max%a!=0)|(max%b!=0) max+; couta和b的最小公倍数为maxendl;/编写程序计算10个正整数的平均值、方差以及标准方差。#include #include #define number 10void main() int anumber; /输入的
11、10个正整数 int average,sum=0; /平均值和总和 int variance=0; /方差 int mvariance; /均方差 cout请输入number个整数:endl; for (int i=0;iai; sum+=ai; i-; average=sum/number; /求均值 coutaverage=average=0) /求方差 variance += abs(ai*ai-average*average); i-; mvariance=variance/number; /求均方差 coutvariance=varianceendl; coutmvariance=m
12、varianceendl;/输入4个字母,并反向显示这些字母。#include void main() char a4; /输入4个字符 cout请输入4个字符:endl; for (int i=0;iai; cout反向输出4个字符为:=0;i-) coutai; coutendl;/输出所有的水仙花数。/水仙花数是指一个3位数,其各位数字的立方和等于该数本身。#include void main() int N,M; int a3; /存储三位数的个十百位 cout水仙花数为:endl; for (N=100;N=999;N+) M=N; for (int j=0;j3;j+) /提取数字
13、的个十百位 aj=M%10; M/=10; if (a0*a0*a0+a1*a1*a1+a2*a2*a2=N) coutN ; /求 1!+2!+50!。#include void main() int sum1=1;/记录i!的结果 int sum2=0;/记录i!累加的结果 for (int i=1;i=50;i+) for (int j=1;j=i;j+) /计算i! sum1*=j; sum2+=sum1; cout1!+2!+50!=sum2endl; /编写程序求一元二次方程ax*x+bx+c=0的解。#include #include void main() float a,b,
14、c;/方程的系数 float s1,s2;/解 float temp; coutInput a,b,c:abc; if (a=0) cout不是一元二次方程!endl; else temp=b*b-4*a*c; if (temp0) /无根的情况 cout无实根!endl; else if (temp=0) /只有一个实根的情况 s1=-b/(2*a); cout方程有一个实根,为s1endl; else /两个实根的情况 s1=(-b+sqrt(temp)/(2*a); s2=(-b-sqrt(temp)/(2*a); cout方程有两个实根,为s1和s2endl; /3-4-9编写程序,用
15、循环语句打印如下图案。#include #include #include void main() for (int i=1;i=7;i+) coutsetw(abs(4-i)+1);/显示第一个 if (i=1)|(i=7) /第一行和最后一行仅显示一个 coutendl; continue; for (int m=abs(4-i)+2;m=6-abs(4-i);m+) /显示中间的* cout*; coutendl; /中间几行显示第二个 /3-4-10编写程序,输入年月日信息,并输出这一天为这一年的第几天,注意闰年问题。#include void main() int year,mont
16、h,day; int num=0; int length; coutyear; coutmonth; coutday; for (int i=1;imonth;i+) if(i=1)|(i=3)|(i=5)|(i=7)|(i=8)|(i=10)|(i=12)/大月31天 length=31; else if (i=4)|(i=6)|(i=9)|(i=11)/小月30天 length=30; else if (year%100=0)&(year%4=0)|(year%100!=0)&(year%4=0)/闰年判断条件 length=29;/闰年的二月29天 else length=28;/非闰年
17、的二月28天 num+=length; num+=day; coutyear年month月day日为这一年的第:num天.endl;/3-4-11编写程序,由用户输入x值,计算函数值并输出y。函数如下所示:#include void main() int x,y; coutx; if (x0) /x10) /x10的情况 y=4*x*x*x-x*x; else /其余的情况 y=x*x; cout函数结果y为:yendl;/3-4-12鸡兔同笼问题。若鸡兔共有100只脚,利用循环计算鸡兔各几只。#include void main() int rabbit,chicken; for (rabb
18、it=100/4;rabbit=0;rabbit-)/兔子最多有25只,最少没有 chicken=(100-rabbit*4)/2; cout兔子有rabbit只,鸡有chicken只endl; /4-5-1编写一个函数,计算直角坐标系中点a(x0,y0)到点b(x1,y1)的距离。#include #include float length(float x0,float y0,float x1,float y1)/求两点距离的子函数 return sqrt(x0-x1)*(x0-x1)+(y0-y1)*(y0-y1);void main() float x0,x1,y0,y1; coutx0
19、y0; coutx1y1; coutThe length from a to b is length(x0,y0,x1,y1)endl;/4-5-2求a!+b!+c!的值,其中求n!要用一个函数实现,通过主函数输入a、b和c的值,并在主函数中输出计算的结果。#include int factorial(int n)/求两点距离的子函数 int sum=1; for (int i=1;i=n;i+) sum*=i; return sum;void main() int a,b,c; coutabc; couta!+b!+c!=factorial(a)+factorial(b)+factorial
20、(c)endl;/4-5-3编写一个函数。该函数读入一个整数,并判断这个整数是否为一个回文数字。例如4,44,434,4334,43534都是回文数字。#include bool palindrome(int n)/判断n是否为回文的子函数 int a20; int m=n; int i=0; int temp,num; while (m0)/将数字的各位反向放置在数组a中 ai=m%10; m=m/10; i+; temp=i/2;/需要比较的次数 num=-i;/数字的最高位存储在anum中 for (int j=0;jtemp;j+) if (aj!=anum-j) return fal
21、se;/如果出现不相等的情况立即退出 return true;/若比较的各个位置都相等,则为回文void main() int number; coutnumber; if (palindrome(number) coutnumber is a palindrome.endl; else coutnumber is not a palindrome.endl;/4-5-4编写一个程序,为选修3、4和5门课程的学生计算平均分,其中求平均分要用重载函数实现#include float average(float a,float b,float c)/求三门课程平均分子函数 return (a+b+
22、c)/3;float average(float a,float b,float c,float d)/求四门课程平均分子函数 return (a+b+c+d)/4;float average(float a,float b,float c,float d,float e)/求五门课程平均分子函数 return (a+b+c+d+e)/5;void main() int number; float s1,s2,s3,s4,s5; coutnumber; if (number=3) couts1s2s3; coutThe average is average(s1,s2,s3)endl; else if (number=4) couts1s2s3s4; coutThe average is average(s1,s2,s3,s4)endl; else couts1s2s3s4s5; coutThe average is average(s1,s2,s3,s4,s5)endl; /4-5-5用递归方法将一个整数n转换成字符串。#include #include using namespace std;string convert(int n);string numstring();void main()
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1