c 语言 交换两个变量的值
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 交换两个变量的值:用两种方法:
1) main () (3-5-1a(3-5-1b)
printf(“a,b=?”“a,b=?”);
scanf(“%d,%d”“%d,%d”,&a,&b);
pringf(“a=%d\tb=%d\n”“a=%d\tb=%d\n”,a,b) ;
t=a;a=b;b=t; a=a+b;b=a-b;a=a-b;
pringf(“a=%d\tb=%d\n”,a,b); pringf(“a=%d\tb=%d\n”,a,b);
} /*利用第三变量*/ } /*利用自身*/
3) 利用全局变量交换两个变量的值:
int a=3,b=7; Qj-swap2
main()
{ swap ()
printf("%d,%d\n",x,y);
}
swap()
{ a=a+b;b=a-b;a=a-b}
4)利用指针变量交换两个变量的值:
main ()
{ int a=3,b=10,*pa=&a,*pb=&b;
clrscr();
printf("a=%d\tb=%d\n",a,b);
swap (pa,pb);
printf("a=%d\tb=%d\n",*pa,*pb);
}
swap (int *x,int *y)
{ int *t;
t=*x;*x=*y;*y=t;
}
4)下列程序运行的结果:
(1)int x=1,y=2; Qj-swap1
main ()
{ int a=3,b=4;
move(x,y);move(a,b);
printf("%d, %d, %d, %d",x,y,a,b);
}
move(int p,int q)
{ int k ;
k=p;p=q;q=k;
}
(2)int x=1,y=2; 全局main ()
{ int a=3,b=4;
move(x,y);move(a,b);
printf("%d, %d, %d, %d",x,y,a,b);
}
move(int x,int y) x,y 局部的
{ int k ;
k=x;x=y;y=k;
}
(3) int x=30,y=50;
sub(x,y)
{ y=x>y?x:y;
return y;
}
main ()
{ int x=100;
clrscr();
printf("sub(x,y)=%d\n",sub(x,y));
printf("x=%d\ty=%d\n",x,y);
}
(4)程序填空
Vodi swap( ①__ int *a, int *b _ ) A卷 p162
{ int t;
t=*a;
②__ *a=*b __ ;
③____ *b=t ___ ;
}
main( )
{ int a,b;
scanf(″%d,%d″,&a,&b);
④____swap(&a,&b)___ ;
printf(″a=%d,b=%d″,a,b);
}
2.求半径为 10的圆的面积。(例1-3-12)
main ()
{ float r,s; /* 定义两个实型变量*/
clrscr(); /* 清屏幕*/
r=10; /* 给半径变量 r赋值 */
s=3.14159*r*r; /*用公式计算圆的面积s 的值*/
printf("r=%f\tarea=%f\n",r,s); /* 输出 r和s的值*/
}
float sy(float x)
{ float s;
s=3.14159*x*x;
return s;
}
3.求多边形(五边形)的面积(三个的三角形面积之和)(3-5-7)
#include "math.h" b
main() c f { float a=2.3,b=3,c=3,d=2,e=2.5,f=2,g=1.4; e g float p1,p2,p3,s3,s1,s2; a
p1=(a+b+c)/2;s1=sqrt(p1*(p1-a)*(p1-b)*(p1-c)); d
p2=(c+d+e)/2;s2=sqrt(p2*(p2-c)*(p2-d)*(p2-e));
p3=(e+f+g)/2;s3=sqrt(p3*(p3-e)*(p3-f)*(p3-g));
printf("a=%f\tb=%f\tc=%f\tarea1=%f\n",a,b,c,s1);
printf("c=%f\td=%f\te=%f\tarea2=%f\n",c,d,e,s2);
printf("e=%f\tf=%f\tg=%f\tarea3=%f\n",e,f,g,s3);
printf("area total=%f\n",s1+s2+s3);
}
#include "math.h" 函数形式
main()
{ float area() /*函数声明*/
float a=2.3,b=3,c=3,d=2,e=2.5,f=2,g=1.4,st;
st= area(a,b,c)+ area(c,d,e)+ area(e,f,g);
printf("area total=%f\n",st);
}
float area(a,b,c)
float a,b,c;
{ float p,s;
p=(a+b+c)/2;
s=sqrt(p1*(p-a)*(p-b)*(p-c));
return s
}
调用上述函数,求阴影部分的面积(圆的面积-三角形的面积)(3-5-8)
#include "math.h"
main()
{ float a=2.3,b=3,c=3,r=10;
float p, ,s2,s;
s=sy(r)-area(a,b,c);
printf("r=%f\terae2=%f\n",r,s2);
printf("area total=%f\n",s2-s1);
}
3.英文大小写转换(3-5-11)。
#include