for(i=0;i<3;i++) for(j=0;j<3;j++) {
if(a[i][j]>max) {
max=a[i][j]; row=i+1; column=j+1; } }
printf(\}
(书中例题5.5,p123) max=9,row=3,column=1 (3)
#include
void func();
void main() {
static int x=5; int y; y=n;
printf(\ func();
printf(\}
void func() {
static int x=4; int y=10; x=x+2; n=n+2; y=y+n;
printf(\}
main:x=5,y=1,n=1 func:x=6,y=13,n=3 main:x=5,y=1,n=3
(4)
#include
char name[20]; int count; };
void main() {
struct person leader[3]={{\ char name[20],m,n; for(m=1;m<7;m++) {
scanf(\ for(n=0;n<3;n++)
if (!strcmp(name,leader[n].name)) {
leader[n].count++; break; } }
printf(\
for(m=0;m <3;m++)
printf(\}
当程序运行时,键入情况如下: Li Wang Lei Li Wang Zhang
写出程序的输出结果。(基本上是书中例题) Li:2 Zhang:1 Wang:2
(5)
#include
void main() {
char *name[]={\ int a,b,n=4; char *temp;
for(a=0;a if(strcmp(name[a],name[b])>0) { temp=name[a]; name[a]=name[b]; name[b]=temp ; } } 在此之前是书中的例题7.19 for(a=0;a printf(\ 输出时应该能够识别指针及偏移情况 } capital ndex rge ll 六、 编写程序 (35分) 2 (1) 求一元二次方程ax +bx+c=0的根,实系数a,b,c从终端输入,只考虑两个不同实根和两个相同的实根 (9分) (书中例题3.4,p66`67) #include void main() { float a,b,c; float x1,x2; float x3,x4; float m; printf(\ scanf(\ if(a==0) { printf(\ return; } m=b*b-4*a*c; if(m>0) { x1=(-b+sqrt(m))/(2*a); x2=(-b-sqrt(m))/(2*a); printf(\ } else if(m==0) { x1=x2=(-b+sqrt(m))/(2*a); printf(\ } else { x3=-b/(2*a); x4=sqrt(m)/(2*a); printf(\ printf(\ } } (2)编写一个函数,求s=a+aa+aaa+--------+aaaaaaaaa-----a,其中a是一个数字,例如2+22+222+2222(此时n=4)。主函数a和n的输入,调用所函数和输出所求的 累加和;编写的函数完成计算。 (9分) 注意:不得使用全局变量,注意程序结构 (书中习题3:4。16) #include long Cal(long a,long n); main() { long sn=0; long a,n; printf(\ scanf(\ sn = Cal(a,n); printf(\} long int Cal(long a,long n)