chapter2

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

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

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

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

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

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

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

课本例题:

( 一 )2.1

/*******布尔类型使用举例*******/  
  
#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.1;  
    cout<<"执行语句flag=0.1;后flag的值为:"<<boolalpha<<flag<<endl;  
  
    return 0;  
}  




2.2

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




2.3

/***********************
*******   数据溢出   ***** 
***********************/ 
#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;  
}  




将‘short'换成’long'以后:


输出流要特别注意输出的数据类型,防止数据溢出,不能显示出来。

2.4

/***************************
********    自增    *******/
#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;  
}

将++i换成i++后:



2.5


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


2.7


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;  
} 
数据转换类型.


(三)三角形面积及周长:


#include <math.h>
#include <iostream>   
using namespace std;  
int main()  
{  
   int a,b,c;   
   float m,C,s;
   printf("enter三角形的三边 a,b,c:");       //输入三个边长的值   
   scanf("%d,%d,%d",&a,&b,&c);
   if(a+b>c,a-b<c)                           //判断是否构成三角形
   { 
    
    m=(a+b+c)/2;  
    s= sqrt(m*(m-a)*(m-b)*(m-c));           //三角形的面积公式  
    C =a+b+c;                              //三角形的周长
       printf ("m=%.2f\nn=%.2f\n",s,C); 
   }
   else 
   {
       cout<<endl;                           //若不构成三角形,结束
   }                        
   return 0;  
}

课本习题:(1)


/***********************
*******   习题三   ***** 
***********************/ 
#include <math.h>                                 //调用头文件<math.h> ,应后面用到平方根的数学计算
#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;          //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; 
}

输入一元二次方程得瑟三个系数,输出解:


#include<math.h>
#include<iostream>  
int main()   
{
   int a,b,c; 
   float x1,x2;
   printf("输入一元二次方程的三个系数a,b,c:");  //输入一元二次方程的系数
   scanf("%d,%d,%d",&a,&b,&c);  
    if(b*b-4*a*c>0)                             //判断根的三种情况
 {  
      x1=(-b+sqrt(b*b-4*a*c))/(2*a);  
      x2=(-b-sqrt(b*b-4*a*c))/(2*a);  
      printf("%.2f\n%f.2\n",x1,x2);  
  }  
  else  if
   (b*b-4*a*c==0)
  {  
   x1=x2=(-b)/(2*a);  
      printf("%.2f\n%.2f\n",x1,x2);  
  }  
  else if
   (b*b-4*a*c<0)
  {  
   printf("方程无解!\n");  
  } 
   return 0;  
}


上次好多乱码,这次应该没有了吧~~~






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值