首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 软件水平考试 > 复习资料 > 软件设计师 > 正文

软考软件设计师课后练习题:第五章习题及解答

来源:考试吧Exam8.com) 2006-12-11 8:03:46 考试吧:中国教育培训第一门户 模拟考场

         6.输入三个字符串,找出其中最大的字符串。
      【解】将输入的三个字符率分别存于三个一维字符数组中,另用一个字符指针数组,分别指向这三个字符串,然后用循环控制这三个字符串的比较,找出最大的字符串。两字符串比较时,程序不用标准库函数,而用两字符串的对应字符比较来实现。完整程序如下:
    # include 
    # define N 120
    # define M 3
    mian()
   { char s1[N], s2[N],s3[N],*strs[M]={s1,s2,s3},*p,*q,*ms;
     int i;
    printf("输入%d个字符串\n", M) ;
  for(i= 0; i    scanf("%s",strs[i]);
    ms=strs[0];
    for(i=1;i    for( p=ms,q=strs[i];*p! =’\0’ && *p==*q;p++,q++);
    if(*p<*q) ms=strs[i];
    }
    printf("最大字符串:%s\n",ms);
   }

         7.输入两个字符串,将它们连接后输出。
     【解】程序设有两个存储字符串的数组,先输入两个字符串,然后找到第一个字符串的末尾,接着将第二个字符串复制在第一个字符串的后面,然后输出。程序如下:
     # include 
     # define N 120
    main()
    { char s1[N+N],s2[N],*p,*q;
     printf("输入2个字符串\n");
     scanf("%s%s",s1,s2);
     for(p=sl;* p!=’\0’; p++);
     for(q=s2;*p++=*q++;);
     printf("两字符串连接后:%s\n" ,sl);
     }

          8.比较两个字符串是否相等。
     【解】程序设两个存储字符串的数组,先输入两个字符串,两字符率比较时,直接用两字符串的对应字符比较来实现。完整程序如下:
    # include 
    # define N 120
    main()
    { char sl[N] ,s2[N],*p,*q;
      char *result[]={"小于","相等" ,"大于"};
      int comp;
      printf("输入 2个字符串\n");
      scanf("%s%s",s1,s2);
      for(p=sl,q=s2;*q!=’\0’&& *p==*q; p++, q++);
     comp=*P <* q? 0:*P==*q? l:2;
     printf("字符串1与字符串2比较:%s\n",result[comp]);
     }

          9.输入10个整数,将其中最大数与最后一个数交换,最小数与第一个数交换。
      【解】程序设一个一维数组存储输入的10个整数。然后遍历数组,找出最大元素和最小元素的指针。接着按要求先将最大元素与最后一个元素交换,然后将最小元素与第一个元素交换。最后,输出数组中的全部整数。程序应考虑到这样一种特殊情况,即最后一个元素正是最小元素,它在与最大元素交换后,位置已移到原先存储最大元素的位置。程序应保证最大元素移到末尾,最小元素移到最前端。程序如下:
    # include 
    # define N 10
     main()
    { int a[N],*maxp,*minp,*q,t;
    printf("入%d个整数\n,N);
    for(q=a;q    scanf("%d",&t);*q=t;
    }
     maxp= minp= a;
    for(q=a;q    if(*maxp<*p) maxp=q;
    if(*minp>*q) minp=q;
    }
    t=*maxp; *maxp=a[N-1]; a[N-l]=t;
    if(minp==&a[N-l]) minp=maxp;
    t=* minp;*minp= a[0]; a[0]= t;
    for(q=a;q    printf("%d",*q);
    printf("\n");
   }

上一页  1 2 3 4 5  下一页
文章搜索
软件水平考试栏目导航
版权声明:如果软件水平考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本软件水平考试网内容,请注明出处。