第三周作业

实验作业

1.输入课本各个例题,调试运行程序,并分析程序,将每一个程序改写2到3个版本,自己分析程序结果,然后再调试运行,核对分析结果的对错。

2.编写程序输入一个三角形的三条边,计算其面积和周长;

3.编写程序计算并输出课本本章习题3表达式的值并分析结果。

4.编写一个程序,输入一个一元二次方程的三个系数,并计算其方程的解,然后输出。

5.编写程序,自己确定一个加密算法,将自己的音标姓名(英文)加密,并输出加密后结果,请注释你的加密算法。

6.在一个自动控制设备中,控制字位数16位,控制设备产生机械动作(如削,压等)的是指令字的低8位,其中保护强制停机动作的控制命令是低8位是全为0,控制报警声音是指令的高第1位,0为报警,1为不报警。请编写程序,在紧急状况启动时,向控制器输入控制指令。

7.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。

 1.

/*********************************************
*** 功能:显示输出各种整型变量所占的字节数 ***
*********************************************/
#include <iostream> //编译预处理命令
using namespace std; //使用标准名空间std
int main() //主函数
{ 

	cout<<"number of bytes in int is:"<<sizeof(int)<<endl;
	cout<<"number of long bytes in int is:"<<sizeof(long)<<endl;
	cout<<"number of short bytes in int is:"<<sizeof(short)<<endl;
	return 0;
}
/*******************************
*******布尔类型使用举例*******
*******************************/
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	bool flag=true;
	cout<<flag<<endl;
	cout<<boolalpha<<flag<<endl;
	cout<<flag+5<<endl;
	flag=0;
	cout<<"执行语句flag=0;后flag的值为:"<<boolalpha<<flag<<endl;
	flag=0.0;
	cout<<"执行语句flag=0.0;后flag的值为:"<<boolalpha<<flag<<endl;
	return 0;
}
/*******************************
*****赋值表达式语句的使用*****
*******************************/
#include<iostream>
using namespace std;
int main()
{
    int a, b, c, d;
	a = 4;
	b = a;
	a = 5;
	c = d = 6;
	c*=a;
	d%=a + b;
	cout<<"a="<<a<<endl
		<<"b="<<b<<endl
		<<"c="<<c<<endl
		<<"d="<<d<<endl;

	return 0;
}
/*******************************
***********数据自溢举例***********
*******************************/
#include<iostream>
using namespace std;
int main()  
{  
    short i, j, m, n;  
    i = 1000;  
    j = 1000;  
    m = i+j;  
    n = i*j;  
    cout<<"m= "<<m<<endl;  
    cout<<"n= "<<n<<endl;  
  
    return 0;  
}  


 

/*******************************
********自增自减运算符********
*******************************/
#include <iostream>  
using namespace std;  
int main()  
{  
    int i = 6, j, k, temp;  
    j = ++i;  
    k = i++;  
    ++i = 1;  
    cout<<"i= "<<i<<endl  
        <<"j= "<<j<<endl  
        <<"k= "<<k<<endl;  
  
    return 0;  
}  


 

/*******************************
**条件运算符及条件表达式的应用**
*******************************/
#include <iostream>
using namespace std;

int main()
{
	char ch;
	cout<<"please input a character: ";
	cin>>ch;
	ch = ch>='a'&&ch<='z'?ch-'a'+'A':ch;
	cout<<"The result is: "<<ch<<endl;

	return 0;
}


 

/*******************************
**********强制转换类型**********
*******************************/
#include <iostream>
using namespace std;

int main()
{
	int ab, ac;
	double b = 3.14;
	char c = 'A';
	ab = int(b);
	ac = int(c);
	cout<<"b= "<<b<<endl
		<<"ab= "<<ab<<endl
		<<"c= "<<c<<endl
		<<"ac= "<<ac<<endl;

	return 0;
}

 

2.

/********************************
***功能:计算三角形的面积与周长***
********************************/

/************/

#include <iostream>
#include <math.h>	                            //数学调用,头文件形式为<math.h>
using namespace std;

int main()
{
	float a, b, c, p, S, C;                       //定义三角形的三边变量a、b、c,面积S,周长C
	cout<<"请输入三角形的三边长度:"<<endl;
	cin>>a>>b>>c;                                 //用户自行输入三角形的三边长度

	if(a+b>c&&a+c>b&&b+c>a)                       //用if语句判断能否构成三角形
	{
		p = (a+b+c)/2;
		S = sqrt(p*(p-a)*(p-b)*(p-c));           //三角形的面积公式
		C = a+b+c;
		cout<<"三角形的面积是: "<<S<<endl;
		cout<<"三角形的周长是: "<<C<<endl;
	}
	else                                        //若不能构成三角形,再次输入数据
	{
		cout<<"您输入的三边长度不能构成三角形!!!"<<endl;
	}
	return 0;
}


 

3.

