问答题

【说明】
①定义类Table的私有数据成员x和y,分别用于表示九九表中的两个乘数(x*y),它们都是int型的数据。
②完成类Table的成员函数print()的定义,该函数以“x*y=z”的格式打印出九九表中的一个乘法算式,请使用格式化输出函数printf实现。
③完成类Table9的成员函数print()的定义,该函数调用基类Table的print()函数,将九九表输出到屏幕。
④补充主函数,在屏幕上输出九九表,以便测试所定义的类的正确性。
源程序文件test8_3.cpp清单如下:
#include <iostream, h >
#include < stdio, h >
class Table
(1)
int z;
public:
void print (int x,int y,int z);

void Table::print (int x,int y,int z)
(2)
Class Table9:public Table
public:
void print();

void Table9::print()
(3)
int x,y,z;
for(i=1;i<10;i++)
for(j=1;j<i+1;j++)

x=i;
y=j;
z=i*j;
Table::print(y,x,z);

printf("\n");

main()
//* *4* *
return 0;

【参考答案】

(1)int x;
int y;
(2)printf("%d*%d=%d",x,y,z);
......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)
热门 试题

问答题
【说明】 “背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1;w2,……,wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。 如下程序均能求得“背包问题”的一组解,其中程序4.1是“背包问题”的递归解法,而程序4.2是“背包问题”的非递归解法。 【程序4.1】 #include<stdio.h> #define N 7 #define S 15 int w[N+1]=0,1,4,3,4,5,2,7; int knap(int s,int n) if(s==0)return 1; if(s<0||(s>0& &n<1))return 0; if( (1) ))| printf( %4d ,w[n]);return 1; return (2) ; main() if(knap(S,N))printf( OK! n ); else printf( NO! n ); 【程序4.2】 #include<stdio.h> #define N 7 #define S 15 typedef struct int s; int n: int job; KNAPTP; int w[N+1]=0,1,4,3,4,5,2,7; int knap(int s,int n); main() if(knap(S,N))printf( OK! n ); else printf( NO! n ); int knap(int s,int n) KNAPTP stack[100],x; int top,k,rep; x.s=s;x.n=n; x.job=0; top=|;Stack[top]=x; k=0; while( (3) ) x=Stack[top]; rep=1; while(!k && rep) if(x.s==0)k=1; *已求得一组解* else if(x.s<0||x.n <=0)rep=0; elsex.s= (4) ;x.job=1; (5) =x; if(!k) rep=1; while(top>=1&&rep) x=stack[top--]; if(x.job==1) x.s+=W[x.n+1]; x.job=2; Stack[++top]=x; (6) ; if(k) *输出一组解* while(top>=1) x=staCk[top--]; if(x.job==1) printf( %d t ,w[x.n+1]); return k;