内容发布更新时间 : 2025/11/4 17:24:09星期一 下面是文章的全部内容请认真阅读。
和积分的区间等分数作为函数的参数。分别求出下列定积分的值。 4.解答参考 (1)
#include 
char *p[3]={s[0],s[1],s[2]}; char *pc; int i,j,k;
cout<<\ for (i=0;i<3;i++) cin>>p[i]; for (i=0;i<2;i++) { k=i;
for (j=i+1;j<3;j++)
if (strcmp (p[i],p[j])<0) k=j; if (k!=i)
{ pc=p[i];p[i]=p[k];p[k]=pc; } }
for ( i=0;i<3;i++) cout<
程序运行结果: Input 3 String: Visual Basic Visual C++ Delphi Visual C++ Visual Basic Delphi
Visual Basic Visual C++ Delphi (3) 解:
# include 
{ return x-y;} int mul(int x,int y) { return x*y;} int div(int x,int y) { return x/y;} int res(int x,int y) { return x%y;} void main(void) { int x,y;
char operate; int (*f)(int,int);
cout<<\ cout<<\ while(1) {
cin>>x>>operate>>y ; switch (operate) {
case '+': f=add; break;
case '-': f=sub; break; case '*': f=mul; break; case '/': f=div; break; case '%': f=res; break; default: return; }
      cout< 程序运行结果: input three 0 end Input x operate y= 10 + 20 10+20=30 10 - 5 10-5=5 10 * 15 10*15=150 10 / 2 10/2=5 10 % 3 10%3=1 0 0 0   (3)  方法一:用指向一维数组的指针变量和二维数组的行数作为函数的参数 #include  float ave(float (*p)[3],float *max,float *min) {  float sum=0;    int i,j;     for(i=0;i<3;i++)     {       for(j=0;j<3;j++)                {     sum+=(*p)[j];                       if (*max<(*p)[j]) *max=(*p)[j];                      if (*min>(*p)[j]) *min=(*p)[j];               }               p++;    }     return sum/9; }  void main(void)  {  float a[3][3],max,min,average;    int i,j;     cout<<\   for (i=0;i<3;i++)            for (j=0;j<3;j++)                  cin>>a[i][j];    max=min=a[0][0];     average=ave(a+0,&max,&min);    cout<<\   cout<<\   cout<<\}    方法二:用数组名为函数参数,在函数内用指向一维数组的指针变量,求出平均值、最大值和最小值,并输出。 解:  #include  {  float max,min,sum=0,(*p)[3];    int i,j;     max=min=a[0][0];    for(i=0;i<3;i++)    {  p=a+i;        for(j=0;j<3;j++)           {  sum+=(*p)[j];              if (max<(*p)[j]) max=(*p)[j];                if (min>(*p)[j]) min=(*p)[j];       }     }     cout<<\}  void main(void) {  float b[3][3];    int i,j;     cout<<\   for (i=0;i<3;i++)            for (j=0;j<3;j++)                  cin>>b[i][j];    fun(b); }  程序运行结果:  Input Data:10 25 90 80 70 35 65 40 55 ave=52.2222 max=90 min=10   (4)        图 用梯形法求定积分面积           y                y=f (x)   yn-1                                 y2                                  yn                     y1        y0                △s0  △s1  △s2   ? △sn-1               x=a                                x=b                x0     x1     x2      x3      xn-1      xn    x       0      a           h             b           分析:由高等数学可知, 的定积分值等于由曲线y=f(x)、直线x=a 、x=b、   y=0所围曲边梯形的面积s,如下图所示。现将曲边梯形划分成n个小曲边梯形△s0、△s1、△s2、?、△sn-1。每个曲边梯形的高均为h=(b-a)/n,用矩形近似曲边梯形后各曲边梯形的面积近似为:    △s0=y0*h △s1=y1*h △s2 =y2*h ?   △sn-1=yn-1*h  s =△s0+△s1+△s2+?+△sn-1=(y0+y1+y2+?+yn-1)*h =((f (x0)+(f (x1)+f (x2)+…+f (xn-1))*h ∵x0=a ,xn=b,xi=a+i*h  ∴用梯形法求定积分面积的公式为: 其中:a、b分别为积分的下、上限,n为积分区间的分隔数,h=(b-a)/n,h为积分步长;f(x)为被积函数。 程序编写如下: # include  {  return (1+log(x)+x*x*x);} float f2(float x)  {  return (1/(1+x*x));} float f3(float x)  {  return (x+exp(x))/(1+sin(x)+x*x);}  float integral(float (*f)(float),float a,float b,int n) {    float y,h;   int i;   y=0;    h=(b-a)/n;    for (i=0;i void main (void ) {    cout<<\  cout<<\  cout<<\}  程序运行结果: s1=5.13245 s2=2.11232 s3=3.31222    实验九  1.实验目的  (1)初步学会用枚举类型变量处理有限元素组成的集合问题。 (2)掌握结构体类型、结构体变量、结构体数组的定义格式。  (3)学会使用结构体变量与结构体数组处理如职工档案、职工工资等问题。 2.实验要求  (1)编写实验程序;  (2)在VC++运行环境中,输入源程序; (3)编译运行源程序;  (4)输入测试数据进行程序测试; (5)写出运行结果。 3.实验内容  (1)从A、B、C、D四个字母中任取3个不同的字母,共有多少种取法?编写程序,输出