計算機二級C語言上機程序填空題
- C語言
- 關注:2.84W次
考慮到一部分同學的計算機二級C語言程序填空題基礎比較薄弱,為此本站小編為大家整理了計算機二級C語言上機程序填空題,希望能夠幫助到同學們。
一、程序填空題
1、給定程序中,函數fun的功能是根據形參i的值返回某個函數的值。當調用正確時, 程序輸出:
x1=5.000000, x2=3.000000, x1*x1+x1*x2=40.000000
請在程序的下劃線處填入正確的內容並把下劃線刪除, 使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
#include
double f1(double x)
{ return x*x; }
double f2(double x, double y)
{ return x*y; }
/**********found**********/
__1__ fun(int i, double x, double y)
{ if (i==1)
/**********found**********/
return __2__(x);
else
/**********found**********/
return __3__(x, y);
}
main()
{ double x1=5, x2=3, r;
r = fun(1, x1, x2);
r += fun(2, x1, x2);
printf("nx1=%f, x2=%f, x1*x1+x1*x2=%fnn",x1, x2, r);
}
2、給定程序中,函數fun的功能是:找出形參s所指字符串中出現頻率最高的字母(不區分大小寫),並統計出其出現的次數。
例如,形參s所指的字符串為:abcAbsmaxless,程序執行後的輸出結果為:
letter 'a' : 3 times
letter 's' : 3 times
請在程序的下劃線處填入正確的內容並把下劃線刪除, 使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
#include
#include
#include
void fun(char *s)
{ int k[26]={0},n,i,max=0; char ch;
while(*s)
{ if( isalpha(*s) ) {
/**********found**********/
ch=tolower(__1__);
n=ch-'a';
/**********found**********/
k[n]+= __2__ ;
}
s++;
/**********found**********/
if(max
}
printf("nAfter count :n");
for(i=0; i<26;i++)
if (k[i]==max) printf("nletter '%c' : %d timesn",i+'a',k[i]);
}
main()
{ char s[81];
printf("nEnter a string:nn"); gets(s);
fun(s);
}
3、給定程序中,函數fun的功能是:將N×N矩陣主對角線元素中的值與反向對角線對應位置上元素中的值進行交換。例如,若N=3,有下列矩陣:
1 2 3
4 5 6
7 8 9交換後為:
3 2 1
4 5 6
9 8 7
請在程序的下劃線處填入正確的內容並把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
#include
#define N 4
/**********found**********/
void fun(int ___1___ , int n)
{ int i,s;
/**********found**********/
for(___2___; i++)
{ s=t[i][i];
t[i][i]=t[i][n-i-1];
/**********found**********/
t[i][n-1-i]=___3___;
}
}
main()
{ int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j;
printf("nThe original array:n");
for(i=0; i
{ for(j=0; j
}
fun(t,N);
printf("nThe result is:n");
for(i=0; i
{ for(j=0; j
}
}
4、給定程序中,函數fun的功能是:找出100至x(x≤999)之間各位上的數字之和為15的所有整數,然後輸出;符合條件的整數個數作為函數值返回。
例如,當n值為500時,各位數字之和為15的整數有:159、168、177、186、195、249、258、267、276、285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。共有26個。
請在程序的下劃線處填入正確的內容並把下劃線刪除, 使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
#include
int fun(int x)
{ int n, s1, s2, s3, t;
/**********found**********/
n=__1__;
t=100;
/**********found**********/
while(t<=__2__)
{ s1=t%10; s2=(t/10)%10; s3=t/100;
if(s1+s2+s3==15)
{ printf("%d ",t);
n++;
}
/**********found**********/
__3__;
}
return n;
}
main()
{ int x=-1;
while(x>999||x<0)
{ printf("Please input(0
printf("nThe result is: %dn",fun(x));
}
5、函數fun的功能是:把形參a所指數組中的最小值放在元素a[0]中,接着把形參a所指數組中的最大值放在a[1]元素中;再把a所指數組元素中的次小值放在a[2]中,把a所指數組元素中的次大值放在a[3];其餘以此類推。例如:若a所指數組中的數據最初排列為:9、1、4、2、3、6、5、8、7;則按規則移動後,數據排列為:1、9、2、8、3、7、4、6、5。形參n中存放a所指數組中數據的個數。
注意:規定fun函數中的max存放當前所找的最大值,px存放當前所找最大值的下標。
請在程序的下劃線處填入正確的內容並把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的`BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
# include
#define N 9
void fun(int a[], int n)
{ int i,j, max, min, px, pn, t;
for (i=0; i
{
/**********found**********/
max = min = ___1___;
px = pn = i;
for (j=i+1; j
/**********found**********/
if (max<___2___)
{ max = a[j]; px = j; }
/**********found**********/
if (min>___3___)
{ min = a[j]; pn = j; }
}
if (pn != i)
{ t = a[i]; a[i] = min; a[pn] = t;
if (px == i) px =pn;
}
if (px != i+1)
{ t = a[i+1]; a[i+1] = max; a[px] = t; }
}
}
main()
{ int b[N]={9,1,4,2,3,6,5,8,7}, i;
printf("nThe original data :n");
for (i=0; i
fun(b, N);
printf("nThe data after moving :n");
for (i=0; i
}
5、函數fun的功能是:把形參a所指數組中的最小值放在元素a[0]中,接着把形參a所指數組中的最大值放在a[1]元素中;再把a所指數組元素中的次小值放在a[2]中,把a所指數組元素中的次大值放在a[3];其餘以此類推。例如:若a所指數組中的數據最初排列為:9、1、4、2、3、6、5、8、7;則按規則移動後,數據排列為:1、9、2、8、3、7、4、6、5。形參n中存放a所指數組中數據的個數。
注意:規定fun函數中的max存放當前所找的最大值,px存放當前所找最大值的下標。
請在程序的下劃線處填入正確的內容並把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
# include
#define N 9
void fun(int a[], int n)
{ int i,j, max, min, px, pn, t;
for (i=0; i
{
/**********found**********/
max = min = ___1___;
px = pn = i;
for (j=i+1; j
/**********found**********/
if (max<___2___)
{ max = a[j]; px = j; }
/**********found**********/
if (min>___3___)
{ min = a[j]; pn = j; }
}
if (pn != i)
{ t = a[i]; a[i] = min; a[pn] = t;
if (px == i) px =pn;
}
if (px != i+1)
{ t = a[i+1]; a[i+1] = max; a[px] = t; }
}
}
main()
{ int b[N]={9,1,4,2,3,6,5,8,7}, i;
printf("nThe original data :n");
for (i=0; i
fun(b, N);
printf("nThe data after moving :n");
for (i=0; i
}
6、給定程序中,函數fun的功能是:對形參s所指字符串中下標為奇數的字符按ASCII碼大小遞增排序,並將排序後下標為奇數的字符取出,存入形參p所指字符數組中,形成一個新串。
例如,形參s所指的字符串為:baawrskjghzlicda,執行後p所指字符數組中的字符串應為:aachjlsw。
請在程序的下劃線處填入正確的內容並把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
#include
void fun(char *s, char *p)
{ int i, j, n, x, t;
n=0;
for(i=0; s[i]!='