2024年3月31日发(作者:次春海)
.
3.6 个边长a,b,c能构成三凵凵6.00,凵凵s=凵凵
#include
void main() 三角形面积的公式为 area=凵凵凵5.33
{ 已知三角形的三边长例题4.6
char a,b,c,则该三角形的面积#include
c1='a',c2='b',c3='c',c4='10公式为: void main()
1',c5='116'; {
areas(sa)(sb)(sc)
printf("a%c float x,y;
else y=0;
else y=-1;
printf("x=%d,y=%dn",x,y
);
}
x<0,y=-1;x=0,y=0;x>0,y=
1;
程序3
b%ctc%ctabcn",c1,c2,c3
);
printf("tb%c%cn",c4,c5)
;
}
结果aa bb cc
abc
AN
3.8
#include
void main()
{
int c1,c2;
c1=97;
c2=98;
printf("%c%cn",c1,c2);
printf("%d%dn",c1,c2);
}
结果a b
97 98
3,9 #include
viod main()
{
int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%dn",i
,j,m,n);
}
9,11,9,10
【例4.10】输入三角形的
三边长,求三角形面积。
为简单起见,设输入的三
.
,
其中s = (a+b+c)/2,据此
编写程序如下:
#include
#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.2fn”,a,b,c,s)
;
printf(“area=%7.2fn”,area
);
}
程序第8行中sqrt函数是
球平方根的函数。由于要
调用数学函数库中的函
数,必须在程序的开头加
一条#include命令,再把
文件“math.h”包含到程
序中来。注意,以后凡是
在程序中要用到数学函
数库中的函数,都应当包
含“math.h”头文件。
运行情况如下:
3,4,6↙
a=凵凵凵3.00,凵凵b=
凵凵凵4.00,凵凵c=凵
x=111111.111;y=222222.2
22;
printf(“%fn”,x+y);
}
运行结果为:
333333.328125
显然,只有前7位数是有
效数字。千万不要以为凡
是计算机输出的数字都
是准确的。双精度数也可
以用%格式输出,它的有
效位数一般为16位,给
出小数6位。
程序1
#include
void main
{
int x,y;
scanf("%d",&x);
if(x<0)
y=-1;
else
if(x==0) y=0;
else y=1;
printf("x=%d,y=%dn",x,y
);
}
x<0,y=-1;x=0,y=0;x>0,y=
1;
程序2
#include
void main
{
int x,y;
scanf("%d",&x);
if(x>=0)
if(x>0) y=1;
#include
void main
{
int x,y;
scanf("%d",&x);
y=-1;
if(x!=0)
if(x>0) y=1;
else y=0;
printf("x=%d,y=%dn",x,y
);
}
x=o,y=-1;x>0,y=1;x<0,y=
0;
程序4
#include
void main
{
int x,y;
scanf("%d",&x);
y=0;
if(x>=0)
if(x>0) y=1;
else y=-1;
printf("x=%d,y=%dn",x,y
);
}
x>0,x=x,y=1;x=0,y=-1;x<
0,y=0;
程序五 #include
main()
{
int a=3,b=4,c=5,x,y;
printf("%dn",a+b>c&&b=
=c);
.
printf("%dn",a||b+c&&b-c
);
printf("%dn",!(a>b)&&!c|
|1);
printf("%dn",!(x=a)&&(y
=b)&&0);
printf("%dn",!(a+b)+c-1&
&b+c/2);
}
竖着的 0 1 1 01
习题5.5
有一个函数:
y=(x x<1,2x-1
1<=x<10,3x-11 x>=10)
写一段程序,输入x,输
出y值。
解:
main()
{ int x,y;
printf(" 输入 x:");
scanf("%d",&x);
if(x<1) /*x<1*/
{ y=x
printf(" x=%d,
y=x=%d n",x,y)
}
else if(x<10)
{ y=2*x-1;
printf("x=%d,
y=2*x-1=%dn",x,y);
}
else
{ y=3*x-11;
printf("
x=%d, y=3*x-11=%d
n",x,y);
}
}
运行结果:
(1)输入 x:4↙
x=4, 用y=2*x-1=7
(2)输入x:-1↙
.
x=-1, y=x=-1
(3)输入x:20↙
x=20,
y=3*x-11=49
例5.6
求a*X*X+b*x+c=0 方程
的解
例4.12曾介绍过基本的
算法,实际上应该有以下
几种可能
(1)a=o,
(2)b*b-4ac=0,有两个相
等的根。
(3)b*b-4ac>0,有两个不
相等的根。
(4)b*b-4ac<0,有两个共
轭复根。
据此编写程序如下:
#indclude
#indclude
void main()
{
float
a,b,c,disc,x1,x2,realpart,im
agpart;
scanf("%f,%f,%f",&a,&b,
&c);
printf("The equation");
if(fabs(a)<=1e-6)
printf("is not a
quadraticn");
else
{
disc=b*b-4*ac;
if(fabs(disc)<=1e-6)
printf("has two
equal
roots:%8.4fn",-b/(2*a));
else
if(disc>1e-6)
{x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("has
distinct real roots:%8.4f
and %8.4fn",x1,x2);
}
else
{realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf("has complex
roots:n");
printf("%8.4f+%8.4fin",re
alpart,imagpart);
printf("%8.4f-%8.4fin",re
alpart,imagpart);
}
}
}
例题5.7
#include
void main()
{
int c,s;
float p,w,d,f;
scanf("%f,%f,%d",&p,&w,
&s);
if(s>=3000) c=12;
else c=s/250;
switch(c)
{
case 0:d=0;break;
case 1:d=2:break
case 2:
case 3:d=5break;
case 4:
case 5:
case 6:
case 7:d=8;break;
case 8:
case 9:
case 10:
case 11:d=10;break;
case 12:d=15;break;
deflaut:
printf("error");
}
f=p*w*s*(1-d/100.0);
printf("freight=%15.4fn",f
);
}
运行情况如下:
100,20,300↙
freight= 588000.0000
习题5.9
输入四个整数,要求按大
小数序输出。
解:此题采用依次比较的
方法排出其大小顺序。在
学习了循环语句后,可以
有更多的排序方法。
main()
{ int t,a,b,c,d;
printf("请输入四个
整数:");
scanf("%d,%d,%,%d",&a,
&b,&c,&d);
printf("nn
a=%d,b=%d,c=%d,d=%d
n",a,b,c,d);
if(a>b)
{ t=a;a=b;b=t;}
if(a>c)
{ t=a;a=c;c=t}
if(a>d)
{ t=a;a=d;d=t;}
if(b>c)
{ t=b;b=c;c=t;}
if(b>d)
{ t=b;b=d;d=t;}
if(c>d)
{ t=c;c=d;d=t;}
printf("n排序结果如
下:n");
printf(" %d %d d %d
.
n" ,a,b,c,d);
}
运行结果:
请输入四个整数:6,8,
1,4↙
a=6,b=8,c=1,d=4
排序结果如下:
1 4 6 8
习题6.5
解:
main()
{
int n1=100,n2=50,n3=10;
float k;
float s1=0,s2=0,s3=0;
for(k=1;k<=n1;k++)
{
s1=s1+k;
}
for(k=1;k<=n2;k++)
{
s2=s2+k*k;
}
for(k=1;k<=n3;k++)
{
s3=s3+1/k;
}
printf("总和
=%8.2fn",s1+s2+s3);
}
运行结果:
总和=47977.93
习题6.8
main()
{
int n,t,number=20;
float a=2,b=1,s=0;
for(n=1;n<=number;n++)
{
s=s+a/b;
.
t=a,a=a+b,b=t;
}
printf("总和=%9.6fn",s);
}
运行结果:
总和=32.660259
习题6.11
解:
#include"math.h"
main()
{
float a,xn0,xn1;
printf("请输入一个正
数:n");
scanf("%f",&a);
xn0=a/2;
xn1=(xn0+a/xn0)/2;
do
{
xn0=xn1;
xn1=(xn0+a/xn0)/2;
}
while(fabs(xn0-xn1)>=1e-
5);
printf("%5.2f的平方根
=%8.5fn",a,xn1);
}
运行结果:
2↙
2.00的平方根=1.41421
习题7.3
解:/*计算矩阵对角元素
之和*/
main()
{
float a[3][3],sum=0;
int i,j;
printf("请输入矩阵元
素:n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%f",&a[i][j]);
for(i=0;i<3;i++)
sum=sum+a[i][j];
printf("对角元素之和
=%6.2f",sum);
}
运行结果:
请输入矩阵元素:
12 2.5 5.0↙
.4 1.6 4.9↙
30 9.8 5.2↙
对角元素之和=18.80
习题7.4
解:
main()
{ int
a[11]={1,4,6,9,13,16,19,28
,40,100};
int
temp1,temp2,number,end,i
,j;
printf("初始数组如下:
");
for(i=0;i<0;i++)
printf("%5d",a[i]);
printf("n");
printf("输入插入数据:
");
scanf("%d",&number);
end=a[9];
if(number>end)
a[10]=number;
else
{ for(i=0;i<10;i++)
{ if(a[i]>number)
{ temp1=a[i];
a[i]=number;
for(j=i+1;j<11;j++)
{ temp2=a[j];
a[j]=temp1;
temp1=temp2;
}
break;
}
}
}
for(i=0;i<11;i++)
printf("%6d",a[i]);
}
运行结果
初始数据如下:1 4 6 9
13 16 19 28 40 100
输入插入数据:5↙
1 4 5 6 9 13 16 19
28 40 100
例1-2
#include
/* This is the main
program */
main()
{ int a,b,sum;
a=10;
b=24;
sum=add(a,b);
printf(”
sum= %dn",sum);
}
int add(int x,int y)
{ int z;
z=x+y;
return(z);
}
运行结果:
sum=34
例1-4——求两整型数中
的较小的那个数的值
#include
int xmin( int x, int
y ) /*用户自定义
函数*/
{ int m;
if ( x< y )
m = x;
.
else m ;
= y;
return(m); printf("%d,%d,%dn",a
} ,b,c);
main() getch();
}
{ int a,b,min ; 结果:a=4,b=5,c=0
,a,a,a,a,a);
运行结果:Hello,world!
•••Hello,world!
•••••Hello
例 char c1,c2;
scanf(“%3c%2c”,&c1,&c2
);
输入 abcde
则‘a’c1, ‘d’
c2
printf("请输入
两个整型数 n");
scanf("%d %d",
&a,&b);
min =
xmin( a,b );
printf("n
minmum is %d ",min);
}
例2.1:
#include "stdio.h"
#include "conio.h"
main()
{
int a=3,b=5,c;
c=((a++)-3)&&b++?a++:
b++; 或者
c=((a++)-3)&&b++||b++
;
printf("%d,%d,%dn",a
,b,c);
getch();
}
结果:a=4,b=6,c=1
结果:a=4,b=6,c=5
例2.2:
#include "stdio.h"
#include "conio.h"
main()
{
int a=3,b=5,c;
c=((a++)-3)&&b++&&b++
.
例4.1
/*ch4_1.c*/
#include
main()
{ int c;
char a;
c=65; a='B';
putchar(c);
putchar('n'); putchar(a);
}
运行结果:A
B
例 4.2
例 int a=1234;
float f=123.456;
char ch=‘a’;
printf(“%8d,%2dn”,
a,a);
printf(“%f,%8f,%8.1f
,%.2f,%.2en”,f,f,f,
f,f);
printf(“%3cn”,ch);
运行
••••1234,1234
结果:
123.456000,123.456000,
•••123.5,123.46,1.2e+
02
••a
例 static char a[]=
“Hello,world!”
printf(“%sn%15sn%1
0.5sn%2.5sn%.3sn”
Hello
Hel
例 4.3 “-”使用
例 int a=1234;
float f=123.456;
static char c[]=
“Hello,world!”;
printf(“%8d,%-8dn”
,a,a);
printf(“%10.2f,%-10.
1fn”,f,f);
printf(“%10.5s,%-10.
3sn”,c,c);
运行结果:
••••1234,1234••••
••••123.46,123.5•••••
•••• Hello,Hel•••
例
scanf(“%4d%2d%2d”,&yy
,&mm,&dd);
输入 19991015
则1999yy, 10
mm, 15 dd
例
scanf(“%3d%*4d%f”,&k,
&f);
输入
.43
则123k,
8765.43f
例
scanf(“%2d
2024年3月31日发(作者:次春海)
.
3.6 个边长a,b,c能构成三凵凵6.00,凵凵s=凵凵
#include
void main() 三角形面积的公式为 area=凵凵凵5.33
{ 已知三角形的三边长例题4.6
char a,b,c,则该三角形的面积#include
c1='a',c2='b',c3='c',c4='10公式为: void main()
1',c5='116'; {
areas(sa)(sb)(sc)
printf("a%c float x,y;
else y=0;
else y=-1;
printf("x=%d,y=%dn",x,y
);
}
x<0,y=-1;x=0,y=0;x>0,y=
1;
程序3
b%ctc%ctabcn",c1,c2,c3
);
printf("tb%c%cn",c4,c5)
;
}
结果aa bb cc
abc
AN
3.8
#include
void main()
{
int c1,c2;
c1=97;
c2=98;
printf("%c%cn",c1,c2);
printf("%d%dn",c1,c2);
}
结果a b
97 98
3,9 #include
viod main()
{
int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%dn",i
,j,m,n);
}
9,11,9,10
【例4.10】输入三角形的
三边长,求三角形面积。
为简单起见,设输入的三
.
,
其中s = (a+b+c)/2,据此
编写程序如下:
#include
#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.2fn”,a,b,c,s)
;
printf(“area=%7.2fn”,area
);
}
程序第8行中sqrt函数是
球平方根的函数。由于要
调用数学函数库中的函
数,必须在程序的开头加
一条#include命令,再把
文件“math.h”包含到程
序中来。注意,以后凡是
在程序中要用到数学函
数库中的函数,都应当包
含“math.h”头文件。
运行情况如下:
3,4,6↙
a=凵凵凵3.00,凵凵b=
凵凵凵4.00,凵凵c=凵
x=111111.111;y=222222.2
22;
printf(“%fn”,x+y);
}
运行结果为:
333333.328125
显然,只有前7位数是有
效数字。千万不要以为凡
是计算机输出的数字都
是准确的。双精度数也可
以用%格式输出,它的有
效位数一般为16位,给
出小数6位。
程序1
#include
void main
{
int x,y;
scanf("%d",&x);
if(x<0)
y=-1;
else
if(x==0) y=0;
else y=1;
printf("x=%d,y=%dn",x,y
);
}
x<0,y=-1;x=0,y=0;x>0,y=
1;
程序2
#include
void main
{
int x,y;
scanf("%d",&x);
if(x>=0)
if(x>0) y=1;
#include
void main
{
int x,y;
scanf("%d",&x);
y=-1;
if(x!=0)
if(x>0) y=1;
else y=0;
printf("x=%d,y=%dn",x,y
);
}
x=o,y=-1;x>0,y=1;x<0,y=
0;
程序4
#include
void main
{
int x,y;
scanf("%d",&x);
y=0;
if(x>=0)
if(x>0) y=1;
else y=-1;
printf("x=%d,y=%dn",x,y
);
}
x>0,x=x,y=1;x=0,y=-1;x<
0,y=0;
程序五 #include
main()
{
int a=3,b=4,c=5,x,y;
printf("%dn",a+b>c&&b=
=c);
.
printf("%dn",a||b+c&&b-c
);
printf("%dn",!(a>b)&&!c|
|1);
printf("%dn",!(x=a)&&(y
=b)&&0);
printf("%dn",!(a+b)+c-1&
&b+c/2);
}
竖着的 0 1 1 01
习题5.5
有一个函数:
y=(x x<1,2x-1
1<=x<10,3x-11 x>=10)
写一段程序,输入x,输
出y值。
解:
main()
{ int x,y;
printf(" 输入 x:");
scanf("%d",&x);
if(x<1) /*x<1*/
{ y=x
printf(" x=%d,
y=x=%d n",x,y)
}
else if(x<10)
{ y=2*x-1;
printf("x=%d,
y=2*x-1=%dn",x,y);
}
else
{ y=3*x-11;
printf("
x=%d, y=3*x-11=%d
n",x,y);
}
}
运行结果:
(1)输入 x:4↙
x=4, 用y=2*x-1=7
(2)输入x:-1↙
.
x=-1, y=x=-1
(3)输入x:20↙
x=20,
y=3*x-11=49
例5.6
求a*X*X+b*x+c=0 方程
的解
例4.12曾介绍过基本的
算法,实际上应该有以下
几种可能
(1)a=o,
(2)b*b-4ac=0,有两个相
等的根。
(3)b*b-4ac>0,有两个不
相等的根。
(4)b*b-4ac<0,有两个共
轭复根。
据此编写程序如下:
#indclude
#indclude
void main()
{
float
a,b,c,disc,x1,x2,realpart,im
agpart;
scanf("%f,%f,%f",&a,&b,
&c);
printf("The equation");
if(fabs(a)<=1e-6)
printf("is not a
quadraticn");
else
{
disc=b*b-4*ac;
if(fabs(disc)<=1e-6)
printf("has two
equal
roots:%8.4fn",-b/(2*a));
else
if(disc>1e-6)
{x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("has
distinct real roots:%8.4f
and %8.4fn",x1,x2);
}
else
{realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf("has complex
roots:n");
printf("%8.4f+%8.4fin",re
alpart,imagpart);
printf("%8.4f-%8.4fin",re
alpart,imagpart);
}
}
}
例题5.7
#include
void main()
{
int c,s;
float p,w,d,f;
scanf("%f,%f,%d",&p,&w,
&s);
if(s>=3000) c=12;
else c=s/250;
switch(c)
{
case 0:d=0;break;
case 1:d=2:break
case 2:
case 3:d=5break;
case 4:
case 5:
case 6:
case 7:d=8;break;
case 8:
case 9:
case 10:
case 11:d=10;break;
case 12:d=15;break;
deflaut:
printf("error");
}
f=p*w*s*(1-d/100.0);
printf("freight=%15.4fn",f
);
}
运行情况如下:
100,20,300↙
freight= 588000.0000
习题5.9
输入四个整数,要求按大
小数序输出。
解:此题采用依次比较的
方法排出其大小顺序。在
学习了循环语句后,可以
有更多的排序方法。
main()
{ int t,a,b,c,d;
printf("请输入四个
整数:");
scanf("%d,%d,%,%d",&a,
&b,&c,&d);
printf("nn
a=%d,b=%d,c=%d,d=%d
n",a,b,c,d);
if(a>b)
{ t=a;a=b;b=t;}
if(a>c)
{ t=a;a=c;c=t}
if(a>d)
{ t=a;a=d;d=t;}
if(b>c)
{ t=b;b=c;c=t;}
if(b>d)
{ t=b;b=d;d=t;}
if(c>d)
{ t=c;c=d;d=t;}
printf("n排序结果如
下:n");
printf(" %d %d d %d
.
n" ,a,b,c,d);
}
运行结果:
请输入四个整数:6,8,
1,4↙
a=6,b=8,c=1,d=4
排序结果如下:
1 4 6 8
习题6.5
解:
main()
{
int n1=100,n2=50,n3=10;
float k;
float s1=0,s2=0,s3=0;
for(k=1;k<=n1;k++)
{
s1=s1+k;
}
for(k=1;k<=n2;k++)
{
s2=s2+k*k;
}
for(k=1;k<=n3;k++)
{
s3=s3+1/k;
}
printf("总和
=%8.2fn",s1+s2+s3);
}
运行结果:
总和=47977.93
习题6.8
main()
{
int n,t,number=20;
float a=2,b=1,s=0;
for(n=1;n<=number;n++)
{
s=s+a/b;
.
t=a,a=a+b,b=t;
}
printf("总和=%9.6fn",s);
}
运行结果:
总和=32.660259
习题6.11
解:
#include"math.h"
main()
{
float a,xn0,xn1;
printf("请输入一个正
数:n");
scanf("%f",&a);
xn0=a/2;
xn1=(xn0+a/xn0)/2;
do
{
xn0=xn1;
xn1=(xn0+a/xn0)/2;
}
while(fabs(xn0-xn1)>=1e-
5);
printf("%5.2f的平方根
=%8.5fn",a,xn1);
}
运行结果:
2↙
2.00的平方根=1.41421
习题7.3
解:/*计算矩阵对角元素
之和*/
main()
{
float a[3][3],sum=0;
int i,j;
printf("请输入矩阵元
素:n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%f",&a[i][j]);
for(i=0;i<3;i++)
sum=sum+a[i][j];
printf("对角元素之和
=%6.2f",sum);
}
运行结果:
请输入矩阵元素:
12 2.5 5.0↙
.4 1.6 4.9↙
30 9.8 5.2↙
对角元素之和=18.80
习题7.4
解:
main()
{ int
a[11]={1,4,6,9,13,16,19,28
,40,100};
int
temp1,temp2,number,end,i
,j;
printf("初始数组如下:
");
for(i=0;i<0;i++)
printf("%5d",a[i]);
printf("n");
printf("输入插入数据:
");
scanf("%d",&number);
end=a[9];
if(number>end)
a[10]=number;
else
{ for(i=0;i<10;i++)
{ if(a[i]>number)
{ temp1=a[i];
a[i]=number;
for(j=i+1;j<11;j++)
{ temp2=a[j];
a[j]=temp1;
temp1=temp2;
}
break;
}
}
}
for(i=0;i<11;i++)
printf("%6d",a[i]);
}
运行结果
初始数据如下:1 4 6 9
13 16 19 28 40 100
输入插入数据:5↙
1 4 5 6 9 13 16 19
28 40 100
例1-2
#include
/* This is the main
program */
main()
{ int a,b,sum;
a=10;
b=24;
sum=add(a,b);
printf(”
sum= %dn",sum);
}
int add(int x,int y)
{ int z;
z=x+y;
return(z);
}
运行结果:
sum=34
例1-4——求两整型数中
的较小的那个数的值
#include
int xmin( int x, int
y ) /*用户自定义
函数*/
{ int m;
if ( x< y )
m = x;
.
else m ;
= y;
return(m); printf("%d,%d,%dn",a
} ,b,c);
main() getch();
}
{ int a,b,min ; 结果:a=4,b=5,c=0
,a,a,a,a,a);
运行结果:Hello,world!
•••Hello,world!
•••••Hello
例 char c1,c2;
scanf(“%3c%2c”,&c1,&c2
);
输入 abcde
则‘a’c1, ‘d’
c2
printf("请输入
两个整型数 n");
scanf("%d %d",
&a,&b);
min =
xmin( a,b );
printf("n
minmum is %d ",min);
}
例2.1:
#include "stdio.h"
#include "conio.h"
main()
{
int a=3,b=5,c;
c=((a++)-3)&&b++?a++:
b++; 或者
c=((a++)-3)&&b++||b++
;
printf("%d,%d,%dn",a
,b,c);
getch();
}
结果:a=4,b=6,c=1
结果:a=4,b=6,c=5
例2.2:
#include "stdio.h"
#include "conio.h"
main()
{
int a=3,b=5,c;
c=((a++)-3)&&b++&&b++
.
例4.1
/*ch4_1.c*/
#include
main()
{ int c;
char a;
c=65; a='B';
putchar(c);
putchar('n'); putchar(a);
}
运行结果:A
B
例 4.2
例 int a=1234;
float f=123.456;
char ch=‘a’;
printf(“%8d,%2dn”,
a,a);
printf(“%f,%8f,%8.1f
,%.2f,%.2en”,f,f,f,
f,f);
printf(“%3cn”,ch);
运行
••••1234,1234
结果:
123.456000,123.456000,
•••123.5,123.46,1.2e+
02
••a
例 static char a[]=
“Hello,world!”
printf(“%sn%15sn%1
0.5sn%2.5sn%.3sn”
Hello
Hel
例 4.3 “-”使用
例 int a=1234;
float f=123.456;
static char c[]=
“Hello,world!”;
printf(“%8d,%-8dn”
,a,a);
printf(“%10.2f,%-10.
1fn”,f,f);
printf(“%10.5s,%-10.
3sn”,c,c);
运行结果:
••••1234,1234••••
••••123.46,123.5•••••
•••• Hello,Hel•••
例
scanf(“%4d%2d%2d”,&yy
,&mm,&dd);
输入 19991015
则1999yy, 10
mm, 15 dd
例
scanf(“%3d%*4d%f”,&k,
&f);
输入
.43
则123k,
8765.43f
例
scanf(“%2d