您的位置:首页 > 其它

第三周作业

2014-03-23 20:50 246 查看
1用sizeof运算符来确定机器上的整型变量所占内存单元大小

/* 功能:显示输出各种整型,实型变量所占的字节数 */

# include <iostream>
using namespace std ;

int main ()
{
cout << "number of bytes in int is: " << sizeof(int) << endl;
cout << "number of bytes in long is: " << sizeof(long) << endl;
cout << "number of bytes in short is: " << sizeof(short) << endl;
cout << "number of bytes in float is: " << sizeof(float) << endl;
cout << "number of bytes in double is: " << sizeof(double) << endl;
cout << "number of bytes in long double is: " << sizeof(long double) << endl;

return 0;

}


2布尔类型使用举例

/*bool类型的使用*/

# include <iostream>
# include <iomanip>	//使用控制符boolalpha 需要此头文件
using namespace std;

int main ()
{
bool apple = true;					//定义apple为bool型变量,并初始化为true
cout <<  apple << endl;				//默认情况下非boolbool字母boolalpha ,输出整型值1
cout << boolalpha << apple <<endl;	//使用输出格式控制符boolalpha,输出布尔型值
cout << apple + 5 <<endl;			//在算数运算中,把布尔数据当作整型数据,输出6
apple = 0;							//可以给bool类型的变量赋任意类型的值
cout << "执行语句apple = 0 ;后apple的值为:" << boolalpha << apple <<endl;
apple = 0.0;						//0.0为double类型的值
cout << "执行语句apple = 0.0 ;后apple 的值为:" << boolalpha << apple << endl;

return 0;

}

出错Cannot open include file: 'iomaip': No such file or directory 输入控制符boolalpha 的头文件名时漏掉了一个n

3赋值表达式语句的使用

/* 功能:赋值语句表达式语句的使用 */

# include <iostream>
using namespace std ;

int main ()
{
int a , b , c , d ;
a = 4 ;
b = a ;
c = d = 6 ;
c *= a ;				//c = c * a
d %= a + b ;			//d = %(a + b)
cout << "a = " << a << endl ;
cout << "b = " << b << endl ;
cout << "c = " << c << endl ;
cout << "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 ;			//n = 1000000已经超出short型的范围,造成了溢出
cout << "m = " << m << endl ;
cout << "n = " << n << endl ;

return 0 ;
}


5例2.5,输出字符,若为小写字母,将换成大写字母输出,否则字符不变。

版本1

/*功能:输出字符,若为小写字母,将换成大写字母输出,否则字符不变。*/

# include <iostream>
using namespace std ;

int main ()
{
char cha;
cout << "please input a character :" ;
cin >> cha ;
cha = cha >= 'a' && cha <= 'z' ? cha - 'a' + 'A' : cha ;	//逻辑判断若cha在a-z之间则cha = cha - 'a' + 'A',否则cha = cha
cout << "the result is :" << cha << endl;

return 0;

}

版本2

/*功能:输出字符,若为小写字母,将换成大写字母输出,否则字符不变。*/

# include <iostream>
using namespace std ;

int main ()
{
char cha;
cout << "please input a character :" ;
cin >> cha ;
cha = cha >= 'a' && cha <= 'z' ? cha -32 : cha ;	//逻辑判断若cha在a-z之间,则cha = cha -32 ,否则cha = cha
cout << "the result is :" << cha << endl;

return 0;

}


6类型转换

/*功能:强制类型转换*/

# include <iostream>
using namespace std;

int main ()
{
int firsto , secondt , thirdt = 65;
double may = 9.88 ;
char kate = 'm' , tdd ;
firsto = int(may);				//将double型数据may强制转换为int型
secondt = int(kate);				//将char型数据kate强制转换为int型
tdd = char(thirdt);				//将int型数据thiedt强制转换为char型
cout << "may = " << may << endl;
cout << "firsto = " << firsto << endl;
cout << "secondt = " << secondt << endl;
cout << "tdd = " << tdd << endl;

return 0 ;
}

error C2059: syntax error : ','

error C2059: syntax error : ','

7输入三角形的三边,求其周长和面积 (思路:大前提:三边能组成三角形。然后使用海伦公式或者用三角函数求面积)

/*功能:求三角形的周长和面积*/
/*     by:Tin Lin			*/

# include <iostream>
# include <math.h>
using namespace std ;

