文档详情

填空题上机填空题上机.doc

发布:2017-01-03约7.09万字共53页下载文档
文本预览下载声明
一、程序填空 第1题功能:用等分法在有序的循环数组中,找到最小元素的位置。 int cyclic_min(int x[], int n) { int left = 0; int right = n - 1; int mid; while (【?】) { mid = (left + right)/2; if (x[mid] x[right]) 【?】; else 【?】; } return left; } #include stdio.h void main(void) { int x[] = { 20, 23, 28, 35, 39, 40, 42, 8, 10, 15, 17, 19}; int n = sizeof(x)/sizeof(int); int loc, i; printf(\nFind Cyclic Minimum); printf(\n===================); printf(\n\nGiven Array Sorted in Cyclic Fashion :\n); for (i = 0; i n; i++) printf(%3d, x[i]); loc = cyclic_min(x, n); printf(\n\nMinimum is located at x[%d] = %d, loc, x[loc]); } 答案: 1). left right 或 rightleft 2). right = mid 3). left = mid + 1 或 left = 1+mid 第2题功能:用指向指针的指针的方法对n个字符串排序并输出。 #include string.h #define N 100 void sort(); main() { int i,n; char **p,*str[N],name[N][20]; printf(n=);scanf(%d,n); if(n2【?】nN) exit(0); for(i=0;in;i++)str[i]=name[i]; printf(Input %d strings:\n,n); for(i=0;in;i++) { printf(name[%d]=,i); scanf(%s,【?】); } printf(String arry:\n); for(i=0;in;i++) { p=str+i; printf(%s\n,*p); } p=str; sort(p,n); printf(String sort:\n); for(i=0;in;i++) { p=str+i; printf(%s\n,*p); } getch(); } void sort(char 【?】,int n) { int i,j; char *s; for(i=0;in-1;i++) for(j=i+1;jn;j++) if(strcmp(p[i],p[j])0) { s=p[i]; 【?】; p[j]=s; } } 答案: 1). || 2). str[i] 3). **p 4). p[i]=p[j] 第3题功能:编程求某年第n天的日期。用数组表示月天数。 main() { int y,m,f,n; int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; printf(y,n=); scanf(%d,%d,y,n); f=y%4==0y%100!=0【?】y%400==0; a[1]【?】f; if(n1||n365+f) {printf(error!\n);exit(0); } for(m=1;m【?】a[m-1];n-=a[m-1],m++); printf(y=%d,m=%d,d=%d\n,y,m,n); } 答案: 1). || 2). += 或 =a+ 3). 第4题功能:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。 #include conio.h #include stdio.h #include string.h void fun (char *s, char *t) { in
显示全部
相似文档