1、输出10000以内的完全数(各个小于它的约数(真约数, 列出某数的约数, 掉该数本身, 剩下的就是它的真约数)的和等于它本身的自然数叫做完全数)
#include <stdio.h>
int main()
{
int i,j,sum,flag=0;
for(i=1;i<10000;i++)
{
sum=0;
for(j=1;j<=i/2+1;j++)
{
flag=i%j;
if(flag==0 && i!=j)
sum=sum+j;
}
if(sum==i)
printf("%d ",i);
}
}
运行结果
2、根据输入的三角形的三条边判断三角形的类型,并输出它的面积和类型。提示:首先判断所给的三条边是否能组成三角形,若可以构成三角形,则判断该三角形是什么类型,并求三角形面积 。
#include<stdio.h>
#include<math.h>
int main()
{
double a, b, c, d, s, area;
printf("请输入三个正数:");
scanf("%lf%lf%lf",&a,&b,&c);
if ((a + b > c) && (a + c > b) && (b + c > a))
{
d = a + b + c;
s = 0.5*d;
area = sqrt(s*(s-a)*(s-b)*(s-c));
printf("d=%lf\tarea=%lf\t",d,area);//'\t'调整输出位置,使输出数据清晰、整齐、美观
}
else
{
printf("不能构成三角形\t");
}
return 0;
}
运行结果
3、1.已知交通工具类(vehicle)定义如下:
class vehicle
{
protected:
int wheels; // 车轮数
public:
vehicle(int wh=0);
void init(int wh); //设置车轮数
int get_wheels(); //返回车轮数
void print(); //输出车轮数
};
要求:
(1)实现vehicle类;
(2)定义公有派生类:小车类(car)。数据成员新增“载人数”;成员函数新增构造函数、init(设置车轮数和载人数),getpassenger(获取载人数),print(输出车轮数和载人数)。
#include<iostream>
#include<math.h>
using namespace std;
class vehicle
{
protected:
int wheels; // 车轮数
public:
vehicle(int wh=0){}
void init(int wh); //设置车轮数
int get_wheels(); //返回车轮数
void print(); //输出车轮数
};
//实现
vehicle::vehicle(int wh);
void vehicle::init(int wh){wheels = wh;}
int vehicle::get_wheels(){return wheels;}
void vehicle::print(){printf("%d\n", wheels);}
//派生
class car:public vehicle
{
public:
int num; //人数
public:
void init(int n, int wh){ wheels = wh; num = n;}
int getpassenger(){return num;}
void print(){printf("%d %d\n",wheels, num);}
};