c++模拟
- 格式:doc
- 大小:40.50 KB
- 文档页数:5
程序设计1 /*
[题目]定义一个类prime,用于求在一个指定的范围内素数的个数。
例如:在[100,200]范围内的素数有21个
(1)私有数据成员
int low:存放给定整数范围的下限
int up:存放给定整数范围的上限
int count:存放满足条件的整数的个数
(2)公有成员函数
prime(int a,int b)构造函数,用参数a,b初始化下限low和上限up,count的初值为0;
void process():在[low,up]范围中找出素数的个数,并把值赋给count;
void print():输出素数的个数。
*/
#include
#include
class prime{
int low;
int up;
int count;
public:
prime(int a,int b)
{low=a;up=b;count=0;}
void process()
{
/********** Begin **********/
/********** End ***********/
}
void print()
{
cout<<'['<
ofstream outf("bc02.in");
outf<<'['<
}
};
void main()
{
prime p(100,200);
p.process();
p.print();
}
【参考代码】
for(int i=low;i<=up;i++)
{
for(int j=2;jif(i%j==0)break;
if(j==i) count++;
}
===============
程序填空1/*
输出10-1000所范围内有的回文数。
提示:回文数的各位数字正序和倒序一样。如:11,323,989,都是回文数。
具体要求如下:
(1)函数 int process(int n); 判断一个数是不是回文数,如果是,返回1,否则返回0;
(2)主函数 调用函数找出11-1000中的回文数并输出,每行输出5个。
*/
#include
int process(int n)
{
int r,t=0,m;
m=n;
/**********FILL**********/
do{
r=m%10/
**********FILL**********/
t=t*10+r;
m=m/10;
}while(m!=0);
if(t==n)
return 1;
else return 0;
}
void main()
{
int i,count;
count=0;
/**********FILL**********/
for(i=10;i<=1000;i++)
if(process(i)==1)
if(process(i))
if(process(i)!=0)
/**********FILL**********/
{
cout<count++;
if(count%5==0)
cout<<'\n';
}
}
【空 1 】 错误
【学生答案】
do{
【参考答案】
m=n;
============================================================
【空 2 】 错误
【学生答案】
t=t*10+r;
【参考答案】
; r=m%10
============================================================
【空 3 】 错误
【学生答案】
for(i=10;i<=1000;i++)
【参考答案】
count=0;
============================================================
【空 4 】 错误
【学生答案】
{
【参考答案】
if(process(i)==1)
if(process(i))
if(process(i)!=0)
程序填空2
/*将两个一维数组中前n个对应元素相加。
具体要求如下:
(1)设计函数:
void add(int a[], int b[],int n);
将数组b的前n个元素加到数组a的相应的前n个元素上。
void print(int a[],int n);
输出a数组中的元素。
(2)在主程序进行测试。
在主函数中定义两个一维数组
int a[10]:存储数组值,其初值为{1,2,3,4,5,6,7,8,9,10}。
int b[10]: 存储数组值,其初值为{-1,-2,-3,-4,-5,-6,-7,-8,-9,-10}。
调用add函数,将b数组的前8个元素加到数组a的前8个元素上,输出数组a中的元素
运行结果为:
0 0 0 0 0 0 0 0 9 10
*/
#include
void add(int a[], int b[],int n)
{
for(int i=0;i
}
void print(int a[],int n)
{
for(int i=0;i
cout<<'\n';
}
void main()
{
/**********FILL**********/
int b[10]={-1,-2,-3,-4,-5,-6,-7,-8,-9,-10};
/**********FILL**********/
print(a,10);
}
【空 1 】 错误
【学生答案】
}
【参考答案】
a[i]=a[i]+b[i];
============================================================ ============================================================ 【参考答案】 ============================================================ 【参考答案】 ============================================================
【空 2 】 错误
【学生答案】
cout<<'\n';
【参考答案】
cout<
【空 3 】 错误
【学生答案】
intb[10]={-1,-2,-3,-4,-5,-6,-7,-8,-9,-10};
int a[10]={1,2,3,4,5,6,7,8,9,10};
【空 4 】 错误
【学生答案】
print(a,10);
add(a,b,8);