}
答案:
inti=32;,a>=A&&a<=Z
[解析]大写字母变小写字母相差32,需要对i声明并初始化。
大写字母变小写字母。
要判断字
符是大写字母。
4.在下面程序横线处填上适当内容,使程序执行结果为:
S=2
S=5
S=9
#include
voidsum(inti)
{staticints;
_________;
cout<<"s="<
}
voidmain(void)
{inti;
for(i=0;________)
sum(i);
}
答案:
s=s+i+2;,i<3,i++
5.下面程序段用来求三角形的面积,首先判断三边不符合组成三角形时,返回-1,符合时输出三角形面积。
#include
#include
doublearea(doublea,doubleb,doublec)
{if(____)
return-1;
else
{
doublear,l;
l=(a+b+c)/2;
ar=sqrt(l*(l-a)*(l-b)*(l-c));
returnar;
}
}
voidmain()
{doublei=0,j=0,k=0;
cout<<"输入三角形三边:
";
cin>>i>>j>>k;
doubles=area(i,j,k);
if(s<0)
cout<<"不是三角形"<else
______
}
答案:
a+b>c||a+c>b||b+c>a,cout<
[解析]三角形组成规则:
两边之和大于第三边。
s<0不是三角形,是则输出s。
6.参数顺序不同的函数重载,写出运行结果。
#include
usingnamespacestd;
voidinfo(char*name,intage)
{cout<<"名称:
"<"< }
voidinfo(intage,char*name)
{cout<<"名称:
"<"< }
intmain()
{info("书包",16);
info(18,"笔记本");
return0;
}
7.比较内部auto变量和内部static变量的不同,写出运行结果。
#include
usingnamespacestd;
voidtest()
{intx=10;//动态变量x
staticinty=10;//静态变量y
cout<<"auto_x="<}
voidmain()
{inti;
for(i=0;i<3;i++)
test();
}
五、编程题
1.求分段函数y=f(x)的值,f(x)的表达式如下:
x2―1(x<–1)
y=x2(–1≤x≤1)
x2+1(x>1)
.#include
usingnamespacestd;
voidmain()
{
floatx,y;
cout<<"Enterx:
";
cin>>x;
if(x<-1)
y=x*x-1;
elseif(x>=-1&&x<=1)
y=x*x;
elsey=x*x+1;
cout<<"f(x)="<}
2.用switch语句实现计算器的简单功能。
#include
usingnamespacestd;
voidmain()
{
floatx,y;//运算数
charoper;//运算符
cout<<"Enterx,oper,y:
";
cin>>x>>oper>>y;
switch(oper)
{
case'+':
cout<<"x+y="<case'-':
cout<<"x-y="<case'*':
cout<<"x*y="<case'/':
if(y==0)
{
cout<<"divisoriszero!
\n";
break;
}
cout<<"x/y="<default:
cout<<"operatorhasnoeffect!
\n";
}
}
3.求100以内的奇数之和
#include
usingnamespacestd;
voidmain()
{
inti=1,sum=0;
while(i<=100)
{
sum+=i;
i+=2;
}
cout<<"sum="<}
#include
usingnamespacestd;
voidmain()
{
inti=1,sum=0;
do
{
sum+=i;
i+=2;
}while(i<=100);
cout<<"sum="<}
#include
usingnamespacestd;
voidmain()
{
inti,sum;
sum=0;
for(i=1;i<=100;i+=2)
sum+=i;
cout<<"sum="<}
4.输入一个整数,求出它的所有因子。
#include
usingnamespacestd;
voidmain()
{
intn,k;
cout<<"Enterapositiveinteger:
";
cin>>n;
cout<<"Number"<for(k=1;k<=n;k++)
if(n%k==0)
cout<cout<}
5.定义函数up(ch),如字符变量ch是小写字母就转换成大写字母并通过up返回,否则字符ch不改变。
#include
usingnamespacestd;
charup(charc)
{
if(c>=97&&c<=123)
return(c-32);
else
returnc;
}
voidmain()
{
inti;
charc;
for(i=0;i<5;i++)
{cin>>c;
cout<}
cout<}
6.编写主程序输入实数r和整数n,用函数求r的n次幂。
#include
#include
doublepower(doublea,intb)
{
inti;
doubleresult=1.0;
for(i=0;i
result=result*a;
returnresult;
}
voidmain()
{
doubler;
intn;
cout<<"r=";
cin>>r;
cout<<"n=";
cin>>n;
cout<"<}
7.编写程序计算两个整数绝对值阶乘之差。
#include
#include
usingnamespacestd;
intfac(intn)//计算一个整数绝对值的阶乘
{inti,f=1;
n=abs(n);
for(i=1;i<=n;i++)f=f*i;
return(f);
}
voidmain()
{intx,y,c1,c2;
cout<<"pleaseenterx,y:
";
cin>>x>>y;
c1=fac(x);//调用函数fac,求x绝对值的阶乘
c2=fac(y);//调用函数fac,求y绝对值的阶乘
cout<<“theoutcomeis”<}
8.用函数实现交换两个数a和b的值。
方法一:
简单变量作为函数形参(值传递)
#include
usingnamespacestd;
voidswap(intx,inty)
{inttemp;
temp=x;x=y;y=temp;
cout<<"x="<}
voidmain(){
inta=10,b=20;
swap(a,b);
cout<<"a="<}
方法二:
引用作为函数形参(地址传递)
voidswap(int&x,int&y){
inttemp;
temp=x;x=y;y=temp;
cout<<"x="<}
voidmain(){
inta=10,b=20;
cout<<"a="<swap(a,b);
cout<<"a="<}
方法三:
指针作为函数形参(地址传递)
#include
usingnamespacestd;
swap(int*p1,int*p2)
{inttemp;
temp=*p1;*p1=*p2;*p2=temp;}
intmain(){
inta=10,b=20;
int*pa=&a,*pb=;
swap(pa,&b);
cout<<"a="<}
9.输入a,b,c三个数,调用函数,得到其中最大数。
方法一:
简单变量作为函数形参(值传递)
#include
usingnamespacestd;
voidsort(int&a,int&b,int&c)
{intm;
if(b>a){m=a;a=b;b=m;}
if(c>a){m=a;a=c;c=m;}
if(c>b){m=c;c=b;b=m;}
}
intmain()
{inta,b,c,ma;
cout<<"Pleaseentera,b,c:
"<cin>>a>>b>>c;
sort(a,b,c);
cout<return0;
}
方法二:
指针作为函数形参(地址传递)
#include
usingnamespacestd;
intmax(int*x,int*y,int*z);//函数声明
intmain()
{inta,b,c;
cin>>a>>b>>c;
cout<<"max(a,b,c)="<