·46·
void main( ) {
float a[20],pjz=0,s,t; int i,k; for(i=0;i<20;i++) pjz+=a[i]; s=fabs(a[0]-pjz); for(i=1;i<20;i++) if(fabs(a[i]-pjz)
s=fabs(a[i]-pjz); t=a[i]; } }
-------------------------------------------------------------------------------- for(i=0;i<20;i++) scanf(“%f”,&a[i]); pjz/=20; printf(“%f,%f\\n”,piz,t);
(2) 以下程序以每行 10个数据的形式输出 a 数组,请填空。 void main( ) {
int a[50],i;
printf(\输入50个整数:\
for(i=0; i<50; i++) scanf( \for(i=1; i<=50; i++) {
if( _________ ) printf( \printf( \} } &a[i]
·47·
i==0 a[i-1]
(3) 下面程序的功能是输出数组 s 中最大元素的下标,请填空。 void main( ) { int k, p;
int s[ ]={1,-9,7,2,-10,3}; for(p=0,k=p; p<6; p++) if(s[p]>s[k]) _____; printf(\} k=p
(4) 这个程序输入了20个数存放在一个数组中,并且输出其中最大者与最小者、20个数的和及它们的平均值。请填空。 void main() {
char array_____ ;
int max,min,average,sum; int i;
for(i=0;i<_____;i++) {
printf(\请输入第%d个数:\scanf(\}
max=array[0];
·48·
min=array[0];
for(i=0;i<=_____;i++) {
if(max
average =_________;
printf(\个数中最大值是%d,\printf(\最小值是%d,\printf(\和是%d,\
printf(\平均值是%d.\\n\} [20] 20 &array[i] 19
max=array[i]; min=array[i]; sum+array[i] sum/20
·49·
5. 阅读程序,分析程序的功能。
(1)
#include
char s[80]; int i ;
for(i=0; i<80; i++) {
s[i]=getchar( ); if(s[i]=='\\n') break; }
s[i]='\\0'; i=0;
while(s[i]) putchar(s[i++]); putchar(?\\n?); }
从键盘输入一个字符串,并逐一输出 (2)
#include
char str[10][80], c[80]; int i;
·50·
for(i=0; i<10; i++) gets(str[i]); strcpy(c, str[0]) ;
for(i=1; i<10; i++) if(strlen(c) printf( \} 从键盘输入若干字符串,找到其中最长的一个输出及它的长度 (3) #include char a[10][80], c[80]; int i, j, k; for(i=0; i<10; i++) gets(a[i]); for(i=0; i<9; i++) { k=i ; for(j=i+1; j<10; j++) if(strcmp (a [j], a[k])<0) k=j; if(k!=i ) {strcpy(c,a[i]) ; strcpy(a[i], a[k]); strcpy(a[k],c);} // 字符串交换 } for(i=0; i<10; i++) puts (a[i]); }