scanf("a=%d,b=%d,c=%d",&a,&b,&c);
则输入应为:
a=5,b=6,c=7
6) 如输入的数据与输出的类型不一致时,虽然编译能够通过,但结果将不正确。
【例 4.10】
main(){
int a;
printf("input a number\n");
scanf("%d",&a);
printf("%ld",a);
谭浩强 C 语言程序设计 2001 年 5 月 1 日
由于输入数据类型为整型,而输出语句的格式串中说明为长整型,因此输出结果和输入
数据不符。如改动程序如下:
【例 4.11】
main(){
long a;
printf("input a long integer\n");
scanf("%ld",&a);
printf("%ld",a);
运行结果为:
input a long integer
1234567890
1234567890
当输入数据改为长整型后,输入输出数据相等。
【例 4.12】
main(){
char a,b,c;
printf("input character a,b,c\n");
scanf("%c %c %c",&a,&b,&c);
printf("%d,%d,%d\n%c,%c,%c\n",a,b,c,a-32,b-32,c-32);
输入三个小写字母,输出其 ASCII 码和对应的大写字母。
【例 4.13】
main(){
int a;
long b;
float f;
double d;
char c;
printf("\nint:%d\nlong:%d\nfloat:%d\ndouble:%d\nchar:%d\n",sizeof(a),sizeof(b
),sizeof(f),sizeof(d),sizeof(c));
输出各种数据类型的字节长度。
谭浩强 C 语言程序设计 2001 年 5 月 1 日
4.6 顺序结构程序设计举例
【例 4.14】输入三角形的三边长,求三角形面积。
已知三角形的三边长 a,b,c,则该三角形的面积公式为:
area =
s(s ? a)(s ? b)(s c
) ,
其中 s = (a+b+c)/2
源程序如下:
#include
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(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n”,a,b,c,s);
printf(“area=%7.2f\n”,area);
【例 4.15】求ax2+bx+c=0 方程的根,a,b,c由键盘输入,设b2-4ac>0。
求根公式为:
= ? +
= ?
-240a
x?bb2 -2131
b b24ac
=?bba
0 0
一秒记住www点dier22点com,最新小说等你来