for(i=0;i<5;i++)
printf(\ printf(\ for(i=0;i<4;i++)
printf(\ printf(\ for(i=0;i<4;i++)
printf(\ printf(\ getch(); return 0; } 答案:
1). n-1 或 =n-2 2). b[i] 或 y
第11题 (30.0分) 题号:639
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
题目:函数reverse()对字符串str进行逆序。
--------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。
-------------------------------------------------------*/
#include
void reverse(char str[]){ int len, j; char c;
/***********SPACE***********/ len = 【?】(str);
/***********SPACE***********/ for (j=len-1; 【?】; j--){ c=str[j];
str[j]=str[len-1-j]; str[len-1-j]=c; } }
int main(){ char a[80];
printf(\ gets(a);
reverse(a);
printf(\ puts(a); getch(); return 0; } 答案: 1). strlen
2). j>=len/2 或 j>=len>>1 或 j>=(len>>1)
第12题 (30.0分) 题号:640
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
题目:对主函数main()中数组a进行处理:如果相邻元素相同则保留 一个。例如对数组a处理后,它的前11个元素为 {-5,7,-4,25,0,2,4,16,8,5,20}。
--------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。
-------------------------------------------------------*/
#include
int main(){
int a[20]={-5,-5,7,-4,-4,25,25,0,0,0,2,4,16,16,8,5,5,5,5,20}; int i,prev,next; prev=0; next=1;
while(next<20){
/***********SPACE***********/ if(a[prev]!=【?】) a[++prev]=a[next]; next++; }
/***********SPACE***********/
for(i=0;i【?】prev;i++) printf(\ printf(\ getch(); return 0; } 答案:
1). a[next] 2). <=
第13题 (30.0分) 题号:641
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
题目:程序输出由0~3四个数字组成的符合下列条件的4位整数: 1. 每个4位整数中,0~3四个数字只能出现一次; 2. 百位数不能为3,十位数不能为2。
3.本题答案正确可能无法评到分,如对请与老师联系。
--------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。
-------------------------------------------------------*/
#include
int main(){ int g,s,b,q; int num=0; for(b=0;b<4;b++){ if(b==3) continue; for(s=0;s<4;s++){
if((b==s)||(s==2)) continue; /***********SPACE***********/ for(q=【?】;q<4;q++){ if((q==b)||(q==s)) continue; /***********SPACE***********/ g=【?】-q-b-s;
printf(\num++; } }
}
printf(\getch(); return 0; } 答案: 1). 1
2). 6 或 1+2+3
第14题 (30.0分) 题号:642
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
题目:在一维数组a中找出最大,最小元素,并将最大元素和数组 最后一个元素交换,最小元素和数组首元素交换。
--------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。
-------------------------------------------------------*/
#include
int main(){
int a[10]={15,8,12,6,10,1,4,5,9,-3}; int i,t,max_index,min_index; max_index=min_index=0; for(i=1;i<10;i++){ if(a[i]>a[max_index]) max_index=i; if(a[i]
t=a[0];a[0]=a[min_index];a[min_index]=t; /***********SPACE***********/ if(max_index==【?】){
t=a[min_index];a[min_index]=a[9];a[9]=t; } else{
/***********SPACE***********/ 【?】; }
for(i=0;i<10;i++) printf(\ printf(\ getch(); return 0; } 答案: 1). 0
2). t=a[max_index];a[max_index]=a[9];a[9]=t 或 t=a[9];a[9]=a[max_index];a[max_index]=t;
第15题 (30.0分) 题号:643
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
题目:下面的程序首先随机产生20个大于或等于900且小于1000的 素数,然后将这些素数保存在数组array中,并将这些素数 在屏幕上以每行打印5个的格式输出,请将程序补充完整。
--------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容 且不能使用C语言的库函数。
-------------------------------------------------------*/
#include
/*函数isPrime(int m)用于判断整数m是否为素数*/ int isPrime(int m) {
int flag=0; int i=2,k; k=(int)sqrt(m);
/***********SPACE***********/ while (i<=k && 【?】) i++; if(i>k) flag=1; return flag; }
void main() {