当前位置:首页 > c++程序设计(谭浩强)答案
++lower; else if (*p==' ') ++space;
else if ((*p<='9') && (*p>='0')) ++digit; else ++other; p++; }
cout<<\
case:\case:\
cout<<\< #include cout<<\ for (i=0;i<3;i++) cin>>a[i][0]>>a[i][1]>>a[i][2]; p=&a[0][0]; move(p); cout<<\ for (i=0;i<3;i++) cout< void move(int *pointer) {int i,j,t; for (i=0;i<3;i++) for (j=i;j<3;j++) {t=*(pointer+3*i+j); *(pointer+3*i+j)=*(pointer+3*j+i); *(pointer+3*j+i)=t; } } \ 6.10题 #include {void change(int *p); int a[5][5],*p,i,j; cout<<\ for //输入矩阵 for (j=0;j<5;j++) cin>>a[i][j]; //使p指向0行0列元素 //调用函数,实现交换 cout<<\ for //输出已交换的矩阵 {for (j=0;j<5;j++) cout< temp=*(p+12); //将最大值与中心元素互换 *(p+12)=*pmax; *pmax=temp; temp=*p; //将 (*pmin>*(p+5*i+j)) (*pmax<*(p+5*i+j)) change(int 最小值与左上角元素互换 *p=*pmin; *pmin=temp; pmin=p+1; //将a[0][1]的地址赋给pmin,从该位置开始找最小的元素 for (i=0;i<5;i++) //找第二 for (j=0;j<5;j++) if (((p+5*i+j)!=p) && (*pmin > *(p+5*i+j))) pmin=p+5*i+j; 二最小值与右上角元素互换 *(p+4)=temp; for (i=0;i<5;i++) //找第三最小值的地址赋给pmin for (j=0;j<5;j++) if(((p+5*i+j)!=(p+4)) ((p+5*i+j)!=p) pmin=p +5*i+j; temp=*pmin; // 将第 *p) 三最小值与左下角元素互换 *pmin=*(p+20); *(p+20)=temp; pmin=p+1; for (i=0;i<5;i++) // 找第四最小值的地址赋给pmin */ for (j=0;j<5;j++) if &&((p+5*i+j)!=(p+4)) ((p+5*i+j)!=(p+20)) && (*pmin>*(p+5*i+j))) pmin=p+5*i+j; temp=*pmin; //将第四最小值与右下角元素互换 *pmin=*(p+24); *(p+24)=temp; } 6.10题另一解 (((p+5*i+j)!=p) && && &&(*pmin>*(p+5*i+j))) (i=0;i<5;i++) pmin=p+1; (i=0;i<5;i++) 最小值的地址赋给 pmin p=&a[0][0]; temp=*pmin; //将第 change(p); *pmin=*(p+4); #include {void change(int *p); int a[5][5],*p,i,j; cout<<\ for //输入矩阵 for (j=0;j<5;j++) cin>>a[i][j]; //使p指向0行0列元素 //调用函数,实现交换 cout<<\ for //输出已交换的矩阵 {for (j=0;j<5;j++) cout< for (i=0;i<5;i++) //找最大值和最小值的地址,并赋给 pmax,pmin for (j=i;j<5;j++) {if pmax=p+5*i+j; if pmin=p+5*i+j; } temp=*(p+12); //将最大值与中心元素互换 *(p+12)=*pmax; *pmax=temp; temp=*p; //将最小值与左上角元素互换 *p=*pmin; (*pmin>*(p+5*i+j)) (*pmax<*(p+5*i+j)) change(int *pmin=temp; pmin=p+1; //将a[0][1]的地址赋给pmin,从该位置开始找最小的元素 for (i=0;i<5;i++) //找第二 for (j=0;j<5;j++) {if(i==0 && j==0) continue; (*pmin > *(p+5*i+j)) if } (i=0;i<5;i++) 最小值的地址赋给 pmin #include {void sort(char s[][6]); int i; char str[10][6]; cout<<\ for (i=0;i<10;i++) cin>>str[i]; sort(str); cout<<\ for (i=0;i<10;i++) cout< void sort(char s[][6]) {int i,j; char *p,temp[10]; p=temp; for (i=0;i<9;i++) for (j=0;j<9-i;j++) if (strcmp(s[j],s[j+1])>0) {strcpy(p,s[j]); strcpy(s[j],s[+j+1]); strcpy(s[j+1],p); } } 6.11题另一解 #include {void sort(char (*p)[6]); int i; char str[10][6]; char (*p)[6]; cout<<\ for (i=0;i<10;i++) cin>>str[i]; p=str; sort(p); cout<<\ for (i=0;i<10;i++) cout< p=&a[0][0]; pmin=p+5*i+j; change(p); temp=*pmin; //将第 二最小值与右上角元素互换 *pmin=*(p+4); pmin=p+1; for (i=0;i<5;i++) //找第三最小值的地址赋给pmin for (j=0;j<5;j++) {if((i==0 && j==0) ||(i==0 && if(*pmin>*(p+5*i+j)) } j==4)) continue; *p) pmin=p+5*i+j; temp=*pmin; // 将第三最小值与左下角元素互换 *pmin=*(p+20); *(p+20)=temp; pmin=p+1; for (i=0;i<5;i++) // 找第四最小值的地址赋给pmin for (j=0;j<5;j++) {if ((i==0 && j==0) ||(i==0 if } (*pmin>*(p+5*i+j)) && j==4)||(i==4 && j==0)) continue; pmin=p+5*i+j; temp=*pmin; //将第四最小值与右下角元素互换 *pmin=*(p+24); *(p+24)=temp; } 6.11题 (i=0;i<5;i++) *(p+4)=temp; void sort(char (*s)[6]) {int i,j; char temp[6],*t=temp; for (i=0;i<9;i++) for (j=0;j<9-i;j++) if (strcmp(s[j],s[j+1])>0) {strcpy(t,s[j]); strcpy(s[j],s[+j+1]); strcpy(s[j+1],t); } } 6.11题另一解 #include string str[10],*p=str; cout<<\ for (i=0;i<10;i++) cin>>str[i]; sort(p); cout<<\ for (i=0;i<10;i++) cout< void sort(string *s) {int i,j; string temp; for (i=0;i<9;i++) for (j=0;j<9-i;j++) if (s[j]>s[j+1]) {temp=s[j]; s[j]=s[+j+1]; s[j+1]=temp; } } 6.12题 #include int i; char *p[10],str[10][20]; for (i=0;i<10;i++) p[i]=str[i]; //将第i个字符串的首地址赋予指针数组p的第i个元素 cout<<\ for (i=0;i<10;i++) cin>>p[i]; sort(p); cout<<\ for (i=0;i<10;i++) cout< void sort(char *s[]) {int i,j; char *temp; for (i=0;i<9;i++) for (j=0;j<9-i;j++) if (strcmp(*(s+j),*(s+j+1))>0) {temp=*(s+j); *(s+j)=*(s+j+1); *(s+j+1)=temp; } } 6.13题 #include integral(float (*p)(float),float a,float b,int n); float a1,b1,a2,b2,a3,b3,c,(*p)(float); float fsin(float); // 对fsin函数作声明 float fcos(float); // 对fcos函数作声明 float fexp(float); // 对fexp函数作声明 int n=20; cout<<\a1,b1:\ //输入求sin(x) 定积分的下限和上限 cin>>a1>>b1; cout<<\a2,b2:\ // 输 入求cos(x) 定积分的下限和上限 cin>>a2>>b2; cout<<\a3,b3:\ // 输入求#include c=integral(p,a1,b1,n); // 求出sin(x)的定积分 cout<<\is :\ p=fcos; c=integral(p,a2,b2,n); // 求出cos(x)的 定积分 cout<<\is :\ p=fexp; c=integral(p,a3,b3,n); // 求出 的定积分 cout<<\is :\ return 0; } float integral(float (*p)(float),float a,float b,int n) //用矩形法求定积分的通用函数 {int i; float x,h,s; h=(b-a)/n; x=a; s=0; for (i=1;i<=n;i++) {x=x+h; s=s+(*p)(x)*h; } return(s); } float {return sin(x);} float {return cos(x);} fcos(float x) // 计算cos(x) 的函数 fsin(float // 计算sin(x) 的函数 integral of exp(x) integral of cos(x) integral of sin(x) x) float fexp(float // 计算exp(x)的函数 {return exp(x);} 6.13题 #include integral(float (*p)(float),float a,float b,int n); float a1,b1,a2,b2,a3,b3,c,(*p)(float); float fsin(float); // 对fsin函数作声明 float fcos(float); // 对fcos函数作声明 float fexp(float); // 对fexp函数作声明 int n=20; cout<<\a1,b1:\ //输入求sin(x) 定积分的下限和上限 cin>>a1>>b1; cout<<\a2,b2:\ // 输入求cos(x) 定积分的下限和上限 cin>>a2>>b2; cout<<\a3,b3:\ // 输入求#include c=integral(p,a1,b1,n); // 求出sin(x)的定积分 cout<<\is :\ p=fcos; c=integral(p,a2,b2,n); // 求出cos(x)的 定积分 cout<<\is :\ p=fexp; c=integral(p,a3,b3,n); // 求出 的定积分 cout<<\is :\ return 0; } integral of exp(x) integral of cos(x) integral of sin(x) float integral(float (*p)(float),float cout< char temp, *p1,*p2; for (i=0;i sort (char *p,int m) // 将n个数逆序排列函数 x) a,float b,int n) //用矩形法求定积分的通用函数 {int i; float x,h,s; h=(b-a)/n; x=a; s=0; for (i=1;i<=n;i++) {x=x+h; s=s+(*p)(x)*h; } return(s); } float {return sin(x);} float {return cos(x);} float fexp(float // 计算exp(x)的函数 {return exp(x);} 6.14题 #include char *p,num[20]; cout<<\ cin>>n; cout<<\numbers:\ for (i=0;i cout<<\ for (i=0;i input these fcos(float // 计算cos(x) 的函数 fsin(float // 计算sin(x) 的函数 x) 6.15题 #include {void avsco(float *,float *); void avcour1(char (*)[10],float *); void void fali2(char good(char course[5][10],int course[5][10],int x) num[],float *pscore,float aver[4]); num[4],float *pscore,float aver[4]); int i,j,*pnum,num[4]; float score[4][5],aver[4],*pscore,*paver; char course[5][10],(*pcourse)[10]; cout<<\ pcourse=course; for (i=0;i<5;i++) cin>>course[i]; cout<<\ cout<<\ for (i=0;i<5;i++) cout<<\ cout<
共分享92篇相关文档