/********************************
*********习题三第1题*********
********************************/
#include <iostream>
#include <math.h>	                            //数学函数调用头文件<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;     //n的类型强制转换为doubhle型
	cout<<"k = "<<k<<endl;

	return 0;
}
/********************************
*********习题三第2题*********
********************************/
#include <iostream>
using namespace std;

int main()
{
	float x = 2.5, y = 4.7;
	int a = 7;
	cout<<x+a%3*(int(x+y)%2)/4<<endl;     //(x+y)强制转换成int类型

	return 0;
}


4.

/***************************
***功能:计算一元二次方程***
***************************/

#include <iostream>
#include <math.h>                        //数学函数调用
using namespace std;

int main()
{
	float a, b, c;                          //定义变量a,b,c
	double x1, x2, k;
	cout<<"请依次输入二次项系数、一次项系数、常数项: "<<endl;
	cin>>a>>b>>c;

	k = b*b-4*a*c;                         //用一元二次方程的求根公式求出解x1, x2
	x1 = (-b+sqrt(k))/(2*a);
	x2 = (-b-sqrt(k))/(2*a);
	
	if(k>=0)				//根据k的值不同分类讨论
	{		
		if(x1==x2)
		{
			cout<<"一元二次方程的解只有1个,x= "<<x1<<endl;
		}
		else
		{
			cout<<"一元二次方程的解有2个,x1= "<<x1
				<<"   x2= "<<x2<<endl;
		}
	}
	else
	{
		cout<<"一元二次方程有虚根,x1= "<<-b/(2*a)<<"+"<<sqrt(-k)/(2*a)<<"i"<<endl            //求出一元二次方程的虚根
			            <<"x2= "<<-b/(2*a)<<"-"<<sqrt(-k)/(2*a)<<"i"<<endl;
	}

	return 0;
}


 

5.

/***********************
*****加密与解密程序*****
***********************/

#include <iostream>
using namespace std;

int main()
{
char a[25],b[25],c[25],e[25];          //定义四个一维字符型数量组  
    int k;    
    cout<<"欢迎进行名字加密与解密程序"<<endl;        //加密解密选择  
    cout<<"加密请输入“1”,解密请输入任意数字"<<endl;  
    cin>>k;   
      
    if(k==1)                                        //加密                        
    {  
        int i;  
        cout<<"请输入你要加密的名字"<<endl;         //输入要加密的名字  
        fflush(stdin);                              //清除输入缓存  
		cin>>a;                                     //从键盘获取字符                                   
        cout<<"该名字的加密成果为:"<<endl;         //加密结果输出  
        for(i=0;i<25;i++)  
        {  
            if(a[i]==0)  
            {  
                break;  
            }  
            b[i]=a[i];  
            b[i]=b[i]+10;                           //加密方法  
            c[i]=b[i];  
            cout<<c[i];
  
        }  
        cout<<endl;  
    }  
    else                                           //解密                                              
    {  
          
        cout<<"请输入你要解密的名字"<<endl;        //输入要解密的名字  
        fflush(stdin);                             //清除输入缓存  
        cin>>a;  
          
        cout<<"该名字的解密成果为:"<<endl;        //解密结果输出   
        for(int i=0;i<25;i++)  
        {  
            if(a[i]==0)  
            {  
                break;  
            }  
            b[i]=a[i];  
            b[i]=b[i]-10;                          //解密方法  
            e[i]=b[i];  
            cout<<e[i];  
        }  
        cout<<endl;  
    }  

	return 0;
}

第5题不会做,照抄别人的尴尬

6.

7.a.经常忘打分号;

   b.没注意区分中英文标点;

   c.#include "stdafx.h"有时没删掉这个原配的预编译处理命令.

 

小尾巴

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
你好!改善深层神经网络的方法有很多,以下是一些常见的方法: 1. 使用更好的激活函数:传统的激活函数如Sigmoid、tanh等可能存在梯度消失或爆炸的问题。可以尝试使用ReLU、Leaky ReLU、ELU等激活函数,以减轻这些问题。 2. 使用批标准化(Batch Normalization):批标准化对网络的输入进行标准化,有助于加快网络的训练速度,并且可以缓解梯度问题,使得更深层的网络也能够训练得更好。 3. 使用残差连接(Residual Connections):残差连接可以帮助信息在网络中更好地流动,从而减轻梯度消失的问题。通过将某些层的输出与输入相加,可以使得网络更易于训练。 4. 使用更好的优化算法:传统的梯度下降算法如随机梯度下降(SGD)可能存在训练速度慢、易陷入局部最优等问题。可以尝试使用更高级的优化算法如Adam、RMSprop等,以加快模型的收敛速度。 5. 添加正则化:过拟合是深层神经网络常见的问题之一。可以通过添加正则化项如L1正则化、L2正则化等来限制模型的复杂度,防止过拟合的发生。 6. 数据增强:通过对训练数据进行一些随机的变换,如平移、旋转、缩放等,可以增加模型的泛化能力,防止过拟合。 这些方法只是改善深层神经网络的一部分,具体的选择和调整需要根据具体问题和数据集来进行。希望对你有所帮助!
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值