c++第一次实验.doc
文本预览下载声明
1.编程计算图形的周长。程序可计算圆形、长方形、正方形的周长,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出周长的值后将其显示出来。
#include iostream.h
const float PI = 3.1416;
void main()
{
int graphicType;
float radius, a, b, perimeter;
cout 请选择图形的类型 (1-圆形 2-长方形 3-正方形) :;
cin graphicType;
switch(graphicType)
{
case 1:
cout 请输入圆的半径为:;
cin radius;
perimeter = PI * 2 * radius;
cout圆 radius 的周长为: perimeter endl;
break;
case 2:
cout 请输入矩形的长,宽(以空格分隔):;
cin a b;
perimeter = 2*(a+b);
cout矩形 a :b的周长为: perimeter endl;
break;
case 3:
cout 请输入正方形的边长为:;
cin a;
perimeter = a * 4;
cout正方形 a 的周长为: perimeter endl;
break;
default:
cout 输入错误!endl;
}
}
2.有人用字母代替十进制数字进行计算,写出以下算式:请用C++编制程序,找出这些字母所代替的数字。在完成程序后,分析你编写的程序的性能如何,包括运行时间等。分析结果请写在实验报告中。
#include iostream.h
void main()
{
int e,g,a,l,tempa1,tempa2,tempb,see;
for(e=0;e=9;e++) {
for(g=0;g=9;g++) {
for(a=0;a=9;a++) {
for(l=0;l=9;l++) {
tempa1=(e*1000+g*100+a*10+l);
tempa2=tempa1*l;
tempb=l*1000+a*100+g*10+e;
see=(e-g)*(e-a)*(e-l)*(g-a)*(g-l)*(a-l);
if(tempa2==tempb see!=0)
cout***********\ntempa1endl
* l\n-------\n=tempbendl;
}
}
}
}
}
3.开发一个控制台应用程序,打印输出如下图形。
*
**
***
****
*****
******
#includeiostream
using namespace std;
void main() {
cout*endl;
cout* *endl;
cout* * *endl;
cout* * * *endl;
cout* * * * *endl;
cout* * * * * *endl;
}
4. 报数题
m个人围成一圈,从第1个人开始报数,报到n的人出圈,再由下一个人开始报数,报到n的人出圈,如此下去,直到所有的人出圈为止。编写程序依次输出出圈人的编号输入:
与程序在同一目录下的名为 01.in 的纯文本文件,共4行,包括人数m(不大于32768的非负整数)、1个空格、出圈人所报数字n(不大于32768的正整数)。
输出:
与程序在同一目录下的名为 01.out 的纯文本文件,共3行,为与输入文件中各行输入所对应的出圈人编号序列,编号之间以1个空格隔开。#include iostream.h
#include stdio.h
#define max 32768
void PKbyNo(int m,int n);
void main()
{
int m,n;
cout请输入总人数m和出局的人所报到的数字n,用空格隔开:endl;
cinmn;
PKbyNo(m,n);
coutendl;
}
void PKbyNo(int m,int n)
{
int i,k,x,num[max],*p;
p=num;
for(i=0;im;i++)
*(p+i)=i+1;
i=0;
k=0;
x=0;
cout结果:endl;
while(xm-1)
{
if(*(p+i)!=0)
k++;
if(k==n)
{
cout*(p+i) ;
*(p+i)=0;
x++;
k=0;
if(x%4==0)
c
显示全部