上海交大C++程序设计试题集(含答案)(2)

2019-03-28 20:51

s += n % 10; n /= 10; }

return s; }

void main()

{ printf(―sigmaDigit(12345) = %d\\n‖, sigmaDigit(12345)); }

3.2.

#include struct stu

{ int num; char name[15]; int age; }; void py(struct stu *p)

{ printf(―%s\\n‖, p->name); }

void main()

{ struct stu student[3] = {{1001, ―Sun‖, 25}, {1002, ―Ling‖, 23}, {1003, ―Shen‖, 22}}; py(student+2); }

3.3.

#include void main()

{ char str[ ] = ―ABCDEFG‖; int i;

for(i = 0; i < 7; i += 2) printf(―%s ‖, str + i); }

3.4.

#include void main()

{ int i, a[5];

for(i = 0; i < 5; i++) a[i] = 9 * (i + (i > 2 ? 4 : 0)) % 5; for(i = 4; i >= 0; i--) printf(―=‖, a[i]); }

3.5.

#include

void main()

{ char *a[6] = {―AB‖, ―CD‖, ―EF‖, ―GH‖, ―U‖, ―KL‖}; int i; for(i = 0; i < 4; i++) printf(―%s ‖, a[i]); }

6--34 注:解答写在答卷纸上,试卷中的解答不评分

3.5(2)

#include

char str[] = ―ABCDEFGHU KL‖; void main()

{ char *a[6] = {str, str+2, str+4, str+6, str+8, str+10}; int i; for(i = 0; i < 4; i++) printf(―%s ‖, a[i]); } 3.6

void fun(int a[], int n) {

int i = 0, j = n – 1, temp; while(i < j) { while(a[i] < 0) while(a[j] >= 0)

i ++;

j --;

if(i < j) {

temp = a[i]; a[i] = a[j]; a[j] = temp; } } } 3.7

#include #include

char *subStr(char *s1, char *s2, int pos, int len) { int i = 0; char *p = s2;

if(pos <= strlen(s1))

for(s1 += pos; *s1 && i < len; i++) *s2++ = *s1++; *s2 = '\\0'; return p; }

void main()

{

char *s1 = \ subStr(s1, s2, 2, 3); printf(\} 3.8

#include

int array(int *a, int n) { int x;

if(n == 1) return *a; x = array(a+1, n-1); return *a > x ? *a : x;

7--34 注:解答写在答卷纸上,试卷中的解答不评分

}

void main() { int a[] = {57, 73, 23, 67, 131, 79};

printf(\}

3.9

#include void postMsg(int msg); void main() {

int msg;

for(msg = 0; msg < 4; msg++)

postMsg(msg);

}

void postMsg(int msg) { static int x = 0, y = 0; }

}

switch(msg) { case 0: x ++;

case 1: y ++; break; case 3: x ++;

default: printf(\

3.10

struct intNode * reverse (struct intNode *h) { struct intNode *p, *v1, *v2; v2 = h; v1 = NULL; while (v2 != NULL) {

p = v2->next; v2->next = v1; v1 = v2; v2 = p; }

return v1; }

3.11

void rp(int *s, int k) {

int t;

if (k <= 0) return;

rp(s+1, k-2);

t = *(s+k-1); *(s+k-1) = *s; *s = t; }

3.12

void seleS(int a[], int n) { int i, j, t, k;

8--34 注:解答写在答卷纸上,试卷中的解答不评分

for(i = 0 ; i < n-1; i++) {

for(k = i , j = i+1; j < n; j++) if(a[k] > a[j]) k = j; if(k != i) {

t = a[i]; a[i] = a[k];a[k] = t; } } } 3.13

void pp(char *s, int k) { char c;

if (k <= 0) return;

pp(s+1, k-2); c = s[k-1]; s[k-1] = s[0]; s[0] = c; }

3.14

struct intNode { int val; struct intNode * next;}; void freeLink(struct intNode *h)

{ intNode *p;

while(h != NULL) { p = h; h = h->next; free(p); } }

3.15

void s(int a[], int n)

{ int i, j, t;

for(i = 1 ; i < n; i++) { t = a[i]; for(j = i-1; j >= 0 && a[j] > t; j--) a[j+1] = a[j]; a[j+1] = t; } }

3.16

#include int fs(char *s) {

}

if(*s) return 1+fs(s+1); return 0;

void main()

{ char s[]=\

9--34 注:解答写在答卷纸上,试卷中的解答不评分

}

printf(\

3.17

#include #include

void ostr(char *s1, char *s2) { int i,j,k, len = strlen(s1);

for(k = 0; s2[k]; k++) { for(j = 0 ; s1[j] && s2[k] > s1[j]; j++); }

void main()

{ char a[20]= \ ostr(a, b); printf(\

}

3.18

#include

int f(int a) { int b = 0; static int c = 3; b++; c++; return (a+b+c); }

void main() { int i; }

for(i = 0; i < 3; i++) f(i); printf(\

for(i = len; i >= j; i--) s1[i+1] = s1[i]; s1[j] = s2[k];len++;

}

3.19

#include void s(int b[ ], int k) { int i, j, t;

for(i = 1; i < k; i++) {

for(t = b[i], j = i-1; j >= 0 && t < b[j]; j--) b[j+1] = b[j]; b[j+1] = t; } }

void main()

{ int i, a[5] = {6, 12, 7, 11, 5}; s(a, 5);

for(i = 0; i < 5; i++) printf(\

10--34 注:解答写在答卷纸上,试卷中的解答不评分


上海交大C++程序设计试题集(含答案)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:环境监测报告样板

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: