资料中心

自考“高级语言程序设计”习题答案详解(17)

来源:  点击数:  录入时间:07-09-13 16:54:32
 
   5.下面程序的功能是将一个字符串str的内容颠倒过来,请填空。

  # include

  main()

  {int i, j,_____________;

  char str[]={“1234567”};

  for(i=0,j=strlen(str); i<J;I++,J++)

 

 { k=str; str=str[j]; str[j]=k; }

  printf(“%s\n”, str);

  }

  「解」颠倒一个字符串中的字符,就是首尾对应的元素两两交换。简单地可用两个游标变量i和j, j是前端元素的下标, j是后端元素的下标, 交换以这两个变量值为下标的元素str和 str[j].开始时,i的值为 0,j的值为字符率未元素的不标(字符串长度减1)。每次交换后,i增 1,j减1.继续交换的条件是str还位于str[j]的前面,即i<J.字符串末元素的不标是它的长度减1,所以在第二个空框处应填入-1.程序为了交换STR[I]和STR[J],使用了变量K,该变量应在程序的变量定义部分中一起定义,所以在第一个空框处应填入K.

  6.以下程序可把输入的十进制数以十六进制数的形式输出,请填空。

  main( )

  { char b[17]={“0123456789ABCDEF”}

  ;

  int c[64],d,i=0,base=16;

  long n;

  printf(“Enter a number:\n”);。

  scanf(“%ld”, &n):

  do { c=________;i++;n=n/base;}

  while(n!=0);

  printf(“Transmite new base:\n”);

  for(——i; i>= 0;——i)

  {d=c; printf(“%c”,b);}

  printf(“\n”);

  「解」程序中,字符数组b存储十六进制的 16个数字符,整型数组C存储泽出的十六进制数的各位数值。从整数n译出它的各位十六进制数值,需采用除16取余的方法,即求n除16 的余。得到它的十六进制的个位数,接着将n除以16.在n不等于0的情况下循环,能顺序求出n的十六进制的个位数、十位数、百位数等等。程序中变量base已预置16,所以在第一个空框处可填代码nose或n.当n的十六进制数的个位、十位、百位等数字依次存放于数组C中后,就从最高位至最低位,参照数组c的内容d(以其内容为下标),取十六进制数字符表中的字符b[d]输出。所以在第二个空框处可填入代码[d].

  4.3 程序分析题

  1.阅读程序,写出程序运行结果。,

  main()

  { static int a[][3]={9,7,5,3,l,2,4,6,8};

  int i,j,sl=0,s2=0;

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

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

  { if(i==j) s1=s1+a[j];

  if(i+j== 2) s2=s2+a[j];

  }

  printf(“%d\n%d\n”, sl,s2);

  }

  「解」已知数组。共有3行3列席一行依次是9,7,5;每二行是3,1,2;第三行是4,6,8.程序引用数组元素的游标变量是i和j,外循环控制变量i是数组的行下桥,内循环控制变量j是数组的列下标。循环体的工作是将数组的某些元素累计到sl,某些元素累计到S2.将行下标i和列下标j相同的元素累计到sl,sl=a[0][0]+a[l][1]+a[2][2].将行下标i与列下标j的和为 2的元素累计到 s2,s2=a[0][2]+a[l][l]+a[2][0].所以sl是18,s2是10.程序输出:

  18

  10

 上一篇文章: 自考“高级语言程序设计”习题答案详解(18)
 下一篇文章: 自考“高级语言程序设计”习题答案详解(16)
自考在线课堂
【 北京联合大学广告学院高教自考招 】
【 新加坡华夏管理学院2008年自主招 】
【 北大英语自考部招生日语英语专业 】
【 一年半获取国家承认自学考试证书 】
【 北京联合大学广告学院2008年自考 】
【 2008年首都联合职工大学招生简介 】
自考必读 新手入门 | 报考指南 | 免考加考 | 毕业申请 | 自考常识
自考BLOG
【 陈瑞华再次将自考生推向悬崖愤怒 】
【 让你电脑右下角显示你(爱人)名字 】
【 分享一下 一个自考生的成功经验 】
【 自考这两年半经验之谈,新手必读 】
自考专题
【 自考专题第三期:就业,我们也行 】
【 自考专题二期:晒晒我们的自考情 】
【 自考专题一期:呐喊,我们也考研 】
自考推荐
自考招生
自考知道:有问必答!
全国各省市自考办电话
各地区官方网地址大全
寻找同城异性自考朋友
欢迎您订阅北京考试报
各地10月自考报名时间
中国自考网俱乐部成立
08年10月自考成绩查询
2009年自考时间及课程
09上半年自考报名时间
08年7月自考成绩查询
新手入门

法律本科公司法还是考04版的教材吗
我错过的自学考试的报考时间怎么办
法律事务与律师自考有什么不一样?
问谁知道高教自考非教育类的专科生
我想参加自考 请问需要什么条件吗
请教关于自考新旧计划课程顶替问题
自己所在的省没有想学的专业怎么办
高等数学(一)免考 问题急盼回复

自考时间
专业课程
转考免考
学位实践
学科系别
违纪处罚
疑难杂症
自考推荐
自考论坛
资格考试·串讲资料
今日推荐
[四川] 武侯区08年下半年高教自考毕业证办理须知
[福建] 09自考轮机工程技术专业(专科)考试计划
[重庆] 2008年10月有6万余人参加高等教育自学考试
[福建] 2009年高教自学考试4门统考课考试安排确定
[安徽] 09年4月高等教育自学考试考生报名时间公布
[江西] 08年高教自考体育教育(本科)课程的设置
[广东] 08广州某防空旅高教自学考试开设野外考场
[内蒙古] 08年高等教育自学考试课程免考相关规定
[广东] 有关汕头09年1月高等教育自学考试报考通知
[贵州] 09年高等教育自学考试课程安排有关的通知