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\ } 答案: 1). 0 2). len++ 或 ++len 或 len=len+1 或 len=1+len 或 len+=1 第9题 (30.0分) 题号:634 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:随机产生10个范围在[0,99]之间,互不相同的正整数存入 数组t,并求出这10个数据的最小值和次小值。其中最小值 存入min1,次小值存入min2。程序中rand()函数功能是产 生一个随机正整数。 --------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。 -------------------------------------------------------*/ #include int n[100]={0},t[10]; int i=0,k; int min1=100, min2=100; srand(32767); while(i<10){ do{ k=rand()0; }while(n[k]); n[k]=1; /***********SPACE***********/ t[【?】]=k; } for(i=0;i<10;i++){ printf(\ if(t[i] /***********SPACE***********/ 【?】; min1=t[i]; } else if(t[i] } printf(\} 答案: 1). i++ 2). min2=min1 第10题 (30.0分) 题号:638 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:函数gcd()计算整型数组a中相邻两元素的最大公约数,最 小公倍数,其中最大公约数存入数组b中,最小公倍数存入 数组c中。 --------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。 -------------------------------------------------------*/ #include void gcd(int a[],int n,int b[],int c[]){ int i,x,y,z; /***********SPACE***********/ for(i=0;i<【?】;i++){ x=a[i]; y=a[i+1]; while(z=x%y){ x=y;y=z; } b[i]=y; /***********SPACE***********/ c[i]=a[i]*a[i+1]/【?】; } } int main(){ int a[5]={8,12,5,7,14}; int b[4],c[4]; int i; gcd(a,5,b,c);