- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 指针
输入三个整数,按由小到大的顺序输出。main()
{ int a,b,c,*p1,*p2,*p3,t;
scanf(%d,%d,%d,a,b,c); p1=a;p2=b;p3=c; if(*p1*p2)
{t=p1;p1=p2;p2=t;} if(*p1*p3)
{t=p1;p1=p3;p3=t;} if(*p2*p3)
{t=p2;p2=p3;p3=t;} printf(%d,%d,%d\n,*p1,*p2,*p3);
}
或main()
{int a,b,c,*p1,*p2,*p3,t;
scanf(%d,%d,%d,a,b,c); p1=a;p2=b;p3=c;
if(ab)
{t=*p1;*p1=*p2;*p2=t;} if(ac)
{t=*p1;*p1=*p3;*p3=t;} if(bc)
{t=*p2;*p2=*p3;*p3=t;} printf(%d,%d,%d\n,a,b,c);
}
输入三个字符串,按由小到大的顺序输出#define N 3
#define M 20 main()
{char str0[N][M],str1[M],*p,*q; int i,l,m,n;
q=str0; for(;pq+N;p++) gets(p); l=strcmp(q,q+1); if(l0)
{strcpy(str1,q);strcpy(q,q+1);strcpy(q+1,str1);} m=strcmp(q,q+2);
if(m0)
{strcpy(str1,q);strcpy(q,q+2);strcpy(q+2,str1);} n=strcmp(q+1,q+2);
if(n0)
{strcpy(str1,q);strcpy(q+1,q+2);strcpy(q+2,q+1);} for(p=q;pq+N;p++)
puts(p);
}
输入 10 个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数;①输入 10 个数;②进行处理;③输出 10 个数。
f(x,n)
int x[],n;
{int *p0,*p1,i,j,t,y; i=j=x[0];p0=p1=x; for(y=0;yn;y++)
{if(x[y]i)
{i=x[y];p0=x[y];} else if(x[y]j)
{j=x[y];p1=x[y];}}
t=*p0;*p0=x[n-1];x[n-1]=t;
t=*p1;*p1=x[0];x[0]=t; return;
}
main()
{int a[10],u,*r; for(u=0;u10;u++) scanf(%d,a[u]); f(a,10);
for(u=0,r=a;u10;u++,r++) printf( %d,a[u]); printf(\n);
}
有 n 个整数,使前面各数顺序向后移 m 个位置,最后 m 个数变成前面 m 个数,见图。写一函数:实现以上功能,在主函数中输入n 个数和输出调整后的n 个数。
#define N 10 void shift(p,x) float *p;int x;
{float a[N],*q,*o;int i; o=a;q=p; for(i=0;ix;i++)
*(o+i)=*(q+N-x+i);
for(p=p+N-1;p=q;p--)
*p=*(p-x); for(i=0;ix;i++)
*(q+i)=*(o+i); return;} main()
{float shuzhu[N],*u,*v;
int h,i;u=v=shuzhu; scanf(%f,h); for(;uv+N;u++) scanf(%f,u); shift(v,h); for(u=v;uv+N;u++) printf(%.2f ,*u);
printf(\n);
}
有 n 人围成一圈,顺序排号。从第 1 个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子,问最后留下的是原来的第几号的那位。
#define N 5 main()
{int i,j,k,a[N+1],*p; for(i=0,p=a;p=a+N;i++,p++)
*p=i; p=a+1;k=N;
for(i=0,j=1;k!=1;j++)
{if(p(a+N)) p=a+1; if(*p!=0) i++;
if((i-3)==0)
{*p=0;i=0;k--;} p++;
}
for(i=1;i=N;i++) if(a[i]!=0)
printf(The last number is %d\n,a[i]);}
8.7有一字符串,包含 n 个字符。写一函数,将此字符串中从第 m 个字符开始的全部字符复制成为另一个字符串。
#includestdio.h #define N
您可能关注的文档
最近下载
- (新课标新教材)新人教版初中英语七年级上册Starter Unit 1 Hello第1课时Listening and Speaking《Section A How do you greet people 1a-2d》说课稿.doc
- 苏教版数学一年级上册期中调研.doc VIP
- 《四川省玻璃幕墙工程技术标准》编制浅析.pdf VIP
- 深圳市学生视力的调查与对策研究.doc
- ESG概论完整版本.pptx VIP
- 推动中医药文化传承发展实施方案.docx VIP
- 团队合作ppt模版.pptx
- S145水表井标准图集.pdf
- 炼油厂厂房封闭工程施工组织设计方案.doc VIP
- 美的MDV8多联机中央空调说明书.pdf
文档评论(0)