题目描述编写基于对象的程序,求长方柱(Bulk)的体积。数据成员包括长(length)、宽(width)、高(heigth)、体积,要求用成员函数实现下面的功能:
(1)由键盘输入长方柱的长、宽、高;
(2)计算长方柱的体积(volume)和表面积(areas);
(3)输出这长方柱的体积和表面积。
输入长方柱的长、宽、高
输出长方柱的体积和表面积
样例输入12 3 4
样例输出122452
提示12345678910111213141516171819202122#include<iostream>using namespace std;class Bulk{ double length,width,heigth; public: void input(){ cin>>length>>width>>heigth; } double volume(){ return length*width*heigth; ...
题目描述定义一个复数类 Complex,复数的实部 real 和虚部 image 定义为类的私有数据成员。成员函数均为公有,其中 input()函数给实部和虚部赋值,output()函数按照“实部,虚部 i”的格式输出复数,add()函数实现两个复数的相加。设计一个友元函数 sub()实现两个复数的相减。主函数中定义若干对象,通过调用成员函数和友元函数,完成两个复数的相加和相减。
输入共有两行,每行两个整数,中间用空格隔开,代表两个复数。其中,前一个数是实部,后一个数是虚部。
输出共有两行,每行按照“实部,虚部 i”的格式,逗号为英文逗号,不要输出引号。第一行是相加后的复数,第二行是相减后的复数,行尾输出换行。
样例输入122 -13 1
样例输出125,0i-1,-2i
提示1234567891011121314151617181920212223242526272829303132333435#include<iostream>#include<cmath>using namespace std;class Complex { int rea ...
题目描述一个合法的身份证号码由 17 位地区、日期编号和顺序编号加 1 位校验码组成。校验码的计算规则如下:
首先对前 17 位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对 11 取模得到值 Z;最后按照以下关系对应 Z 值与校验码 M 的值:
1234Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 7 6 5 4 3 2
现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。
输入输入第一行给出正整数 N(≤100)是输入的身份证号码的个数。随后 N 行,每行给出 1 个 18 位身份证号码。
输出按照输入的顺序每行输出 1 个有问题的身份证号码。这里并不检验前 17 位是否合理,只检查前 17 位是否全为数字且最后 1 位校验码计算准确。如果所有号码都正常,则输出 All passed。
样例输入12345432012419880824005612010X19890101123411010819671130186637070419881216001X
样例输出1231 ...
题目描述Student 类含有私有数据成员:num,name,sex,公有成员函数:输入函数 get_value()和输出函数 display()。采用私有继承方式实现类 Student1,增加数据成员:age,addr,成员函数:get_value_1()和 display_1()。在程序运行时输入 num,name,sex,age,addr 的值,调用输出函数输出以上 5 个数据的值。
输入输入 num, name, sex, age, addr 的值
输出输出 num, name, sex, age, addr 的值
样例输入11001 zhang m 21 shanghai
样例输出12345num:1001name:zhangsex:mage:21address:shanghai
提示1234567891011121314151617181920212223242526272829303132333435#include<iostream>using namespace std;class Student{ int num; string name, ...
题目描述输入一个正整数 n,定义一个包含 n 个元素的动态一维数组(double 型),输入 n 个元素,对这 n 个元素按照从小到大顺序排序,输出排序以后的各个元素。
输入输入:元素个数 n 以及这 n 个元素
输出输出:这 n 个元素按照从小到大顺序排序以后的结果(各元素之间有一个空格)
样例输入1253.2 1.4 8.5 4.6 2.2
样例输出11.4 2.2 3.2 4.6 8.5
提示123456789101112131415161718192021#include<iostream>using namespace std;int main() { int n; cin>>n; double arr[n]; for(int i=0; i<n; i++) cin>>arr[i]; for(int i=0; i<n-1; i++) { for(int j=0; j<n-i-1; j++) { if(arr[j]>arr[j+1]) { double tmp = ...
题目描述读入两个字符串,并将其连接起来的新字符串输出。要求不要使用 strcat 函数。
输入两行不包含空格的字符串。保证每个字符串的长度不超过 100。
输出将第 2 行的字符串连接在第 1 行字符串之后的新字符串。请注意行尾输出换行。
样例输入12I am a program.This is a program.
样例输出1I am a program.This is a program.
提示12345678#include<iostream>using namespace std;int main() { string str1,str2; getline(cin, str1); getline(cin, str2); cout<<str1+str2<<endl;}
题目描述给定一个一维数组,包含 10 个学生的成绩,求出平均分、最高分和最低分。要求使用将数组传至函数进行操作的方法。
输入只有一行,包含 10 个用空格隔开的实数,表示 10 个学生的成绩。保证所有成绩不小于 0,不大于 100。
输出输出平均分、最高分和最低分,用空格隔开,小数点后保留 2 位小数。请注意行尾输出换行。
样例输入1100 56 78 98.5 76 87 99 67.5 75 97
样例输出183.40 100.00 56.00
提示123456789101112131415161718192021#include<iostream>using namespace std;void calc(float a[10]){ cout.precision(2); float average=0,sum=0,max=0,min=100; for(int i=0;i<10;i++){ sum+=a[i]; average=sum/10; if(a[i]>max) ...
题目描述写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
输入只有一行,表示输入的字符串。请注意输入的字符串可能有空格。保证字符串的长度不超过 100。
输出将读入的字符串反序后的字符串。请注意行尾输出换行。
样例输入1This is a program.
样例输出1.margorp a si sihT
提示123456789101112131415161718#include<iostream>#include<cstring>using namespace std;void reverse(char a[]){ char b[101]; for(int i=0,j=strlen(a);j>0;i++,j--) b[j-1]=a[i]; for(int i=0;i<strlen(a);i++) a[i]=b[i];}int main(){ char a[101]; gets(a); reverse(a); puts(a); cout<<endl; return 0;} ...
题目描述用递归的方法求出 n!的值。
输入一个正整数 n,保证 n 不超过 10。
输出n!的值。请注意行尾输出换行。
样例输入15
样例输出1120
提示1234567891011#include<iostream>using namespace std;int fac(int x){ if(x==1) return 1; else return x*fac(x-1);}int main(){ int n; cin>>n; cout<<fac(n)<<endl;}
题目描述定义包含 10 个整型数的一维数组,从键盘输入 10 个整数,然后再输入一个待查找的整数 x,判断如果能在数组中找到 x,则输出 x“ is found at ”、下标,否则输出 x“ is not found”。
说明:如果数组中找到多个与 x 相同的数,则只输出找到的首个元素。
输入输入:第 1 行输入 10 个整数
第 2 行输入 1 个待查找的整数
输出输出:x “ is found at”、下标(数据之间空 1 格)
或者:输出 x“ is not found”
样例输入1223 14 45 26 90 85 67 48 62 6585
样例输出185 is found at 5
提示1234567891011121314151617#include<iostream>using namespace std;int main() { int arr[10],x,isFound=0; for(int i=0; i<10; i++) cin>>arr[i]; cin>>x; for(int i=0; i<10 ...