1、 Llow = temp; returnlow; voidQSort (int*L,intlow,int high) if (low high) intpl = Partition (L,low,high); QSort (L,low,pl 1); QSort (L,pl + 1,high); intmain () intnarry100,addr100; intsum = 1,t; cout Input number: endl; cin t; while (t != -1) narrysum = t; addrsum - 1 = t; sum+; sum -= 1; QSort (narr
2、y,1,sum); for (int i = 1; i = sum;i+) cout narryi t cout endl; intk; cout Please input place you want: cin k; intaa = 1; intkk = 0; for (;) if (aa = k) break; if (narrykk != narrykk + 1) aa += 1; kk+; cout The NO. k number is: narrysum - kk endl; cout And it s place is: ; for (i = 0;i sum; if (addri
3、 = narrysum - kk) cout i t return0; 1、找错 Void test1() char string10; char* str1= 0123456789 strcpy(string, str1);/ 溢出,应该包括一个存放 0 的字符string11 Void test2() char string10, str110; for(I=0; I I+) str1i = a / I,i没有声明。 Void test3(char* str1) char string10; if(strlen(str1) =10)/ 改成 10,字符溢出,将strlen改为sizeof也
4、可以 strcpy(string, str1); 2. void g(int*); int main() int line10,i; int *p=line; /p是地址的地址 for (i=0;i i+) *p=i; g( /数组对应的值加1 for(i=0; printf( %dn ,linei); return 0; void g(int*p) (*p)+; (*p)+;/ 无效 输出: 1 2 3 4 5 6 7 8 9 10 3. 写出程序运行结果 int sum(int a) auto int c=0; static int b=3; c+=1; b+=2; return(a+b+
5、c); void main() int I; int a=2;I I+) printf( %d, , sum(a); / static会保存上次结果,记住这一点,剩下的自己写8,10,12,14,16, 4. int func(int a) int b; switch(a) case 1: 30; case 2: 20; case 3: 16; default: 0 return b; 则func(1)=? / b定义后就没有赋值。 5: int a3; a0=0; a1=1; a2=2; int *p, *q; p=a; q= a2; 则aq-p=a2 解释:指针一次移动一个int但计数为1 今天早上的题9道,比较难,向牛人请教,国内的一牛公司,坐落在北京北四环某大厦:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1