内容发布更新时间 : 2025/11/4 22:27:44星期一 下面是文章的全部内容请认真阅读。
print(b); sort2(b);
cout<<\输出排好序的10个数:\print(b); sort3(b);
cout<<\输出排好序的10个数:\print(b); }
程序运行结果: 请输入10个数:
2 6 9 11 5 61 25 32 22 14 19 输出排好序的10个数:
2 5 6 9 10 11 14 22 输出排好序的10个数:
32 25 22 14 11 10 9 6 输出排好序的10个数:
2 5 6 9 10 11 14 22 (2)
①递归公式为:
x ; n=1 px(n)=
               px(n-1)+(-1)n-1xn  ; n>1 ②递归结束条件: n=1 ③递归约束条件: n>1 # include 
float px(float,int);
cout<<\ cin>>x>>n;
cout<<\}
float px(float x,int n) { float p;
if (n==1) p=x; else
p=px(x,n-1)-pow(-1,n)*pow(x,n); return p; }
程序运行结果:
25 32 5 2 25 32 please input x,n:2 4 px=-10
(3) 方法一,用字符串复制与连接函数。 # include 
void str_cat(char s1[],char s2[],char s[]) { strcpy(s,s1); strcat(s,s2); }
void main(void)
{ char str[N],str1[N1],str2[N2]; cout<<\ cin.getline(str1,80);
   cout<<\   cin.getline(str2,80);    str_cat(str1,str2,str);    cout< 方法二,用while语句编程实现。 # include  void str_cat(char s1[],char s2[],char s[]) {  int i=0,j=0;    while (s1[i])    {  s[i]=s1[i];       i++;    }             while (s2[j])    {  s[i]=s2[j];       i++;       j++;    }     s[i]='\\0'; }  void main(void)  {  char str[N],str1[N1],str2[N2];     cout<<\   cin.getline(str1,80);     cout<<\   cin.getline(str2,80);    str_cat(str1,str2,str);    cout< 程序运行结果:  Please input String1: I am student  Please input String2: And You are student too  I am studentAnd You are student too   (4)  #include  float zsin(float y)                        fac() {   int i;      float s=0,p=1.0,t;        p=y;         for(t=1,i=1;fabs(1.0/t)>=0.00001; i+=2)        {     s=s+p/t;            p=p*y*y;             t= -t*(i+1)*(i+2);        }       return(s); }  void main(void) {         float x,sn;        cout<<\  \      cin>>x;       sn=zsin(x);        cout< 程序运行结果: input x:   3.14159     sin(x)=-0.0752174     (5)  #include  //定义计算K阶乘的函数                 #include  float fac(int k)                                     //定义计算K阶乘的函数fac() {  int i;     float t=1.0;     for (i=1;i<=k;i++)     t=t*i;    return(t); }  float cmn(int m1,int n1)                             //定义计算组合数 的函数cmn() {  float p;     p=fac(m1)/(fac(n1)*fac(m1-n1));          //调用求阶乘函数fac()    return(p); }  void main(void) {  int c[N][N],m,n;    for(n=0; n      for(m=0; m<=n;m++)      { //调用cmn函数          c[n][m]= cmn(n,m);      }      for(n=0;n     {  for(m=0; m<=n;m++)           cout< 实验七  1.实验目的 通过本次实验  (1)掌握一维、二维数组指针变量的定义格式与引用方法; (2)掌握字符串指针变量的定义格式与引用方法;  (3)学会用数组指针变量完成数组元素的数据处理,如求和、求最大值、最小值等; (4)学会用字符串指针变量处理字符串的比较、连接与测长度; (5)掌握指针与数组作为函数参数的程序编写方法。 2.实验要求  (1)编写实验程序  (2)在VC++运行环境中,输入源程序; (3)编译运行源程序;  (4)输入测试数据进行程序测试; (5)写出实验输入数据与运行结果。 3.实验内容  (1)编写程序,用4种方式求整型一维数组a[10]的平均值。4种方式是指4种不同的数组元素表达方式。  实验数据:10,20,30,40,50,60,70,80,90,100  (2)编写程序,用表7.1中的数组元素表示法中的第一种求实型二维数组a[3][3]两条对角线元素之和。  实验数据:10,25,90,80,70,35,65,40,55 (3)用指针变量编写下列字符串处理函数:  l         字符串拼接函数,void str_cat( char *p1,char *p2){函数体} l         字符串比较函数,int str_cmp( char *p1,*char *p2) {函数体} l         取字符串长度函数,int str_len( char *p){函数体}  在主函数中输入两个字符串,对这两个字符串进行比较,并输出比较结果。然后将两个字符串进行拼接,输出拼接后的字符串及其长度。 实验数据:\,\ (4)用指针与数组作为函数参数,按如下四种情况用擂台法对一维实型数组a[10]进行降序排序。   l         函数的实参为数组名,形参为数组。 l         函数的实参为数组名,形参为指针变量,。 l         函数的实参为指针变量,形参为数组。 l         函数的实参为指针变量,形参为指针变量。 实验数据:10,25,90,80,70,35,65,40,55,5 4.解答参考 (1)  方法一 (指针方式,改变p,用 *p访问元素) #include  {   float a[N],sum,*p;     cout<<\    for (p=a;p>*p;         for (p=a,sum=0;p     cout<<\}  方法二 (指针方式,首地址+位移,用 *(p+i)访问元素) #include  {  float a[N],sum,*p=a;    int i;     cout<<\   for (i=0;i