当前位置:文档之家› C语言程序填空题-20分

C语言程序填空题-20分

二、程序填空题(每空2分,共20分)
1.下列程序是求100之内的能被7整除的自然数之和。

请在横线处填入适当的语句,将程序补充完整。

#include <iostream.h>
void main( )
{
int sum;
_(1) _;
for(int i=1;__(2) _; i++)
if(_(3) _)
sum+=i;
cout<<sum<<endl;
}
答案:_sum=0_ i<=100_ i%7==0__
2 下面程序的功能是计算x n。

请在横线处填入适当的语句,将程序补充完整。

#include <iostream.h>
void main( )
{
int n,x;
cin>>x>>n;
double y=1;
for(int i=1;__(1) _; i++)
_(2) _;
cout<<y<<endl;
}
答案:i<n_ y=x*i
3 下面程序是输出100内能被3整除且个位数是6的所有整数。

请在横线处填入适当的语句,将程序补充完整。

#include <iostream.h>
void main()
{
int i,j;
for(i=0; (1) ;i++)
{
j=i*10+6;
if( (2) )
continue;
else
cout<<j<<endl;
}
}
答案:i<10 j%3!=0
4.下面程序运行后输出的结果为:
*
* * *
* * * * *
* * * * * * *
请在横线处填入适当的语句,将程序补充完整。

#include <iostream.h>
#include<iomanip.h>
void main()
{
int i,j,k ;
for(i=1 ;i<=4 ;i++)
{
for(j=1;j<20-3*i; (1) ) cout<<”“;
for(k=1; (2) ; k++)
cout<<setw(3)<<”*”;
(3) ;
} }
答案:j++ k<2*i-1 cout<<endl
5.下面程序运行后输出的结果为:
1
121
12321
1234321
请在横线处填入适当的语句,将程序补充完整。

#include <iostream.h>
#include<iomanip.h>
void main()
{
int i,j,k ;
for(i=1 ;i<=4 ;i++)
{
for(j=1;j<20-3*i;j++)
cout<<”“;
for(k=1; (1) ; k++)
cout<<setw(3)<<k;
for( (2); k>0; k--)
cout<<setw(3)<<k;
cout<<endl;
} }
答案:k<=i k=i-1
6.以下程序将数组中的元素按逆序存放。

请在横线处填上适当的语句,将程序补充完整。

#include<iostream.h>
void main()
{
int a[12],i,j,t;
for(i=0;i<12;i++)
cin>>a[i];
for(i=0;i<6;i++)
{ (1) ; (2) ; (3) ; }//数组元素交换for(i=0;i<12;i++)
cout<<a[i]; }
答案:t=a[i] a[i]=a[11-i] a[11-i]=t
7.下面程序功能是从键盘上输入10个整数,求出最大值、最小值和和。

请在横线处填上适当的语句,将程序补充完整。

#include<iostream.h>
void main()
{
int a[10],i,min,max ;
for(i=0 ;i<10 ;i++)
cin>>a[i];
int sum=0;
(1) ;
for(i=1;i<10;i++)
if((2) ) min=a[i];
if((3) ) max=a[i];
(4) ;
}
cout<< min<<max<<sum<<endl;
答案:min=max=a[0] a[i]<min a[i]>max sum+=a[i]
8.下面程序功能是将整型数组a中的10个元素用2种方法依次输出。

请在横线处填上适当的语句,将程序补充完整。

#include<iostream.h>
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},i ;
int *p ;
for(i=0 ;i<10 ;i++)
cout<<_______(1)______________; //使用数组下标
for( (2);p<a+10 ;p++)
cout<< (3); //使用指针变量
}
答案:a[i] p=a *p
9. 以下程序的功能是输出:
abc
bc
c
请在有下划线处补充完整程序。

#include <iostream.h>
void main()
{
char *p=”abc”;
for(; *p!='\0'; (1) )
cout<< (2) <<endl;
}
答案:p++ p
10. 编写程序求1+2+3+。

+a和,请在有下划线处补充完整。

#include <iostream.h>
void main()
{
int a,b;
int sum(int n);
cout<<"请输入a:"<<endl;
cin>>a;
(1) ; //计算1到a的累加和
cout<<b<<endl;
}
int sum(int n)
{
int i,k=0;
for(i=1;i<=n;i++)
(2); ;
(3);
}
答案:b=sum(a) k+=i(或k=k+i) return k
11.编写程序求1!+2!+3!+4!+5!和,(其中求阶乘是用函数来实现的),请在有下划线处补充完整。

#include<iostream.h>
________(1)______ ____;
void main( )
{ long s=0;
for(int i=1;i<=5;i++)
____(2)___ _______;
cout<<"1!+2!+3!+4!+5!= "<<s<<endl;
}
long int fac(int x)
{ static int b=1;
b*=x;
______(3)__________________;
}
答案:long int fac(int x)或long int fac(int )
s+=fac(i)或s=s+fac(i)
return b
12.编写程序是用递归算法求n!, 请在有下划线处补充完整。

#include<iostream.h>
int f1(int a);
void main()
{
int a=6;
cout<< (1) <<endl;
}
int f1(int a)
{
return(a==O)?1:(2);
}
答案:fl(a) a*f1(a-1)
13.在横线处填上适当语句,使程序输出结果为1。

#include<iostream.h>
class M
{
public:
M(int i){x=i;}
void show(){cout<<get();}
private:
int x;
int get(){return x;}
};
void main()
{
(1) ; //初始化类M的对象a
(2) ; //调用对象a的成员函数}
答案:
M a(1)
a.show()。

相关主题