第三周作业

本文深入探讨了编程领域的核心概念,包括三角形公式、一元二次方程求根、加密技术、紧急停止模拟等,同时提供了实用的代码示例。通过详细解析,旨在提升读者在算法、数学和信息安全方面的技能。

2.三角形公式

/******三角形面积计算公式*********
*******      by:lin          *****
*********************************/
#include<iostream>
#include<math.h>//调用包含有数学函数的头文件
using namespace std;
/***********  公式  **********/
float heron(float a,float b,float c,float p)  //定义四个float变量,p为三角形半边长  
{
	float result;  //定义变量result,为面积
	result =sqrt(p*(p-a)*(p-b)*(p-c));  //海伦公式
	return result;  
}



/*********  主函数  ********/
float main()
{
	float a,b,c; /*a,b,c分加是三角形三边,p是半边长,s是面积*/
	float p;
	float s;
	cout<<"依次输入三角形三条边长"<<endl;
	cin>>a>>b>>c;
	if(a+b>c&&a-b<c) //判断IQ是否下线
	{
		p = (a+b+c)/2;
	s=heron(a,b,c,p);//调用前面我们自己定义的heron函数
		cout<<"面积="<<s<<endl;
	return 0;
	}
	else
		cout<<"错误!您的IQ已下线"<<endl;
}

3.习题3

(1)

/******  第二章习题3     *********
*******      by:lin          *****
********************************/
#include<iostream>
#include<math.h>//调用包含有数学函数的头文件
using namespace std;
int main()
{
	int e=1,f=4,g=2;//
	float m=10.5,n=4.0,k;
	k=(e+f)/g+sqrt((double)n)*1.2/g+m;// 基本整型(e+f)/g=2;sqrt((double)n)先把n转换成double型,再开方;
	cout<<k<<endl;
	return 0;
}//k=2+1.2+10.5=13.7

(2)

/******  第二章习题3     *********
*******      by:lin          *****
********************************/
#include<iostream>
using namespace std;
int main()
{
	float x=2.5,y=4.7;
	float z;
	int a=7;
	z=x+a%3*(int(x+y)%2)/4;//(int(x+y)%2),把(x+y)转为基本整型=7先除2取鱼
	cout<<z<<endl;
	return 0;
}//好像没什么东西要注解了^ ^

4.一元二次方求根

/******  一元二次求根公式  *******
*******      by:lin          ***** 
*********************************/  
#include<iostream>  
#include<math.h>//调用包含有数学函数的头文件  
using namespace std;  
/***********  公式  **********/  
double dto(double a,double b,double c)     
{  
    double result; 
    result =sqrt(b*b-4*a*c);
    return result;    
}  


/*********  主函数  ********/  
int main()
{
	double a,b,c;  //定义变量
	double x1,x2,s;
	cout<<"輸入三個系數a,b,c"<<endl;
	cin>>a>>b>>c;
	if(b*b-4*a*c>0)  //好像叫if语名的嵌套是吧
	{
		s=dto(a,b,c);
		x1=(-b-s)/(2*a);
		x2=(-b+s)/(2*a);
		cout<<"解1="<<x1<<"解2="<<x2<<endl;
	}
	else if(b*b-4*a*c ==0) //  ==表示判断是否 等于  =表示赋值
	{
		x1=x2=(-b)/2*a;
		cout<<"只有一個解"<<x1<<endl;
	}
		else if(b*b-4*a*c<0)
					cout<<"无解"<<endl;
				return 0;
}  //大王叫我来巡山
失误:==表示判断是否 等于 =表示赋值

5.加密

/********by:lin********/
#include<iostream>
using namespace std;
int main()  
{  
    char a[50],b[50];             //字符型数组a,b变量,每组数组有50个数组元素  
    int i; 
    cout<<"输入姓名拼音"<<endl;   
    cin.get(a,50);           //(a,50)=(字符数组名,字符数目)
    cout<<"加密后"<<endl;
    for(i=0;i<50;i++)
    {  
        if(a[i]==0)  //数组a[i]==0时结束循环  
        {  
            break;  
        }  
        b[i]=a[i]; 
        b[i]=b[i]+5;  //组b中元素加上5后赋值给数组c
        cout<<b[i]; 
    }  
    cout<<endl;  
  
  
    return 0;  
}    //虽说参考别的同学的,但还是不大懂为什么要用if

6.模仿设备紧急停止

/** 模仿设备紧急停止***
*       BY:lin       */
#include<iostream>  
using namespace std;  

int main()  
{  
    int a[17]={1,1,0,1,0,1,1,1,0,1,1,1,1,0,1,1}; //假定的工作状态,第一位必为1,低8位不全为0
    int b[17],i;
    char order;   //定义字符型变量用于存储键盘输入
	cout<<"指令输入"<<endl;  
    do
	{
		cin>>order;
        if(order=='s'||order=='S')//设定s和S为停止指令
		{
			for(i=0;i<16;i++)    
			{  
				if(i==0)
				{
			    cout<<endl<<"高八位改为:";
				}
                if(i<=7)
				{
			    a[0]=0; //报警!!!
			    b[i]=a[i];
		    	cout<<b[i]<<" ";
				}
		        if(i==7)
				{
			    cout<<endl<<"低八位改为: ";
				}
                if(i>7)
				{
			    a[i]=0;
		    	b[i]=a[i];
			    cout<<b[i]<<" ";//有什么问题
				}
			}
			break;//退出循环
		}
		else 
			cout<<"未知指令"<<endl;
	}
	while(order!='s'||order!='S');//判断指令是否正确,不正确则再循环
	cout<<endl;
	return 0;
}

失误


if语句下少了{ }

失误:发现错误在if 和 else上,可能是if(  )后忘加;了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值