云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > c++程序设计(谭浩强)答案

c++程序设计(谭浩强)答案

  • 62 次阅读
  • 3 次下载
  • 2025/6/24 19:51:43

++lower; else if (*p==' ') ++space;

else if ((*p<='9') && (*p>='0')) ++digit; else ++other; p++; }

cout<<\

case:\case:\

cout<<\<

#include using namespace std; int main() {void move(int *); int a[3][3],*p,i;

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 using namespace std; int main()

{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 using namespace std; int main()

{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 using namespace std; int main()

{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 using namespace std; int main()

{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 #include using namespace std; int main() {void sort(string *); int i;

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 using namespace std; int main() {void sort(char *[]);

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 #include using namespace std; int main() {float

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 cin>>a3>>b3; p=fsin;

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 #include using namespace std; int main() {float

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 cin>>a3>>b3; p=fsin;

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 using namespace std; int main() { void sort (char *p,int m); int i,n;

char *p,num[20]; cout<<\ cin>>n; cout<<\numbers:\ for (i=0;i>num[i]; p=&num[0]; sort(p,n);

cout<<\ for (i=0;i

input

these

fcos(float

// 计算cos(x) 的函数 fsin(float

// 计算sin(x) 的函数

x)

6.15题

#include using namespace std; x) int main()

{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<>*(pnum+i); for (j=0;j<5;j++) cin>>*(pscore+5*i+j);

搜索更多关于: c++程序设计(谭浩强)答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

++lower; else if (*p==' ') ++space; else if ((*p='0')) ++digit; else ++other; p++; } cout<<\case:\case:\cout<<\<>a[i][0]>>a[i][1]>>a[i]

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com