c语言指针精选习题和答案

c语言指针精选习题和答案

ID:6296907

大小:84.50 KB

页数:13页

时间:2018-01-09

c语言指针精选习题和答案_第1页
c语言指针精选习题和答案_第2页
c语言指针精选习题和答案_第3页
c语言指针精选习题和答案_第4页
c语言指针精选习题和答案_第5页
资源描述:

《c语言指针精选习题和答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、用指针方法编写一个程序,输入3个整数,将它们按由小到大的顺序输出#includevoidswap(int*pa,int*pb){inttemp;temp=*pa;*pa=*pb;*pb=temp;}voidmain(){inta,b,c,temp;scanf("%d%d%d",&a,&b,&c);if(a>b)swap(&a,&b);if(b>c)swap(&b,&c);if(a>c)swap(&a,&c);printf("%d,%d,%d",a,b,c);}二、C语言用指针方法输入3个字符串按由小到大顺序输出#include"stdio.h"#include"str

2、ing.h"intmain(intargc,char*argv[]){char*t;char*p1=NULL,*p2=NULL,*p3=NULL;charch1[20]={0},ch2[20]={0},ch3[20]={0};p1=ch1;p2=ch2;p3=ch3;printf("No1:");scanf("%s",p1);fflush(stdin);printf("No2:");scanf("%s",p2);fflush(stdin);printf("No3:");scanf("%s",p3);fflush(stdin);if(strcmp(p1,p2)>0){t=p1;p1=p2;p

3、2=t;}if(strcmp(p1,p3)>0){t=p1;p1=p3;p3=t;}if(strcmp(p2,p3)>0){t=p2;p2=p3;p3=t;}printf("%s%s%s",p1,p2,p3);return0;}9.4编程输入一行文字,找出其中的大写字母,小写字母,空格,数字,及其他字符的个数#includevoidmain(){inta=0,b=0,c=0,d=0,e=0,i=0;char*p,s[20];while((s[i]=getchar())!='')i++;p=s;while(*p!=10){if(*p>='A'&&*p<='Z

4、')a++;elseif(*p>='a'&&*p<='z')b++;elseif(*p=='')c++;elseif(*p>='0'&&*p<='9')d++;elsee++;p++;}printf("大写字母%d小写字母%d",a,b);printf("空格%d数字%d非字符%d",c,d,e);}9.5写一个函数,将33矩阵转置#include"stdio.h"voidTranspose(int(*matrix)[3]){inttemp;inti,j;for(i=1;i<3;i++)/*转置*/{for(j=0;j

5、*(matrix+j)+i)=*(*(matrix+i)+j);*(*(matrix+i)+j)=temp;}}}voidmain(){inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};Transpose(a);for(inti=0;i<3;i++){for(intj=0;j<3;j++){printf("%d",a[i][j]);}printf("");}}}9.6用指向一维数组的指针做函数参数#include#includeintmain(){ voidsort(char(*s)[6]);//一维数组的指针做函数参数 i

6、nti; charstr[10][6]; char(*p)[6];//定义一维数组的指针做函数参数 printf("pleaseinputstring:/n"); for(i=0;i<10;i++)  scanf("%s",&str[i]); p=str;//将str一维数组指针,赋值给p;   sort(p); printf("theoutputsequence:/n"); for(i=0;i<10;i++)  printf("%s/n",str[i]); return0;}voidsort(char(*s)[6])//s指向一维数组的指针做函数参数;{ inti,j; chartemp

7、[6],*t; t=temp;   for(i=0;i<9;i++)//i应该小于9;如果小于10,那么就比较了9+1次;按照冒泡法则,  for(j=0;j<9-i;j++)//第一次比较需要9次就是i=0到i=8共九次;第二次需要比较8次;依次类推;   if(strcmp(s[j],s[j+1])>0)   {    strcpy(t,s[j]);    strcpy(s[j],s[j+1]);    strcpy

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。