内容发布更新时间 : 2024/11/16 19:38:32星期一 下面是文章的全部内容请认真阅读。
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