</pre><pre code_snippet_id="308231" snippet_file_name="blog_20140525_2_8173575" name="code" class="cpp">/************************************
** 功能:计算三角形周长面积 **
************************************/
#include<iostream>
#include <math.h>
using namespace std;
int main()
{
double a,b,c,s,p,q,d;
cout<<"请输入三角形的三边长:"<<endl;
cin>>a>>b>>c;
p=a+b+c;
d=p/2;
q=d*(d-a)*(d-b)*(d-c);
s=sqrt(q);
cout<<"三角形的面积为:"<<s<<endl;
cout<<"三角形的周长为:"<<p<<endl;
return 0;
}
求下列表达式的值
(1)
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;
#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)/double(g)+sqrt((double)n)*1.2/g+m;
cout<<"k="<<k<<endl;
return 0;
}
</pre><p></p><p style="color:rgb(51,51,51); font-family:Arial; font-size:14px; line-height:26px">(2)</p><p style="color:rgb(51,51,51); font-family:Arial; font-size:14px; line-height:26px">float x=2.5,y=4.7,z; int a=7;x+a%3*(int(x+y)%2)/4;</p><pre code_snippet_id="308231" snippet_file_name="blog_20140525_5_3604006" name="code" class="cpp">#include <iostream>
#include <math.h>
using namespace std ;
int main()
{float x=2.5,y=4.7,z;
int a=7;
z=x+float(a%3*(int(x+y)%2))/4;
cout<<"z="<<z<<endl;
return 0;
}
分析得,由于a%3*(int(x+y)%2)/4为0.25,但整型结果为0,故需将其转换为float,结果为2.5+0.25=2.75
#include <iostream>
#include <math.h>
using namespace std ;
int main()
{double a,b,c,x1,x2,q;
cout<<"请输入一元二次方程的三个系数a,b,c"<<endl;
cin>>a>>b>>c;
if (a==0&&b==0)
{
cout<<"该方程无解"<<endl;
return 0 ;
}
q=b*b-4*a*c;
if (q>=0)
x1=(-b+sqrt(q))/(2*a),x2=(-b-sqrt(q))/(2*a)
,cout<<"方程的解为x1="<<x1<<"\n"
<<"方程的解为x2="<<x2<<"\n";
else
cout<<"方程的虚根x1="<<(-b)/(2*a)<<"+"<<sqrt(-q)/(2*a)<<"i"<<"\n";
cout<<"方程的虚根x2="<<(-b)/(2*a)<<"-"<<sqrt(-q)/(2*a)<<"i"<<"\n";
return 0 ;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Encrypt(char* cSrc,char* cDest)
{
char c;
int i,h,l,j=0;
for (i=0;i<(int)strlen(cSrc);i++)
{
c=cSrc[i];
h=(c>>4)&0xf;
l=c&0xf;
cDest[j]=h+'x';
cDest[j+1]=l+'z';
j+=2;
}
cDest[j]='\0';
return 0;
}
Decrypt(char* cSrc,char* cDest)
{
int i,h,l,m,n,j=0;
for (i=0;i<(int)strlen(cSrc);i=i+2)
{
h=(cSrc[i]-'x');
l=(cSrc[i+1]-'z');
m=(h<<4);
n=(l&0xf);
cDest[j]=m + n;
j++;
}
cDest[j]='\0';
return 0;
}
main(int argc, char *argv[])
{
char dest1[128]="\0";
char dest2[128]="\0";
char src[128]="\0";
printf("请输入源字符串:");
scanf("%s",src);
Encrypt(src,dest1);
printf("加密后的字符串为:%s\n",dest1);
Decrypt(dest1,dest2);
printf("还原后的字符串为:%s\n",dest2);
printf("长度为:%d\n",strlen(dest2));
return 0;
}
#include<iostream>
using namespace std;
int main ()
{
int c,n;
cout<<"请输入一个测试的数"<<endl;
cin>>n;
c=n>>(16-1)&1;
if (c==1)
n=n&32768;//因为32768的二进制为1000000000000000,这样就可以令第八位全为0,强制停机
//这题只能想到这些思路了,
return 0;
}
例2.1布尔类型使用举例
/**********************************
** 功能: 布尔类型使用举例 **
**********************************/
# include< iostream >
# include< iomanip > //使用控制符boolalpha需使用此头文件
using namespace std ;
int main()
{
bool flag = true;
cout<<flag<<endl; //默认情况下为非bool字母(noboolalpha),输出整型值1
cout<<boolalpha<<flag<<endl; //使用输出格式控制符boolalpha,输出布尔型值
cout<<flag + 5<<endl; //在算术运算中,把布尔数据当作整型数据,输出6
flag = 0; //可以给bool类型的变量赋任意类型的值
cout<<"执行语句flag=0;后flag的值为:"<<boolalpha<<flag<<endl;
flag = 0.0; //0.0为double类型的数值
cout<<"执行语句flag=0.0;后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;
}
例2.4++运算符使用举例
# include< iostream >
using namespace std ;
int main()
{
int i=6, j, k, temp;
j=++i; //先对变量i自增,i的值变为7,之后把i的值7赋给变量j
k=i++; //先把变量i的值7赋给变量k,然后i的值自增,i的值变为8
++i=1; //++i可以作为左值,执行完成该语句后变量i的值为1
cout<<"i="<<i<<endl
<<"j="<<j<<endl
<<"k="<<k<<endl;
return 0;
}
例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;
//上述语句等价于ch=ch>='a'&&ch<='z'?ch-32:ch;
cout<<"The result is:"<<ch<<endl;
return 0;
}
例2.7强制类型转换示例
# 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;
}