main() {
int xx[N]; int yy[N];
int num=0,n=0,i=0;
printf(\ do {
scanf(\ }while(xx[num++]!=0); n=fun(xx,yy,num); printf(\ for(i=0;i printf(\} 答案: 1). xx[i] 2). bb[n++]=xx[i] 第5题 (30.0分) 题号:633 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:对只包含'-'和字母字符的字符串str进行如下处理: 删除str中前导和尾部连续的'-'字符,保留串中字母字符以 及字母间的'-'字符。 例如,str中初始字符串为\。 处理后,str中的字符串为\。 程序中isalpha函数功能是判断参数是否是字母,是字母, 函数值为真,否则函数值为假。 --------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。 -------------------------------------------------------*/ #include char str[]={\ int i,start,end; i=0; while(str[i++]=='-') ; start=i-1; /***********SPACE***********/ while(str[i] != 【?】){ if(isalpha(str[i])) end=-1; else if(isalpha(str[i-1])) end=i-1; i++; } str[end+1]='\\0'; for(i=start;i<=end+1;i++) /***********SPACE***********/ str[i-【?】] = str[i]; printf(\} 答案: 1). 0 或 '\\0' 2). start 第6题 (30.0分) 题号:635 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:1、第一个for循环中给a数组10个元素依次赋字符 'A'、'B'、'C'、'D'、'E'、'V'、'W'、'X'、'Y'、'Z'。 2、第二个for循环中使a数组10个元素的值对称折叠,变成 'A'、'B'、'C'、'D'、'E'、'E'、'D'、'C'、'B'、'A'。 3、第三个for循环输出的字符依次是 'A'、'B'、'C'、'D'、'E'、'A'、'B'、'C'、'D'、'E'。 --------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。 -------------------------------------------------------*/ #include for(i=0;i<10;i++) if(i<5) a[i]=i+65; /***********SPACE***********/ else a[i]=【?】; for(i=0; i<5; i++) a[9-i]=a[i]; for(i=0;i<10;i++) /***********SPACE***********/ printf(\【?】]); printf(\} 答案: 1). i+81 或 81+i 或 i+'Q' 或 'Q'+i 或 'V'+i-5 或 'V'-5+i 或 i-5+'V' 或 i+'V'-5 2). ? i:i-5 或 ? i:14-i 第7题 (30.0分) 题号:636 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:将输入的一个十进制正整数转换为十六进制字符形式并显示。 --------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。 -------------------------------------------------------*/ #include char dex[17]={\ int c[8],i,base=16; int n; printf(\输入十进制正整数 \ scanf(\ i=0; do{ /***********SPACE***********/ c[i++]=【?】; n=n/base; }while(n); printf(\对应的十六进制数 \ for(--i;i>=0;i--) /***********SPACE***********/ printf(\【?】]); printf(\} 答案: 1). nose 或 n % 16 或 n & (base-1) 或 n & 15 或 n & 0xf 或 n & 0x0f 2). c[i] 第8题 (30.0分) 题号:637 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:统计字符串str中单词的数量、最长单词的字母数、最短单 词字母数。单词之间至少有一个空格。假设str中最长单词 不超过20个字母。程序中isalpha函数功能是判断参数是否 是字母字符,如果是字母字符,函数返回真,否则函数返 回假。 --------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。 -------------------------------------------------------*/ #include int numofword,maxlen,minlen; char str[1000]=\They also have various personalities.\/***********SPACE***********/ numofword=【?】; maxlen=0; minlen=20; for(i=0;str[i];i++){ if(!(isalpha(str[i])) && isalpha(str[i-1])){ maxlen=len>maxlen? len: maxlen; minlen=len else if(isalpha(str[i])) /***********SPACE***********/ 【?】; } printf(\单词数=%d,最长单词字母数=%d,最短单词字母数=%d\\n\