C语言程序设计经典题目大汇总(10)

2019-08-03 12:22

{ int a=18,*p=&a;

printf(“a=%d\\n”,a); printf(“*p=%d\\n”,*p); }

2.从键盘输入两个整数到a、b,按由大到小输出。 #include void main()

{

int a,b,*pa=&a,*pb=&b,*p; scanf(“%d %d”,&a,&b); if(*pa<*pb) { p=pa; pa=pb; pb=p;

}

printf(“\\na=%d,b=%d\\n”,a,b); printf(“\\n max=%d,min=%d”,*pa,*pb); }

3.二级指针的使用。 #include void main()

{ int a=22,*p,**pp; p=&a; pp=&p;

printf(“*p=%d\\n”,*p); printf(“**pp=%d\\n”,**pp); }

4.编写一个交换两个变量的函数,在主程序中调用,实现两个变量值的交换。 #include void main() { int a,b;

int *pa,*pb;

void swap(int *p1,int *p2); scanf(“%d%d”,&a,&b); pa=&a; pb=&b; swap(pa,pb);

printf(“\\na=%d,b=%d\\n”,a,b); }

void swap(int *p1,int *p2) {int temp; temp=*p1; *p1=*p2; *p2=temp;

}

5.指针交换比较。 #include void main()

{ int a,b,*pa,*pb;

void swap(int *p1,int *p2) pa=&a;

pb=&b;

scanf(“%d %d”,&a,&b); swap(pa,pb);

printf(“\\n main0:a=%d,b=%d\\n”,a,b);

printf(“\\n main1:*pa=%d,*pb=%d\\n”,*pa,*pb); }

void swap(int *p1,*p2) { int *p; p=p1;

p1=p2; p2=p;

printf(“\\nswap:*p1=%d,*p2=%d\\n”,*p1,*p2); }

6.指针函数实例。

#include void main() { int a,b,*p;

int *min(int x,int y); int *minp(int *,int *); scanf(“\\nmin=%d”,*p); p=min(a,b);

printf(“\\nmin=%d”,*p); p=minp(&a,&b);

printf(“\\nminp=%d”,*p); }

int *min(int x,int y) { if(x

int *minp(int *x,int *y) { int *q;

q=*x<*y?x:y; return(q); }

7.函数max()用来求一维数组中元素的最大值,在主调函数中用函数名调用该函数与函数指针调用该函数来实现。 #include

#define M 8

void main()

{ float sumf,sump;

float a[M]={11,2,-3,4,5,5,69,7,80}; float(*p)()

float max(float a[],int n); p=max;

sump=(*p)(a,M); sumf=max(a,M);

printf(“sump=%.2f\\n”,sump); printf(“sumf=%.2f\\n”,sumf); }

float max(float a[],int n) { int k; float s; s=a[0];

for(k=0;k}

8.在主函数中输入三角形的两条直角边,求三角形的面积和斜边长。 #include #include void main() {

int m,n; float s,l;

float(*q)();

float area(int a,int b,float(*p)(); scanf(“%d%d”,&m,&n); q=area;

s=f(m,n,q);

l=f(m,n,length);

printf(“Area of the right triangle is %.2f\\n”,s); printf(“Length of the hypotenuse is %.2f\\n”,l); }

float area(int a,int b) {float z; z=a*b/2; return(z); }

float z;

z=sqrt(a*a+b*b); return(z);

}

float f(int a,int b,float(*p)()) {float y;

y=(*p)(a,b); rerurn(y);

}

9.使用不同方法输出整型数组a的元素。 #include void main() {

static int a[5]={1,3,5,7,9}; int i,*p;

for(i=0;i<5;i++)

printf(“?d”,a[i]); putchar(‘\\n’); for(i=0;i<5;i++)

printf(“M”,*(a+i)); putchar(‘\\n’); for(p=a;p

for(i=0;i<5;i++)

printf(“%d”,p[i]); }

10.从键盘输入5个整数到数组a中,然后输出。 #include void main()

{ int a[5],k,*p; p=a;

for(k=0;k<5;k++)

scanf(“%d”,p++); p=a;

for(k=0;k<5;k++)

printf(“m”,*(p++)); }

11.用指针表示法输出二维数组的个元素。 #include void main()

{static int a[2][3]={{0,1,2,},{3,4,5}}; int k,j,*p;

for(j=0;j<2;j++) {for(k=0;k<3;k++)

printf(“]”,*a[j]+k));

putchar(‘\\n’); }

putchar(‘\\n’); for(j=0;j<2;j++) {for(k=0;k<3;k++)

printf(“]”,*(*(a+j)+k)); putchar(‘\\n’); }

p=a[0];

for(j=0;j<2;j++) {for(k=0;k<3;k++)

printf(“]”,*p(++)); putchar(‘\\n’); } }

12.用数组名常量指针输出二维数组,并将数组中的最大元素及所在行列号输出。 #include void main()

{ int i,j,m,n,max;

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; m=0;n=0; max=**a;

for(i=0;i<3;i++) {printf(“\\n”);

for(j=0;j<4;j++)

{printf(“]”,*(*(a+i)+j)); if(max<*(*(a+i)+j)) {max=*(*(a+i)+j); m=i;n=j; } }

}

printf(“\\nmax is:a[-][-]=%-5d”,m,n,max);

}

13.用指向数组元素的指针输出二维数组,并将数组中的最大元素及所在行列号输出。 #include void main()

{ int i,j,m,n,max;

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int *p; p=a[0]; max=*p; m=0;n=0;


C语言程序设计经典题目大汇总(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:3.3.15项目中间验收、交接管理规定

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: