全国计算机等级考试题库二级C操作题100套(第66套)
第66套:
給定程序中,函數fun的功能是:將形參std所指結構體數組中年齡最大者的數據作為函數值返回,并在main函數中輸出。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結
果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:
#include <stdio.h>
typedef struct
{ char name[10];
int age;
}STD;
STD fun(STD std[], int n)
{ STD max; int i;
max= 1;
for(i=1; i<n; i++)
if(max.age<2) max=std[i];
return max;
}
main( )
{ STD std[5]={“aaa”,17,“bbb”,16,“ccc”,18,“ddd”,17,“eee”,15 };
STD max;
max=fun(std,5);
printf("\nThe result: \n");
printf("\nName : %s, Age : %d\n", 3,max.age);
}
解題思路:
本題是從結構體中找出年齡最大的記錄。
第一處:給存放最大者max賦初值,所以應填:*std。
第二處:當前最大者的年齡和結構中所有的年齡進行比較,所以應填:std[i].age。
第三處:輸出最大者的姓名和年齡,所以應填:max.name。
給定程序MODI1.C中函數 fun 的功能是:實現兩個整數的交換。
例如給a和b分別輸入:60 和 65,輸出為:a = 65 b = 60
請改正程序中的錯誤,使它能得出正確的結果。
注意:不要改動 main 函數,不得增行或刪行,也不得更改程序的結構!
給定源程序:
#include <stdio.h>
void fun ( int a, b )
{ int t;
t = b; b = a ; a = t;
}
main ( )
{ int a, b;
printf ( "Enter a , b : “); scanf ( “%d,%d”, &a, &b );
fun ( &a , &b ) ;
printf (” a = %d b = %d\n ", a, b );
}
解題思路:
第一處:函數形參定義不正確,在定義第2個形參時,也應加上int。由于通過該函數實現兩數交換,在C語言中,必須交換地址中的值,所以應定義為int *a,int *b。
第二處:要交換地址中的值,不能交換地址,必須指定地址中的值,因此應改為t=*b;*b=*a;*a=t;。
請編一個函數void fun(int tt[M][N ], int pp[N]),tt指向一個M行N列的
二維數組,求出二維數組每列中最小元素,并依次放入pp所指一維數組中。二維數組中的數已在主函數中賦予。
注意: 部分源程序存在文件PROG1.C中。
請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。
給定源程序:
#include <stdio.h>
#define M 3
#define N 4
void fun ( int tt[M][N], int pp[N] )
{
}
main( )
{ int t [ M ][ N ]={{22,45, 56,30},
{19,33, 45,38},
{20,22, 66,40}};
int p [ N ], i, j, k;
printf ( “The original data is : \n” );
for( i=0; i<M; i++ ){
for( j=0; j<N; j++ )
printf ( “%6d”, t[i][j] );
printf("\n");
}
fun ( t, p );
printf( “\nThe result is:\n” );
for ( k = 0; k < N; k++ ) printf ( " %4d “, p[ k ] );
printf(”\n");
NONO( );
}
解題思路:
本題是求出二維數組每列中最小元素,并依次放入pp所指一維數組中。
參考答案:
void fun ( int tt[M][N], int pp[N] )
{
int i,j, min, k ;
for(i = 0 ; i < N ; i++) {
min = tt[0][i] ; k = 0 ;
for(j = 1 ; j < M ; j++)
if(min > tt[j][i]) {
min=tt[j][i] ;
k = j ;
}
pp[i] = tt[k][i] ;
}
}
總結
以上是生活随笔為你收集整理的全国计算机等级考试题库二级C操作题100套(第66套)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浏览器获取正确的scrollTop值
- 下一篇: 瑞星跌落启示录