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

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

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

    4.4  程序设计题
 
    1.编程序,输入单精度型一维数组 a[10] ,计算并输出 a数组中所有元素的平均值。
     【解】为了计算数组元素的平均值,首先要累计它的全部元素的和,然后除以数组元素的个数,即得数组元素的平均值。写成C程序如下:
     # include 
     main()
  { int i, n=10;
     float s,a[10] ;
     printf("Enter %d numbers! \n", n);
     for( i=0;i< n; i++)
    { scanf("%f",&s); a[i]= s;
     }
    for(s=0.0,i=0;i    s+= a[i] ;
     s /=n;
     printf("平均值是%.2f\n", s);
     }

    2.编程序,输入10个整数存入一维数组,再按逆序重新存放后再输出。
      【解】将数组的元素逆序重新存放,就是将数组的首尾对应元素两两交换。简单地可用两个游标变量i和j,i是前端元素的下标,j是后端元素的下标,交换以这两个变量值为下标的数组元素。开始时,i的值为0,j的值为末元素的下标。每次交换后,i增1,j减1。继续交换的
条件是i    # include
        main()
       { int a[10], i,j,t,n=10;
         printf("Enter %d numbers! \n", n);
     for(i=0;i         scanf("%d",&a[i] );
       for(i=0,j=n-1;i      t= a[i]; a[i]=a[j] ;a[j] =t;
       }
       for(i=0; i       printf("%d\t", a[i]);
       printf("\n");
       }

    3.编程序,输入两个字符串(<40个字符) ,连接后输出(不准用系统函数) 。
      【解】将字符串s2连接到字符串s1的计算过程可分两个步骤完成。首先找到字符串s1的末尾,然后参照字符串s2,将字符串s2的全部有效字符逐一复制到字符串s1,最后在字符串s1的末尾接上字符率结束标记符。完整程序如下:
      # include 
      # define N 40
      main()
     {  char s1[N] ,s2[N];
        int i,j; 
        printf("Enter stringl!\n");
       scanf("%s",s1);
     printf("Enter string2! \n");
       scanf("%s", s2);
       for(i=0; sl[i]!=’\0’ ; i++) ;
       for(j=0;s2[j]!=’\0’ ;i++,j++) 
       so[i]=s[j] ;
        s1[i]=’\0’
       printf("sl=%s\n" ,sl);
       }

    4.编程序按下列公式计算S的值(其中X1、X2、…、Xn由键盘输入):
       s=∑(xi-x0)(xi-x0) (其中x0是X1、x2、…、Xn的平均值) 
     【解】输入数组x的n个元素的值,按公式计算。程序首先输入n,设n<100,然后输入n个数据,接着求它们的平均值,最后按计算公式求出s,并输出。程序如下:
      # include 
     # define N 100
     main()
     { double x[N+1], s;
       int i,n;
      do {
       printf("Enter n(<100)"); scanf("%d", &n);
       } while(<=0||n>=100);
       for(i=1; i<=n;i++){ 
      scanf("%lf", &s);x[i]=s;
       } 
       for(s=0.0,i=1;i<=n; i++)
      s+=x[i] ;
     x[0] = s/n;
     for(s=0.0, i=1;i<= n;i++)
      s+=(x[i]-x[0])*(x[i]-x[0]);
      printf("s=%f\n", s);
      }

    5.输入一个3X5的整数矩阵,输出其中最大值、最小值和它们的下标。
    【解】输入一个二维数组,寻找二维数组的最大值和最小值。其中寻找最大值和最小值的工作可用两重循环实现,即按行按列考察二维数组的元素。程序如下:
     # include 
    main()
    { int a[3][5], i,j,t,n=3, m=5,
      min,max, minrow, mincol, maxrow, maxcol;
      printf("Enter %d*%d numbers !\n" , n,m);
      for(i=0; i    for( j=0;j     scanf("%d", &t); a[i][j]= t;
     }
     min=max=a[[0][0]; minrow=mincol=maxrow=maxcol=0;
     for(i=0;i     for(j=0;j     if( a[i][j]> max ){
     max= a[i][j] ;maxrow= i;maxcol=j ;
     }
     if( a[i][j]     min=a[i][j] ; minrow= i; mincol=j ;
     }
     }
      printf("MAX=a[%d][%d] =%d MIN= a[%d][%d] =%d \n",
     maxrow,maxcol,max,minrow,mincol,min) ;
      }

更多软考资料请访问:考试吧软件水平考试栏目

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