阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。
[函数2.1说明]
下面程序的功能是:将由键盘输入的某个十进制数转换成对应的R进制数并输出。这里R是 2到16的整数,由键盘输入。例如,输入n=128,base=13后的输出为9B。
[函数2.1]
include <stdio.h>
main()
{ char b[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int c[64],n,i=0,base;
printf("Enter a number:");scaaf("%d",&n);
printf("Enter new base:");scanf("%d",&base);
do{c[i]=(1);
i++;
n=n/base;
}while((2));
printf("Transmit new base:");
for(- -i;i>=0;- -i)printf("%c",(3));
}
[函数2.2说明]
所谓回文字符中是指正序和逆序拼写相同的字符串,例如astrtsa,adgdtdgda等。下面函数int fun(char *str)的功能是判断字符串str是否是回文,当字符串是回文时,函数返回1,否则返回0。
[函数2.2]
int fun(char *str)
{ int i,j,l;
for(i=0;str[i]! ='\0';i++);
l=i/2;
for(j=0,i- -;j<=1;(4))
if((5)) return 0;
return 1;
}
第1题
阅读下列说明、流程图和算法,将应填入(n)处的字句写在对应栏内。
【流程图说明】
下图所示的流程图5.3用N-S盒图形式描述了数组Array中的元素被划分的过程。其划分方法;以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于Array[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。
【算法说明】
将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int Array[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组Ar ray中的下标。递归函数void sort(int Array[],int L,int H)的功能是实现数组Array中元素的递增排序。
【算法】
void sort(int Array[],int L,int H){
if (L<H) {
k=p(Array,L,H);/*p()返回基准数在数组Array中的下标*/
sort((4));/*小于基准数的元素排序*/
sort((5));/*大于基准数的元素排序*/
}
}
第2题
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
【说明】
编写程序,利用带参数的主函数main(),实现二进制文件的复制。比如,若该程序已生成可执行文件filebin.exe,在DOS操作系统命令状态下键入如下命令行:
filebin f0.fil f1.fil
则实现将已存在的二进制文件f1.fil依原样复制给名为f0.fil的二进制文件。
【函数】
include<stdio.h>
void fcopy(FILE *fout, FILE *fin)
{
char k;
do{
k=fgetc((1));
if(feof(fin))
break;
fputc((2));
}while(1);
}
void main(int argc,char *argv[])
{
FILE *fin,*fout;
if(argc!=(3))
return;
if((fin=fopen(argv[2],"rb"))==NULL)
return;
fout=(4);
fcopy((5));
fclose(fin);
fclose(fout);
}
第3题
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
【函数1说明】
函数palindrome(char s[])的功能是:判断字符串s是否为回文字符串。若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,则可称该字符串是回文字符串。例如,“LEVEL”是回文字符串,而“LEVAL”不是。
【函数1】
int palindrome(char s[]{
char *pi, *pj;
pi=s; pj=s+strlen(s)-1;
while(pi<pj&&(1)){
pi++; pj--;
}
if((2))return-1;
else return 0;
}
【函数2说明】
函数f(char *str, char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。
例如,若str的值为“33123333435”,del的值为“3”,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。
【函数2】
void f(char *str, char del){
int i,j, len;
len=strlen(str);
i=0;
while(i<len){
While((3)) i++; /*忽略连续的标志字符*/
/*寻找从str[i]开始直到标志字符出现的一个子字符串*/
j=i+1;
while(str[j]!=del && str[j]!='\0')j++;
(4)='\0'; /*给找到的字符序列置字符串结束标志*/
printf("%s\t",&str[i]);
(5);
}
}
第4题
阅读以下说明和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; //输出点乘结果
}
第5题
采用IE浏览器访问清华大学校园网主页时,正确的地址格式为()。
A.Smtp://www.tsinghua.edu.cn
B.http://www.tsinghua.edu.cn
C.Smtp:\\www.tsinghua.edu.cn
D.http\\www.tsinghua.edu.cn
第6题
不需要CPU控制数据的传输过程。
A.中断
B.程序查询
C.DMA
D.无条件传送
第7题
在Excel中,设单元格F1的值为38,若在单元格F2中输入公式“=IF(AND(38)
A.输入正确
B.输入错误
C.TRUE
D.FALSE
第8题
阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。
【说明】对于大于1的正整数n,(x+1)n可展开为下面流程图的作用是计算(x+1)n展开后的各项系数(i=0,1,....,n)并依次存放在数组A[0...n]中。方法是依次计算k=2,3,..,n时(x+1)k的展开系数并存入数组A,在此过程中,对任一确定的k,利用关系式,按照i递减的顺序逐步计算并将结果存储在数组A中。其中,和都为1,因此可直接设置A[0]、A[k]的值为1。 例如,计算(x+1)3的过程如下:先计算(x+1)2(即k=2)的各项系数,然后计算(x+1)3(即k=3)的各项系数。K=2时,需要计算,和,并存入A[0],A[1]和A[2],其中A[0]和A[1]的值已有,因此将(即A[1])和即(A[0])相加得到的值并存入A[1]。k=3时,需要计算,和和,先计算出(由)得到并存入A[2],再计算(由得到)并存入A[1]。
第9题
White box testing is the responsibility of the( )
A.user
B.project manager
C.programmer
D.system test engineer
第10题
。
A.logic
B.sequential
C.selection
D.loop
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!