一、选择题
1、下列关于算法复杂度叙述正确的是______。
A.最坏情况下的时间复杂度一定高于平均情况的时间复杂度
B.时间复杂度与所用的计算工具无关
C.对同一个问题,采用不同的算法,则它们的时间复杂度是相同的
D.时间复杂度与采用的算法描述语言有关
2、设有栈S和队列Q,初始状态均为空。首先依次将A,B,C,D,E,F入栈,然后从栈中退出3个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为______。
A.DEFXYZABC B.FEDZYXCBA C.FEDXYZCBA D.DEFZYXABC
3、下列叙述中正确的是______。
A.有两个指针域的链表称为二叉链表
B.循环链表是循环队列的链式存储结构
C.带链的栈有栈顶指针和栈底指针,因此又称为双重链表 ……此处隐藏29536个字……
(2)判断结束后指针指向下一个节点。
四、程序设计题
45、void fun(char *ss)
{
int i;
for(i=0;ss[i]!='\0';i++) /*将ss所指字符串中所有下标为奇数位置的字母转换为大写*/
{
if(i%2==1&&ss[i]>='a'&&ss[i]<='z')
ss[i]=ss[i]-32;
}
}
答案考生文件夹
[解析] 该题要求将给定字符串中奇数位置的字母转换为大写,需要先判断奇数位置以及此位置字符是否是小写字母,如果是再通过其转换方法进行转换。
从C语言的学习中知道,只要将小写字母减去32即转成大写字母,将大写字母加上32即转成小写字母。本程序用if语句实现转换功能。