填空题

[函数2.1说明]
求任意两个正整数的最大公约数的欧几里德算法。用辗转相除法求正整数m和n的最大公约数,并返回该公约数。
[函数2.1]
void func1(int m, int n)
r=m% n;
while(r<>0)
(1)
n=r;
(2)
return n;
[函数2.2说明]
判断101~200之间有多少个素数,并输出所有素数。用一个数分别去除2到sqrt (这个数),如果能被整除,则表明此数不是素数,反之是素数。
[函数2.2]
void func2 ( )
int m, i, k, h=0,leap=1;
printf ( "\n" );
for ( m=101;m<=200;m++ )
(3) ;
for (i=2;i<=k; i++ )
if( (4) )
leap=0;break;
if ( leap )
printf ( "%-4d",m );
(5) ;
if ( h%10==0 )
printf ( "\n" );

leap=1;
printf ( "\n The total is %d", h );

【参考答案】

(1)m=n (2)r=m%n (3)k=sqrt(m+1) (4)m%i=0 (5)h++
热门 试题

填空题
[函数8.1说明] 现考虑编写一个扑克游戏:只用一副无大小王的扑克,扑克的花色(suit)分为Spade、Heart、Diamond和Club,每门花色的牌共13张,面值(rank)分别为2、3、4、5、6、7、8、9、10、Jack、Queen、King和Ace,每张扑克牌应包含如下信息:惟一的ID号(1~52)、花色、面值、背面图案的编号等。每张扑克牌的操作有:判断两张扑克牌是相同花色吗相同面值吗,判断一张扑克牌是给定的花色吗是给定的面值吗请补充扑克牌类Card类的声明和实现代码,要求选取适当形式的数据成员描述每张扑克牌的信息,同时以成员函数的形式实现指定的操作。[C++程序]const enum SUIT SPADE=0,HEART,DIAMOND,CLUB;const enum RANKTWO=0 THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,JACK,QUEEN,KING,ACE;class Card。 public: (1) (int id):mID (id),mSuit((id 1) 13),mRank((id-1)%13) bool IsSameSuit (const Card& rhs) retum ((this ==&rhs) (2) )); bool IsSankRank (const Card& rhs) return ((this==&rhs)false: mRank==rhs. mRank); bool IsSuit (int suit) return (3) ; bool IsRank(int rank) return mRank==rank; private: static int nBackImg; 背面图案 const int mID; const int mSuit; const int mRank; ; [函数8.2说明] 输入一字符串,将其中所有的小写字母转换为大写字母,大写字母转换为小写字母,然后显示输出转换后的字符串。 [C++程序]#include<iostream. h>class vector int a; int b;public: vector (int x=0,int y=0):a(x),b(y) double operator*( (4) ) double c; (5) ; return c; void input (int x, int y) a=x; b=y; void output () cout<<’(’<<a<<’,’ <<b<< ) <<end1;;void main() vector x(10,20),y; 定义x, y, z三个矢量类对象,并将x置初值(10,20) doubled; 定义实数d以存放点乘结果 y. input (2,3); 给y赋值为(2,5) d=x*y; 两矢量点乘 x. output (); 输出矢量x y. output (); 输出矢量y cout<<d<<end1; 输出点乘结果