《C++程序与设计》 WORK TWO
T 1
// 输入梯形上边长、下边长及高度,计算梯形面积,并输出。
#include <iostream>
using namespace std;
int main ()
{
cout << "###梯形面积###\n";
cout << "请依次输入上底,下底和高:";
double a = 0/*上底*/ , b = 0/*下底*/ ,h = 0/*高*/;
double sum = 0 /*面积*/;
cin >> a >> b >> h;
sum = (a + b) * h / 2;
cout << "\n梯形的面积为:";
cout << sum << endl;
system ("pause");
}
T 2
// 从键盘接受一个大写字母,转化成小写字母输出
#include <iostream>
using namespace std;
int main ()
{
cout << "###英文字母大小写转化###\n";
char ch;
cin >> ch;
if (ch>=65&&ch<=90)
{
ch = ch + 32;
}
else if (ch>=97&&ch<=122)
{
ch = ch - 32;
}
cout << ch <<endl;
system ("pause");
}
T 3
//编写程序将输入的英里转换成公里。
//已知每英里等于5280英尺,每英尺等于12英寸,每英寸等于2.54厘米,每公里等于100000厘米。
#include <iostream>
#define ylc 5280
#define ycc 12
#define cc 2.54
#define gc 100000
using namespace std;
int main ()
{
cout << "###英里转换成公里###\n";
double mile = 0;
cin >> mile ;
cout << (mile = (mile * ylc * ycc * cc) / gc) <<endl;
system ("pause");
}
T 4
//求一元二次方程式ax2 + bx + c = 0的根。输入a, b, c的值,输出根。
//提示:sqrt为开平方,需包含数学库<cmath>。
#include <iostream>
using namespace std;
int main ()
{
cout << "###一元二次方程式###\n";
double root = 0 ;
double a = 0 ,b = 0,c = 0;
double delta = 0; // 根的判别式
cin >> a >> b >> c;
delta = b*b - 4*a*c;
if (delta > 0)
{
cout << "方程有两个不同的实数根:";
root = (-b + delta)/(2*a);
cout << root << " ";
root = (-b - delta)/(2*a);
cout << root << endl;
}
else if (delta == 0)
{
cout << "方程有且只有一个根:";
root = -b / (2*a);
cout << root <<endl;
}
else
{
cout << "方程没有实数根"<<endl;
}
system ("pause");
}
T 5
//计算各类币值张数问题,输入人民币数额,统计100,50,20,10,5,1圆的币值各多少张。
#include <iostream>
using namespace std;
int main ()
{
cout << "###人民币各类币值张数问题###\n";
cout << "请输入人民币的数额 :";
int RMB = 0 , num = 0;
int array [3] = {0};
cin >> RMB;
array [2] = RMB / 100;
for (int i = 0; i < 2 ;i++)
{
num = RMB % 10;
RMB = RMB / 10;
array [i] = num;
// cout << array [i]<<endl;
}
// cout << array [2]<<endl;
cout << "100元的币值有 "<<array [2]<<" 张\n"; // 百元纸币
if (array [1] > 5) // 10 ~ 100 元内币值的问题
{
cout << "50元的币值有1张\n";
array [1] = array [1] - 5;
if (array [1] >= 4)
{
cout << "20元的币值有2张\n";
array [1] = array [1] - 4;
if (array [1] = 1)
{
cout << "10元的币值有1张\n";
}
}
else if ( array [1] >= 2)
{
cout << "20元的币值有1张\n";
array [1] = array [1] - 2;
if (array [1] = 1)
{
cout << "10元的币值有1张\n";
}
}
else if (array [1] = 1)
{
cout << "10元的币值有1张\n";
}
}
else
{
if (array [1] >= 4)
{
cout << "20元的币值有2张\n";
array [1] = array [1] - 4;
if (array [1] = 1)
{
cout << "10元的币值有1张\n";
}
}
else if (array [1] >= 2)
{
cout << "20元的币值有1张\n";
array [1] = array [1] - 2;
if (array [1] = 1)
{
cout << "10元的币值有1张\n";
}
}
}
if (array [0] >= 5) //10以内的纸币
{
cout << "5元的币值有一张\n";
array [0] = array [0] -5;
cout << "1元的币值有"<<array [0]<< "张\n";
}
else
{
cout << "1元的币值有"<<array [0]<< "张\n";
}
system ("pause");
}
T 6
//编写程序,从键盘上接受一个三位的整数(100~999),计算出各位数字之和输出。
#include <iostream>
using namespace std;
int main ()
{
cout << "###计算一个三位的整数各位数字之和###";
int num = 0;
int sum = 0;
cin >> num;
while (num != 0)
{
sum = sum + num % 10;
num = num /10;
}
cout << sum <<endl;
system ("pause");
}