填空题
9.19 若有以下定义:
double w[10];
则w数组元素下标的上限是____,下限是____。
答案: 9 0
9.20 以下程序的输出结果是____。
main()
{ int a[]={2,4,6},*prt=&a[0],x=8,y,z;
for(y=0; y<3; y++)
z=(*(prt+y) printf("%d\\n",z);
}
答案:6
9.21 以下程序的输出结果是____。
main()
{ int arr[10],i,k=0;
for(i=0; i<10; i++) arr[i]=i;
for(i=0; i<4; i++) k+=arr[i]+i;
printf("%d\\n",k);
}
答案:12
9.22 以下程序的输出结果是____。
#define N 5
fun(char *s,char a,int n)
{ int j;
*s=a; j=n;
while(a return j;
}
main()
{ char s[N+1]; int k,p;
for(k=1; k<=N; k++) s[k]=\’\’\’\’A\’\’\’\’+k+1;
printf("%d\\n",fun(s,\’\’\’\’E\’\’\’\’,N));
}
答案:3
9.23 若输入3个整数3,2,1,则以下程序的输出结果是____.
void sub(int n,int uu[])
{ int t;
t=uu[n--]; t+=3*uu[n];
n++;
if(t>=10)
{ uu[n++]=t/10; uu[n]=t; }
else uu[n]=t;
}
main()
{ int i,n,aa[10]={0};
scanf("%d%d%d",&n,&aa[0],&aa[1]);
for(i=1; i for(i=0; i<=n; i++) printf("%d",aa[i]);
printf("\\n");
}
答案: 2721
9.24 以下程序的输出结果是____.
main()
{ int i,j,row,col,m;
int arr[3][3]={{100,200,300},{28,72,-30},{-850,2,6}};
m=arr[0][0];
for(i=0; i<3; i++)
for(j=0; j<3; j++)
if(arr[i][j] { m=arr[i][j]; row=i; col=j; }
printf("%d,%d,%d\\n",m,row,col);
}
答案: -850,2,0
9.25 以下findmax返回数组s中最大元素的下标,数组中元素的个数由t传入,请填空。
findmax(int s[],int t)
{ int k,p;
for(p=0,k=p; p if(s[p]>s[k]) ____;
return ____;
}
答案: k=p k
9.26 以下程序统计从终端输入的字符中每个大写字母的个数,num[0]中统计字母A的个数,
其它依次类推.用#号结束输入,请填空.
#include "stdio.h"
#include "ctype.h"
main()
{ int num[26]={0},i; char c;
while(____!=\’\’\’\’#\’\’\’\’)
if(isupper(c)) num[___]+=1;
for(i=0; i<26; i++)
if(num[i]) printf("%c: %d\\n",i+\’\’\’\’A\’\’\’\’,num[i]);
}
答案: (c=getchar()) c-\’\’\’\’A\’\’\’\’