主观

阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【说明】

 将A,B,C,D,E,F这6个变量排成如图(a)所示的三角形,这6个变量分别取[1,6]中的整数,且均不相同。求使三角形三条边上的变量之和相等的全部解。图(b)就是一个解。

                  

  程序引入变量a,b,c,d,e,f,并让它们分别顺序取1~6的整数,在它们互不相同的条件下,测试由它们排列成的如图(a)所示的三角形三条边上的变量之和是否相等,如果相等即为一种符合要求的排列,就输出它们。

 【程序】

 void main()

 { int a, b, c, d, e, f;

  for(a=1;a<=6;a++)

   for(b=1;b<=6;b++) {

    if((1)) continue;

    for(c==1;c<=6;c++) {

     if((2))continue;

     for(d=1;d<=6;d++) {

      if((3)) continue;

      for(e=1;e<=6;e++) {

     if((4)) continue;

      f=21-(a+b+c+d+e);

     if((5)){

      printf("%6d",a);

      printf("%4d%4d",b,f);

      printf("%2d%4d%4d",c,d,e);

      scanf("%*c");           /*按回车键,继续找解*/

     }

    }

    }

   }

   }

  }

参考答案
您可能感兴趣的试题

阅读以下说明和C++程序,将应填入(N)处的字句写在对应栏内。

[函数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 RANK{TWO=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;    //输出点乘结果

}

阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

[说明]

 我国现行使用的公民身份证号码有两种,分别遵循两个国家标准:〖GB 11643-1989〗和〖GB 11643-1999〗。〖CB 11643-1989〗中规定的是15位身份证号码,排列顺序从左至右依次为:六位数字地址码,六位数字出生日期码,三位数字顺序码,其中出生日期码不包含世纪数。〖GB 11643 -1999〗中规定的是18位身份证号码,是特征组合码,它由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。其中,校验码C由本体码按如下过程求得:

 (1)计算校验码和S=a18W18+a17W17+…+a2W2,其中i表示18位身份证号,码每一位的序号,从右至左,最左侧为18,最右侧为1;ai表示身份证号码第i位上的号码;wi表示第i位上的权值,其值为2i-1模11的结果;

 (2)计算校验码值R,其值为校验和模11的结果;

 (3)根据下面对应关系找出校验码C:

由上述计算过程可以看出,18位身份证号码中可能包含非数字的字母X(代表数字10)。下面的应用程序基于这一算法实现了身份证号码的升位查询:

 

 在开发过程中,显示新旧两种身份证号码的文本框(TextBox)分别名为Text1和Text2,“号码升位”按钮(CommandButton)名为Command1。

 代码中使用到的字符串函数及功能说明如下:

 (1)Len(s):获取字符串s的长度;

 (2)Left(s,1):返回字符串s左端长度为1的子串;

 (3)Right(s,1):返回字符串s右端长度为1的子串;

 (4)Mid(s,p,1):返回字符串s从第P个字符开始长度为1的子串。

[Visual Basic代码]

’计算18位身份证号码

Private Sub Commandl_Click()

  Dim code As String

  Dim S As Integer

  code = Textl. Text    '提取15位身份证号码

  If Len(code) < > 15 Then

  MsgBox "ID 号码长度不正确,请检查!"

   (1) 

  End If

  code = Left(code, 6) + "19" + (2) (code, 9)  '年份升位

  S=0

  For i = 18 To 2 Step -1  '计算校验码和

   S = S + Clnf((3)) * (2 ^ (i - 1) Mod11)

  Next i

   (4)       '计算校验码值

  Select Case S        '确定校验码

  Case 0:   code = code + "1"

  Case 1:   code = code + "0"

  Case 2:   code = code + "X"

  Case Else:  code = code + CStr((5))

  End Select

  Text2. Text = code    '显示18位身份证号码

End Sub

¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服