程序设计上机实验课后答案(4)

2019-03-16 10:18

printf(\ //输入提示

while((c=getchar())!='\\n'&&i<99&&j<99) //输入字符串,遇回车符结束 { if(c>=48&&c<=57) //对是否为~9的数字进行判断 str1[i++]=c; //输入的是数字,则存放入str1中

else if(c>=65&&c<=90||c>=97&&c<=122) //对是否为英文字母进行判断 str2[j++]=c; //输入的是字母,则存放入str2中 else ; //既不是数字,又不是字母,忽略 }

str1[i]='\\0'; //加字符串结束标志// str2[j]='\\0';

printf(\ //打印结果 printf(\}

第6章 指针

一、选择题 1 B 16 B 31 C 46 C 61 A 2 B 17 C 32 A 47 C 62 D 3 D 18 C 33 B 48 D 63 A 4 C 19 B 34 A 49 A 64 B 5 D 20 B 35 B 50 C 65 C 6 A 21 A 36 D 51 D 66 D 7 B 22 C 37 D 52 B 67 A 8 B 23 D 38 C 53 D 68 A 9 A 24 D 39 C 54 A 10 B 25 D 40 A 55 C 11 B 26 C 41 B 56 D 12 C 27 D 42 A 57 C 13 A 28 C 43 B 58 A 14 A 29 C 44 C 59 B 15 A 30 A 45 A 60 D 二、填空题 1. 0

2. p是指向整形数据的指针变量;q是指针数组,它由10个指向整形数据的指针元素组成;r是指向函数的指

针,该函数返回一个整数值;s是返回一个指针的函数,该指针指向整形数据 3. 4. 5. 6. 7. 8.

4、12 8、8 12、12 3

*(p+6) 456789 9. hELLO 10. ef

11. ① return 0 ② *p1-*p2 12. 110 13. 71

14. p=(double *)malloc(sizeof(double)) 15. br[i]

16. ① str+strlen(str)-1 ② i>strlen(str)/2 ③ huiwen(str) 17. *t

18. *pmax=*px

16

19. 10 20. 40 21. efgh 22. 3

23. 7777654321

三、程序分析题 1. 3 2. 19

3. 1,2,3,4,5,6,7,8,9,0, 4. 8,7,6,5,4,3,2,1 5. 5678901234 6. 2,3,4,5,6 7. 25

8. 6,2,3,4,5, 9. 0 10. z 11. 6789 12. 6 13. 3,4 14. AGAAGAG 15. ABCD

BCD CD D 16. 8.000000 17. 2 4 18. 3 4 5 19. 10

20. gfedcba

21. Afternoon 22. 61

23. accbbxxyy,bbxxyy 24. 20 25. 31 26. 567 27. d

28. 3,5,3,5 29. 1,3 30. 2 31. a 32. 5 3 33. 6789 34. 15

35. -5,-12,-7 36. 6385

17

37. 4 3 2 1 38. 35745 39. 9 40. 1.10 41. 8 42. 26

43. day 44. 23 45. 60 46. 2 47. 6

48. 0246802468 49. Program

gram

50. 2,5,1,2,3,-2, 51. CDABC 52. 0 0 0 8 53. aa 54. Java

dBase

C Language Pascal 55. 6 7 8

Java

9,basicjava 56. 6

57. GFEDCB 58. SO 59. 10 60. Itisis 61. goodgood! 62. 8 63. 17

64. ar=9 ar=9 ar=11 65. 6 66. 12345 67. abcfg 68. abcbcc 69. bcdefgha 70. 14 71. 10 72. 40 73. 10 28

四、程序设计题

1. #include

18

main() {

int number[10]; input(number); max_min(number); output(number); }

input(number) int number[10]; {int i;

for(i=0;i<9;i++)

scanf(\ scanf(\}

max_min(array) int array[10];

{int *max,*min,k,l; int *p,*arr_end; arr_end=array+10; max=min=array;

for(p=array+1;p*max) max=p;

else if(*p<*min) min=p; k=*max; l=*min;

*p=array[0];array[0]=l;l=*p; *p=array[9];array[9]=k;k=*p; return; }

output(array) int array[10]; { int *p;

for(p=array;p

printf(\}

2. #include

main() {

int number[20],n,m,i;

printf(\scanf(\printf(\scanf(\for(i=0;i

scanf(\scanf(\move(number,n,m); for(i=0;i

printf(\

19

printf(\}

move(array,n,m) int n,m,array[20]; {

int *p,array_end;

array_end=*(array+n-1);

for(p=array+n-1;p>array;p--) *p=*(p-1);

*array=array_end; m--;

if(m>0) move(array,n,m); }

3. #include

void main() {

int data[7]={1,2,3,4,5,6,7},temp,k,*ph,*pt;

ph=data; //定义指针指向数组data的首元素 pt=data+6; //指针指向数组的最后一个元素 while(pt>ph) {

temp=*ph; *ph=*pt;

*pt=temp; //数据进行交换 ph++; //两指针向中间移动 pt--; }

for(k=0;k<7;k++)

printf(\//输出结果 printf(\}

4. void move(int *p)

{ int i,j,t;

for(i=0;i<3;i++) for(j=i;j<3;j++) {

t=*(p+3*i+j);

*(p+3*i+j)=*(p+3*j+i); *(p+3*j+i)=t; } }

main()函数请读者自己编写。 5. #include

main()

{int i,a[15]; int *p;

void px(int *q,int n);

20


程序设计上机实验课后答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:管理会计

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

马上注册会员

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