首页>计算机>软件水平考试>模拟试题>正文
软件设计师课后练习题:第三章习题解答

www.zige365.com 2008-11-11 17:28:00 点击:发送给好友 和学友门交流一下 收藏到我的会员中心
     6.编一个程序,输入10个整数,统计并输出其中正数、负数和零的个数。
     【解】输入10个整数,统计其中正数、负数和零的个数。程序引入3个计数器变量,用于统计大于以小于0和等于0的整数的个数。开始时,这3个计数器都置0,然后用循环逐一输入10个整数,并判定当前输入的整数是大于0,或小于0,或等于0,并按判定结果累加相应计数器。最后,程序输出这3个计数器的值。程序如下:
        # include 
      main()
     { int i,d,n,z,p;/*变量定义*/
     n=Z=p=0;
     for(i=1;i<=10;i++) {
     print(" 输入第%d个整数", i);
     scanf("%d",&d);
     if(d<0)n++;
     else if(d>0)p++;
     else z++;
    }
     printf("负数有%d个,正数有%d个,零有%d个。\n",n,p,z);
   } 
      7.编程序,按下列公式计算e的值(精度为1e-6):
           e=1+1/1!+1/2!+1/3!+…+1/n!+… 
    【解】按e的幂级数展开式计算e的值。这是典型的求级数和计算问题。通常采用逐项计算,并累计的方法。计算新的项时,可用上一轮循环计算出的项,这能提高程序的效率。循环直至当前项的值小于精度要求结束。程序如下:
         # include
          main()
         { double e,t,i;/*变量定义*/
           e=0.0;t=1.0;i=1.0;
          while(t>=1.0e-6) {
          e+=t;
           t/= i;
          i+= 1.0;
          }
         printf(”e=%.6f\n”, e);
       }
    8.编程序,按下列公式计算y的值(精度为1e-6):
          y=∑1/r*r+1
     【解】按所给公式计算数列的和。类似上一小题的解,逐项计算并累计。程序如下:
       # include
         main()
        { double y,r,t;/*变量定义*/
           y=0.0;r=1.0;
          while((t=1.0/(r*r+1.0))>=1.0e-6) {
          y+=t;
          r+=1.0;
         }
          printf("y=%.6f\n", y);
        }
          9.编一个程序显示ASCII代码0x20至ox6f的十进制数值及其对应字符。
    【解】显示ASCII代码为十六进制0x20至ox6f的字符的十进制代码值与其字符。程序可用一个循环,让变量i顺序地取0X20至OX6f的值,并逐一输出其十进制代码和对应的字符,程序如下:
       # include 
          main()
          {  int i,k=0;
             for(i=0x20; i<=0x6f;i++) {
             if(k++== O)/*每行十个*/
             printf("\n");
              printf("=(%C)", i,i);
              }
             printf("\n");
         }
          10.用三种循环语句分别编写程序显示1至100的平方值。
    【解】用三种循环语句分别编写显示1至100的平方值的程序。直接写出3个程序如下:
          (1) 用输循环实现的程序
      # include 
      main()        /*用for循环*/
      { int i,k=0;
       for(i=l;i<=100;i++) {
      if(k++%5==0)       /*每行五个*/
      printf("\n");
      printf("=*==]",i,i,i*i);
     }
      printf("\n");
     }
          (2) 用while循环实现的程序
       # include 
        main()       /*用 while循环*/
      { int i,k=0 ;
          i=1;
          while(<=100){
         if(k++%5==0)/*每行五个*/
         printf("\n");
         printf("=*==]", i,i,i*i);
         1++;
         }
        printf("\n");
       }
            (3) 用do-while循环实现的程序
       # include 
        main()      /*用do-while循环*/
  { int i, k=0 ;
           i=1;
         do{
       if(k++%5==0)    /*每行五个*/
       printf("\n");
       printf("=*==]",i,i,i*i);
      1++;
      }  while(<=100);
      printf("\n");
     }

本新闻共4页,当前在第4页  1  2  3  4  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
2009年咨询工程师考前练习-项目决策方法与实务1(08/1
2009年咨询工程师考前练习-项目决策方法与实务2(08/1
2009年咨询工程师考前练习-项目决策方法与实务3(08/1
2009年咨询工程师考前练习-项目决策分析与评价一-1(0
2009年咨询工程师考前练习-项目决策分析与评价一-2(0
2009年咨询工程师考前练习-项目决策分析与评价一-3(0