- 程序设计基础教程:C语言
- 常东超 刘培胜 郭来德等编著
- 671字
- 2025-02-17 17:28:19
3.3 程序举例
这一节再通过几个例子来说明输入输出函数的应用,请读者细心观察输入和输出格式。
【例3.5】 从键盘输入3个数,输出其平均值。
#include<stdio.h>
void main()
{ int a,b,c;
float aver;
scanf("%d%d%d",&a,&b,&c);
aver=(a+b+c)/3.0;
printf("aver=%7.2f\n",aver);
}
输入:1 6 9↙
输出:aver= 5.33
【例3.6】 交换两个变量的值。
#include<stdio.h>
void main()
{ int a,b,t,*pa=&a,*pb=&b;
scanf("a=%d,b=%d",&a,&b); /*等价于scanf("a=%d,b=%d",pa,pb);*/
t=*pa;*pa=*pb;*pb=t; /*等价于t=a;a=b;b=t; */
printf("a=%d,b=%d\n",a,b); /*等价于printf("a=%d,b=%d\n",*pa,*pb);*/
}
输入:a=3,b=5↙
输出:a=5,b=3
【例3.7】 输入一大写字母,要求输出其对应的小写字母。
#include<stdio.h>
void main()
{ char ch;
scanf("ch=%c",&ch); /*本语句也可以使用ch=getchar();*/
ch+=32;
printf("ch=%c\n",ch); /*本语句也可以使用putchar(ch);*/
}
输入:ch=A↙
输出:ch=a
【例3.8】 输入三角形的三边长,求三角形面积。
已知三角形的三边长a,b,c,则该三角形的面积公式为:
其中s=(a+b+c)/2。
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%7.2f\n",area);
}
输入:3.5,4.6,5.7↙
输出:area= 8.05
【例3.9】 输入一个实数,要求按保留小数点后2位,第3位四舍五入输出。
#include<stdio.h>
void main()
{ float x;
scanf("x=%f",&x);
x=(int)(x*100+0.5)/100.0;
printf("x=%f\n",x);
}
输入:x=12.34567↙
输出:x=12.350000
【例3.10】 输入两个两位的正整数,要求把这两个正整数重新组合后输出。
例如:a=35,b=46,经重新组合后c=3456输出。
#include<stdio.h>
void main()
{ int a,b,c;
scanf("a=%d,b=%d",&a,&b);
c=a/10*1000+b/10*100+a%10*10+b%10;
printf("c=%d\n",c);
}
输入:a=35,b=46↙
输出:c=3456