已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8.1#include stdio.hmain() void swap(int *p1,int *p2); int a,b,c; int *p1,*p2,*p3; printf(enter 3 datan); scanf(%d,%d,%d,&a,&b,&c); p1=&a; p2=&b; p3=&c; if (ab) swap(p1,p2); if (ac) swap(p1,p3); if (bc) swap(p2,p3); printf(%d,%d,%dn,a,b,c);void swap(int *p1,int *p2) int p;p=*p1,*p1=*p2;*p2=p;8.2main() char swap(char *p1,char *p2);char s120,s220,s320; printf(enter 3stringsn); gets(s1); gets(s2); gets(s3); if (strcmp(s1,s2)0) swap(s1,s2); if (strcmp(s1,s3)0) swap(s1,s3); if (strcmp(s2,s3)0) swap(s2,s3); printf(%sn%sn%sn,s1,s2,s3); char swap( char *p1,char *p2) char s20,*p3;p3=s;strcpy(p3,p1);strcpy(p1,p2);strcpy(p2,p3);8.3#include stdio.hmain() void input (int *p); void max_min(int *p); void output( int * p); int n10; input(n); max_min(n); output(n);void input(int *p) int i; printf(input 10 datan); for(i=0;i10;i+) scanf(%d,p);p+;void max_min(int *p) int *max,*min,*p1,t; max=min=p;for( p1=p+1;p1*max) max=p1; else if (*p1*min) min=p1;t=p0;p0=*min;*min=t;t=p9;p9=*max;*max=t;void output(int *p) int *p1;printf(now datan);for (p1=p;p1p+10;p1+)printf(%d ,*p1);8.6第一种方法:#include void main()int length(char *p);int len;char str20;printf(input string: );scanf(%s,str);len=length(str);printf(The length of string is %d.n,len);int length(char *p) int n; n=0; while (*p!=0) n+; p+; return(n);第二种:#include stdio.hmain()int f(char *s); char a20;int l; printf(enter an); gets(a); l=f(a); printf(%dn,l);int f( char *s) char *p=s; while(*p!=0) p+; return(p-s);/指针变量p指向最后一个元素,s指向第一个元素 8.7#include stdio.hmain()char fz(char *p1,char *p2, int n);int m;char str120,str220;clrscr();gets(str1);scanf(%d,&m);if (strlen(str1)m)printf(errorn);elsefz(str1,str2,m);printf(%sn,str2);char fz(char *p1, char *p2,int n) int i=0;while( in-1) i+;p1+;while(*p1!=0)*p2+=*p1+;*p2=0;另一种做法#include stdio.h#include string.hmain() void ct(char *p1,char *p2,int m); char s120,s220; int m; printf(enter s1n); gets(s1); printf(entre m ?n); scanf(%d,&m); if ( strlen(s1)=A)&(*p=a)&(*p=0)&(*p=9) +digit;else +other; p+;printf(upper=%dnlower=%dndigit=%dnspace=%dnother=%dn,upper,lower,digit,space,other);8.9方法一:#include stdio.hmain()void move( int *p1);int a33,*p,i;for(i=0;i3;i+) scanf(%d,%d,%d,&ai0,&ai1,&ai2); p=&a00;/p是列指针,p+1指向a01 move(p); for(i=0;i3;i+) printf(%d %d %d ,ai0,ai1,ai2); printf(n);void move(int *p1)int i,j,k;for(i=0;i3;i+) for(j=i;j3;j+) k=*(p1+i*3+j);/用相对位置公式i*m+j *(p1+i*3+j)=*(p1+j*3+i); *(p1+j*3+i)=k;方法二:#include stdio.hmain()int a33=1,2,3,4,5,6,7,8,9; int i,j,k; for(i=0;i3;i+) for(j=i;j3;j+) k=*(*(a+i)+j);/ a是行指针,a+1指向下一行 *(*(a+i)+j)=*(*(a+j)+i); *(*(a+j)+i)=k;for(i=0;i3;i+) for(j=0;j3;j+) printf(%4d,*(*(a+i)+j); printf(n);方法三:#include stdio.hmain()int a33=1,2,3,4,5,6,7,8,9; int i,j,k; int (*p)3; p=a; for(i=0;i3;i+) for(j=i;j3;j+) k=*(*(p+i)+j); *(*(p+i)+j)=*(*(p+j)+i); *(*(p+j)+i)=k;for(i=0;i3;i+) for(j=0;j3;j+) printf(%4d,*(*(p+i)+j); printf(n);方法四:#include void main()void exchange(int (*p)3);int a33, i,j;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);for(i=0;i3;i+)for(j=0;j3;j+)printf(%4d,aij);printf(n);printf(n);exchange(a);for(i=0;i3;i+)for(j=0;j3;j+)printf(%4d,aij);printf(n); void exchange(int (*p)3)int i,j,t;for(i=0;i3;i+)for(j=i;j3;j+) t=*(*(p+i)+j);*(*(p+i)+j)=*(*(p+j)+i);*(*(p+j)+i)=t;方法五:#include stdio.hmain()void move( int *p1);int a33,*p,i;for(i=0;i3;i+) scanf(%d,%d,%d,&ai0,&ai1,&ai2); p=&a00;/p是列指针,p+1指向a01 move(p); for(p=a0;pa0+9;p+) printf(%d ,*p); printf(n); void move(int *p1)int i,j,k;for(i=0;i3;i+) for(j=i;j3;j+) k=*(p1+3*i+j);/用相对位置公式i*m+j *(p1+3*i+j)=*(p1+3*j+i); *(p1+3*j+i)=k;8.11第一种做法:#include #include void main()void sort(char s6); int i; char str106; printf(input 10 strings:n); for (i=0;i10;i+) scanf(%s,stri); sort(str); printf(Now,the sequence is:n); for (i=0;i10;i+) printf(%sn,stri);void sort(char s106)int i,j; char *p,temp10; p=temp; for (i=0;i9;i+) for (j=0;j0) strcpy(p,sj); strcpy(sj,sj+1); strcpy(sj+1,p); 第二种做法#include #include void main()void sort(char (*p)6); int i; char str106; char (*p)6; printf(input 10 strings:n); for (i=0;i10;i+) scanf(%s,stri); p=str; sort(p); printf(Now,the sequence is:n); for (i=0;i10;i+) printf(%sn,stri); void sort(char (*s)6)int i,j; char temp6,*t=temp; for (i=0;i9;i+) for (j=0;j0) strcpy(t,sj); strcpy(sj,s+j+1); strcpy(sj+1,t); 8.12第一种方法:#include stdio.h#include string.hmain()void input(char *str); void sort(char *str);void print(char *str);char s1020;char *str110;int i;for (i=0;i10;i+)str1i=si;input(str1);sort(str1);print(str1);void input(char *str) int i;for (i=0;i10;i+) printf(enter %d string ,i); gets(stri); printf(n);void sort(char *str) int i,j,k; char *temp;for (i=0;i8;i+) k=i; for (j=i+1;j0) k=j; if(k!=i) temp=strk;strk=stri;stri=temp; void print(char *str) int i=0; for(i=0;i9;i+) printf(%sn,stri);第二种方法:#include stdio.h#include string.hmain() void sort(char *s); int i; char *p10,str1020; for (i=0;i9;i+) pi=stri; printf(input 10 stringsn); for(i=0;i9;i+) scanf(%s,pi); sort(p); for(i=0;i9;i+) printf(%sn,pi); void sort(char *s) int i,j; char *temp; for(i=0;i9;i+) for(j=0;j0) temp=*(s+j); *(s+j)=*(s+j+1); *(s+j+1)=temp; 8.13方法一:#include stdio.hmain() void sort(char *p,int n);int i,n;char *p,num20;printf(enter nn);scanf(%d,&n);for(i=0;in;i+)scanf(%d,&numi);p=num;sort(p,n);for(i=0;in;i+)printf(%d ,numi);void sort(char *p,int m) char *p1,*p2,t;int i;for(i=0;im/2;i+)p1=p+i;p2=p+(m-i-1);t=*p1;*p1=*p2;*p2=t;方法二:#include stdio.hmain() void sort(p,n);int i,n;char *p,num20;printf(enter nn);scanf(%d,&n);for(i=0;in;i+)scanf(%d,&numi);p=num;sort(p,n);for(i=0;in;i+)printf(%d ,numi);void sort(char *p,int m) char *p1,*p2,t;p1=p;p2=p+m-1;for(;p1p2;p1+,p2-)t=*p1;*p1=*p2;*p2=t;8.17第一种方法:#include stdio.h#include string.hmain() char a520; char *num
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GB-T 39592-2020黄茶加工技术规程》专题研究报告
- 煮茧操作工道德评优考核试卷含答案
- 2025年执业中药师《中药学综合知识》章节试题及答案
- 有色金属冶炼质检员安全检查强化考核试卷含答案
- 落布工岗前技术落地考核试卷含答案
- 《GBT 19142-2016 出口商品包装 通则》专题研究报告
- 互联网网络管理员安全培训强化考核试卷含答案
- 公司舌簧管封装工现场作业技术规程
- 矿山安全设备监测检修工岗位工艺技术规程
- 公司工业清洗工岗位安全技术规程
- 化工有限公司3万吨水合肼及配套项目环评可研资料环境影响
- TGDNAS 031-2023 不寐的耳部刮痧技术
- 马克思主义与社会科学方法论概述(课件)
- 《饲养家蚕收集我国养蚕的历史资料》跨学科实践主题学习单元教学设计
- 瑞幸咖啡案例分析
- 《模拟刑事法庭》课件
- 机加工零部件质量检验标准
- 土木建筑工程投标书
- 《维护生态平衡》教案
- 浙江省执业医师体检表
- 唐县轩丰建材销售有限公司唐县迷城南沟建筑石料用灰岩矿矿山地质环境保护与土地复垦方案
评论
0/150
提交评论