int main ()
{
float a , b , c , zc , area;
cout << "请输入第一条边" ;
cin >> a ;
cout << "请输入第二条边" ;
cin >> b ;
cout << "请输入第三条边" ;
cin >> c ;
zc = a + b + c ;						//周长
area = sqrt(zc/2 * (zc/2 - a) * (zc/2 - b) * (zc/2 - c)) ;	//海伦公式
if (a + b > c && a + c > b && b + c > a  )			//判断三边是否能组成三角形
{	cout << "该三角形的周长为:" << zc << endl ;
cout << "该三角形的面积为:" << area << endl ;
}
else cout << "这三条边无法构成三角形" << endl ;

return 0 ;

}


8本章习题3

/*功能:习题求值*/

# include <iostream>
# include <math.h>
using namespace std ;

int main ()
{
int e = 1 ,f = 4 , g = 2 ;		//定义e f g为整型变量 ,且赋予初值
float m = 10.5 , n = 4.0 , k ;		//定义m n k为实型变量 ,其中 m n赋予初值
k = (e + f) / g + sqrt ((double)n) * 1.2 /g + m ;		//在运算过程中n被强制转换成double型
cout << "求出k的值为:" << k  << endl ;

return 0 ;

}


# 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 ;		//将x+y强制转换为int型
cout << "结果为" << z << endl ;

return 0 ;
}
结果:第一题k = 13.7

第二题z = 2.5

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

/*功能:求解一元二次方程*/
/*			by Tin Lin  */

# include <iostream>
# include <math.h>
using namespace std ;

int main ()
{
float a , b , c , diaota , q ,x1 , x2 ;
cout << "请依次输入数据" << endl;
cout << "请输入方程的二次项系数" ;
cin >> a ;
cout << "请输入方程的一次项系数" ;
cin >> b ;
cout << "请输入方程的常数项系数" ;
cin >> c ;
diaota = b * b - 4 * a * c ;
if (diaota > 0)
{   q = sqrt(diaota) ;

cout << "此方程的有两个不等的实根,分别为" << endl;
cout << "x1 = " << (x1 = (-b + q) / (2 * a )) ;
cout << "x2 = " << (x2 = (-b - q) /( 2 * a )) << endl;
}
if (diaota == 0 )
{	q = sqrt(diaota) ;
cout << "此方程有两个相等的实根x1=x2且为" << (x1 = x2 = (-b - q) /( 2 * a )) << endl;
}
if (diaota < 0)
cout << "此方程无实数根" << endl ;			//不考虑虚根的情况

return 0 ;
}


做这个程序的时候由于受了数学书写习惯的影响,把2 * a写成2a(数乘),所以调试的时候提示error C2059: syntax error : 'bad suffix on number'

10确定一个加密算法,将自己的音标姓名(英文)加密,并输出加密后结果。

/*功能:加密自己的名字(非中文)*/
/*	by Tin Lin		*/

# include <iostream>
using namespace std ;

int main ()
{
char a[20] , b[20] , c[20] ;
int x ;
cout << "请输入你的名字(拼音或英文):" ;
fflush(stdin) ;
cin.get(a,20) ;
cout << "加密结束" << endl ;
for (x = 0 ; x < 20 ; x++)
{	if(a[x]==0)
{
break;
}
b[x]=a[x] ;
b[x]=b[x] - 11 ;
c[x]=b[x] ;
cout << c[x] <<endl;
}

return 0 ;
}


10在紧急状况启动时,向控制器输入控制指令。(这个题其实我不是很清楚什么意思。当高第1位为0的时候报警,为1的时候不报警,意思是0的时候才控制强制停止,1的时候不强制停止吗?所以我做了一点就没做呢,迟一点补上)

//功能:控制设备强制停止
//	by Tin Lin

# include <iostream>
using namespace std ;

int main ()
{
int a[17] = {0,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0} ;
int m   ;
cout << "原来的指令是:" << endl;
cout << "高八位为:" ;
for (m = 0 ; m < 16 ; m++)
{
if (m <= 7 )
cout << a[m] ;
}
cout << endl ;
cout << "低八位为:" ;
for (m = 0 ; m < 16 ; m++)
{
if (m > 7 && m <= 16 )
cout << a[m] ;
}
cout << endl ;		//输出当前控制状态

return 0 ;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: