CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  新手乐园

几个搞不清楚的问题

楼主koil(邮桶)2005-09-23 21:10:54 在 C/C++ / 新手乐园 提问

1,三种不同的出错处理方式:  
    a.用exit语句终止执行并报告错误  
    b.以函数的返回值区别正确返回和错误返回  
    c.设置一个整型变量的函数参数以区别正确返回和某种错误返回  
  三个之间有什么优缺点。  
  2,  
    a.通过scanf   和printf语句  
    b.通过函数的参数显示回传  
    c.通过全局变量隐式传递  
  三个各有什么优缺点?  
  谢谢各位 问题点数:20、回复次数:4Top

1 楼antijpn(antijpn)回复于 2005-09-23 21:46:16 得分 0

转新手乐园Top

2 楼yayafu(维生素C)回复于 2005-09-23 22:12:12 得分 0

应用范围,情况都不一样,说什么优缺点啊Top

3 楼fiftymetre(50米深蓝)回复于 2005-09-24 01:16:57 得分 20

一看就是数据结构看笨掉了小朋友了吧  
   
  计算   i!×2^i   的值并存入数组   a[0..arrsize-1]   的第   i-1   个分量中(i=1,2,…,n)。假设计算机中允许的整数最大值为   maxint,则当   n>arrsize   或对某个   k(1≤k≤n)   使   k!×2^k>maxint   时,应按出错处理。注意选择你认为较好的出错处理方法。  
  ANSWER:  
  exit,   简单,直接退出,不用收拾残局,通常用在严重错误不能继续运行时,  
  返回值区别正确返回或错误返回,由调用环境决定程序的下一步走向。  
  整型变量的函数参数以区别正确返回或某种错误返回,同上,并可判别多种类型的错误。  
  int   cal(int   a[],     int   arrsize,     int   n   )   {  
        //   计算(i!2^i)存入a[i],1≤i≤n,   若n>arrsize,   则返回-1,  
        //   若k!2^k   (1≤k≤n)出界,则返回-2,   否则返回0  
        if   (   n<1   ||   arrsize<n   )     return   -1;  
        a[1]   =   2;     i   =   2;  
        while   (i<=n   &&   a[i-1]<=MAXINT/(2*i))   {  
                a[i]=a[i-1]*2*i;         i++;  
        }  
        if   (i>n)     return   0;  
        else     return   -2;  
  }  
   
   
  编写算法求一元多项式P[n,x]=Sum[a[i]*x^i,   {i,   0,n}]的值P[n,   x0],并确定算法中每一语句的执行次数和整个算法的时间复杂度。注意选择你认为较好的输入和输出方法,本题的输入为a[i](i=0,1,…,n),x0和n,输出为P[n,x0]。  
  ANSWER:  
  (1)   直接和外部环境进行信息交换,复用性较差,一般仅用在人机对话的用户界面中;  
  (2)   和调用环境进行信息交换,安全性好,使模块内部出现的错误不外传,进行模块测试时,只要保证本模块从入口到出口的结果正确即可。  
  (3)   交换方式同(2),但不安全,容易出现各模块的错误滚动传递。  
  float   polyval(float   a[],   int   n,   float   x0)   {  
  //   a[0..n]存放(a0,a1,…,an),   返回Pn(x0)=                                
      s   =   a[0];     k=0;     e=1;  
      while   (k<n)   {  
              e*   =   x0;               //   e   =   e*x0  
              s+   =   a[++k]*e;        
      }  
      return   s;  
  }   //   polyval  
   
   
  4.   设   n   为正整数。试确定下列各程序段中前置以记号   @   的语句的频度:  
   (1)   i=1;   k=0;  
     while   (   i<=n-1)   {  
      @   k   +=   10   *   i;  
          i++;  
     }  
  ANSWER:   n-1  
   (2)   i=1;   k=0;  
     do   {  
      @   k   +=10   *   i;  
          i++;  
     }   while(i<=n-1);    
  ANSWER:   n-1  
   (3)   i   =   1;   k   =   0;  
     while   (i<=n-1)   {    
        i++   ;  
         @   k+=   10   *   i;  
     }  
  ANSWER:   n-1  
   (4)   k=0;  
     for(   i=1;   i<=n;   i++)   {  
      for   (j=i   ;   j<=n;   j++)  
         @   k++;  
     }  
  ANSWER:   n(n+1)/2  
   (5)   for(   i=1;   i<=n;   i++)   {    
      for   (j=1;   j<=i;   j++)   {  
       for   (k=1;   k<=j;   k++)  
          @   x   +=   delta;  
      }  
     }  
  ANSWER:   (n*(1   +   n)*(2   +   n))/6  
   (6)   i=1;   j=0;  
     while   (i+j<=n)   {  
      @   if   (i>j   )   j++   ;  
          else   i++   ;  
     }  
  ANSWER:   n  
   (7)   x=n;   y=0;   //   n   是不小于1的常数  
     while   (x>=(y+1)*(y+1))   {  
     @   y++;  
     }  
  ANSWER:   INT[   Sqrt[n]]  
   (8)   x=91;   y=100;  
     while   (y>0   )   {  
     @   if   (x>100   )   {   x   -=   10;   y-   -;   }    
         else   x++;  
     }  
  ANSWER:   1100  
   
   
  网上找来。看看吧Top

4 楼koil(邮桶)回复于 2005-09-24 20:54:43 得分 0

谢谢各位,以后我少来这里了   认真看书了Top

相关问题

  • 想搞清楚windows编程的几个概念
  • 想了一个小时没搞清楚..............
  • 几个问题不太清楚
  • 几个不清楚的问题
  • 我搞不清楚这个问题很简单,各位见笑
  • 一个很幼稚的问题我还没搞清楚
  • 一个简单的问题,我搞不清楚了
  • 一个小问题?实在搞不清楚,请教。
  • 这个问题我怎么也搞不清楚~~~
  • 请问哪不对?一个小问题,老搞不清楚

关键词

  • 函数
  • 模块
  • 算法
  • 语句
  • 交换
  • 返回
  • arrsize
  • 错误
  • 变量
  • 优缺点

得分解答快速导航

  • 帖主:koil
  • fiftymetre

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo