第三周作业

第一题、.输入课本各个例题,调试运行程序,并分析程序。

例1:

#include <iostream>
using namespace std;
int main()
{
    cout<<"number of bytes in int is "<<sizeof(int)<<endl;
    cout<<"number of bytes in long int is "<<sizeof(long)<<endl;
    cout<<"number of bytes in shott int is "<<sizeof(short)<<endl;
    return 0;
}

例2:

#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;
}

例3:

#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;
}

例4:

#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;
}

例5:

#include<iostream>
using namespace std;
int main()
{
	int i = 6,j,k;
	j=++i;
	k=i++;
	++i=1;
	cout<<"i="<<i<<endl
		<<"j="<<j<<endl
		<<"k="<<k<<endl;

	return 0;
}

例6:

#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;
}

例7:

#include<iostream>
using namespace std;
int main()
{
	char ch='c';
	int a,b=13;
	float x,y;
	x=y=2.0;
	a=ch+5;
	x=b/2/x;
	y=b/y/2;
	return 0;
}

例8:

#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;
	cout<<"ab="<<ab<<endl;
	cout<<"c="<<c<<endl;
	cout<<"ac="<<ac<<endl;
	return 0;
}

第二题、 编写程序输入一个三角形的三条边,计算其面积和周长。

#include <iostream>
using namespace std;
int main()
{
   float side_1, side_2,side_3,gap_1,gap_2,gap_3;
   cout << "Please enter the first side length:";
   cin >> side_1;
   cout << endl;
   cout << "Please enter the second side length:";
   cin >> side_2;
   cout << endl;
   cout << "Please enter the third side length:";
   cin >> side_3;
   cout << endl;
   gap_1=side_2+side_3-side_1;
   gap_2=side_1+side_3-side_2;
   gap_3=side_1+side_2-side_3;
   if(gap_1>0&&gap_2>0&&gap_3>0)
 {
   cout << "Perimeter of the triangle is :" << side_1+side_2+side_3 << endl;
   cout << "Area of the triangle is :" << (side_1+side_2+side_3)/2 << endl;
  }
 else cout << "This is not a triangle" << endl;
 return 0;
}

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

第(1)题

#include <iostream>
#include<cmath>
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;
      cout<<"k="<<k<<endl;
      return 0;
}

第(2)题

#include <iostream>
using namespace std;
int main()
{
	float x=2.5,y=4.7,z;
	int a=7;
	z=x+(a%3)*(int(x+y)%2)/4;
	cout<<"z="<<z<<endl;
    return 0;
}

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

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    float a ,b ,c;
    double delta ;
    cout << "先输入 a :";
    cin >> a ;
    cout << endl;
    cout << "然后输入 b :";
    cin >> b ;
    cout << endl;
    cout << "再输入 c :";
    cin >> c ;
    cout << endl;
    if(a==0&&b==0)
	{
        cout << "此方程无解"<< endl;
        exit(0);
	}
     delta = (b*b)-(4*a*c) ;
      if (delta >= 0)
	 {
       if (delta > 0)
	    {
         cout << "方程的实数根 X1= " << (-b+sqrt(delta))/(2*a) << endl;
         cout << " 方程的实数根 X2= " << (-b-sqrt(delta))/(2*a) << endl;
	    }
         else cout << "方程的实数根 X1 = X2 = " << (-b)/(2*a) << endl;
	 }
         else 
		 {
           delta=abs(delta);
           cout << "方程的虚根X1=" << -b/(2*a) <<"+"<<sqrt(delta)/(2*a) <<"j"<< endl;
           cout << "方程的虚根X2=" << -b/(2*a) <<"-"<<sqrt(delta)/(2*a) <<"j"<< endl;
		 }
    return 0;
}

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

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

第七题、积累调试程序经验,收集错误信息原因。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值