题目详情
当前位置:首页 > 计算机考试 > 中级软件设计师
题目详情:
发布时间:2024-02-02 18:31:19

[填空题]阅读以下说明和C代码,将应填入 (n) 处的字句写在对应栏内。
[说明]
函数combine(a,b,c)是计算两个整数的组合数。由于计算结果可能超出10ng整型的可表示范围,故采用数组方式存储,例如:k位长整数m用数组c[]存储结构如下:m=c[k]×10k-1+c[k-1]×10k-2+…+c[2]×10+c[1],利用c[0]存储长整数m的位数,即c[0]=k。数组的每个元素只存储长整数m的一位数字,长整数运算时,产生的中间结果的某位数字可能会大于9,这是就应该调用format将其归整,使数组中的每个元素始终只存储长整数的一位数字。
整数a和b(a>b)的组合数为:[*],其中u1=a,u2]=a-1,…,ub=a-b+1,d1=1,d2=2,…,db=b。为了计算上述分式,先从u1,u2,…,ub中去掉d1×d2×…×db的因子,得到新的u1,u2,…,ub,然后再将它们相乘。
[函数]
#define NAXN 100
int gcd(int a,int b)//求两个整数a和b的最大公因子

if(a<b)
intC=a;a=b;b=c;

for(inti=b;i>=2;i--)
if( (1) )return i;

return 1;
void format(int *a)//将长整数数组归整

int i;
for(i=1;i<a[0]||a[i]>=10;i++)
if(i>=a[0]) (2)
a[i+1]+=a[i]/10;
a[i]=a[i]%10;


更多"阅读以下说明和C代码,将应填入 (n) 处的字句写在对应栏内。 ["的相关试题:

[填空题]阅读以下说明和C代码,将应填入 (n) 处的字句写在对应栏内。
[说明]
函数combine(a,b,c)是计算两个整数的组合数。由于计算结果可能超出10ng整型的可表示范围,故采用数组方式存储,例如:k位长整数m用数组c[]存储结构如下:m=c[k]×10k-1+c[k-1]×10k-2+…+c[2]×10+c[1],利用c[0]存储长整数m的位数,即c[0]=k。数组的每个元素只存储长整数m的一位数字,长整数运算时,产生的中间结果的某位数字可能会大于9,这是就应该调用format将其归整,使数组中的每个元素始终只存储长整数的一位数字。
整数a和b(a>b)的组合数为:[*],其中u1=a,u2]=a-1,…,ub=a-b+1,d1=1,d2=2,…,db=b。为了计算上述分式,先从u1,u2,…,ub中去掉d1×d2×…×db的因子,得到新的u1,u2,…,ub,然后再将它们相乘。
[函数]
#define NAXN 100
int gcd(int a,int b)//求两个整数a和b的最大公因子

if(a<b)
intC=a;a=b;b=c;

for(inti=b;i>=2;i--)
if( (1) )return i;

return 1;
void format(int *a)//将长整数数组归整

int i;
for(i=1;i<a[0]||a[i]>=10;i++)
if(i>=a[0]) (2)
a[i+1]+=a[i]/10;
a[i]=a[i]%10;


[填空题]

阅读以下说明和C代码,将应填入 (n) 处的字句写在对应栏内。
[说明]
下面程序用来将打乱的单词还原为原来的次序,比如将rty还原为try。单词的原来次序存储于wordlist.txt文件中,原则上可用穷举法(rty对应的穷举为:rty、ryt、try、tyr、ytr、yrt),但考虑到破译速度,采用如下方法。
注意到单词列表中不存在组成字符完全相同的单词(如Hack12与Hack21包含完全相同的字符),因此将单词中的字符进行重组再进行比较,例如,try单词重组为rty(按ASCⅡ码顺序),这样不管打乱的单词是什么顺序,只要是由r、t、y三个字母组成的均破译为try,大大提高破译速度。程序中借助二叉排序树以进一步提高查找效率,二叉排序树左子树(如果有)上的节点对应的值均小于根节点的值,右子树(如果有)上的节点对应的值均大于根节点的值。
函数中使用的符号定义如下:
#define NumberofWords 1275//单词总数
#define MaxLength 10//最长单词所含字符数
char WordList[NumberofWords][MaxLength];//存储单词列表
int cmp(Node *q,Node *p);//q与p比较。p小,返回负值;P大返回正值:相等,返回0
typedef struct Node(//二叉树节点
char *eleLetters;//重组后的字符串
int index;//对应单词表中的下标
struct Node *lChiId,*rChiid;//左右子节点
Node;
[C代码]
void reCompose(Node *p,char *temp)
//重纰,亦即将temp字符串中的字符升序排序,存储于p节点中
//采用直接插入排序法

char c;
strcpy(p->eleLetters,temp);//
int len=strlen(tem

[填空题]阅读以下说明和Jrdva代码,将应填入 (n) 处的字句写在对应栏内。
[说明]
在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了Decorator(修饰)模式。SalesOrder对象使用一个SalesTicket对象打印销售票据。图6-1显示了各个类间的关系。以下是Java语言实现,能够正确编译通过。
[图6-1]
[*]
[Java代码]
//Component.java文件
public (1) class Component
abstract publ ic void prtTicket( );

//salesTicket.java文件
public class SalesTicket extends Component
public void prtTicket( )
//Sales ticket printing code here
System.out.printin("SalesTicket");


//Decorator.java文件
publ ic abstract class Decorator extends Component
public void prtTicket( )
if(myComp!=null)myComp.prtTicket( );

private (2) myComp;
public Decorator(Component myC)
myComp=myC;


//Footer.java文件
public class Footer extends Decorator
public Footer(Component myC)
(3)

public void prtTicket( )
(4)
[简答题]
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。
【说明】
Java语言允许用户在需要时创建自己的异常类型,用于表达JDK中未涉及到的其他异常状况,这些异常必须继承Throwable类或其子类。用户自定义异常类通常属于Exception范畴,依据命名惯例,应以Exception结尾。用户自定义异常未被加入JRE(Java运行时环境)的控制逻辑中,因此永远不会自动抛出,只能由人工创建并抛出。
【Java程序】
class MyException (1) Exception{
private String id;
public MyException(String message,String id){
(2) ;//调用父类的构造函数
this. id=id;
}
Public String getId( ){
return id;
}
}
public class Test{
public void testException( )throws MyException{
throw (3) (“抛出自定义异常”,“123”);
}
public void catchException( ){
tly{
testException( );
} (4) (MyException e){
System.out.print(“捕获了如下异常:”);
e.printStackTrace( );
}
}
public void static main(String args[]){
Test t=new Test( );
t.catchException( );
}
}
程序输出如下(补

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
  • 支付完成
  • 取消支付
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码