- 相關(guān)推薦
2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)特訓(xùn)題
為了幫助大家提高計(jì)算機(jī)二級(jí)C語(yǔ)言考試成績(jī),以下是yjbys考試網(wǎng)搜索整理的2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)特訓(xùn)題,希望對(duì)大家有所幫助。
填空題
給定程序中,函數(shù)fun的功能是:對(duì)形參s所指字符串中下標(biāo)為奇數(shù)的字符按ASCII碼大小遞增排序,并將排序后下標(biāo)為奇數(shù)的字符取出,存入形參p所指字符數(shù)組中,形成一個(gè)新串。
例如,形參s所指的字符串為:baawrskjghzlicda,執(zhí)行后p所指字符數(shù)組中的字符串應(yīng)為:aachjlsw。
請(qǐng)?jiān)诔绦虻南聞澗處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
給定源程序:
#include
void fun(char *s, char *p)
{ int i, j, n, x, t;
n=0;
for(i=0; s[i]!='\0'; i++) n++;
for(i=1; i
___1___;
for(j=___2___+2 ; j
if(s[t]>s[j]) t=j;
if(t!=i)
{ x=s[i]; s[i]=s[t]; s[t]=x; }
}
for(i=1,j=0; i
/
p[j]=___3___;
}
main()
{ char s[80]="baawrskjghzlicda", p[50];
printf("\nThe original string is : %s\n",s);
fun(s,p);
printf("\nThe result is : %s\n",p);
}
解題思路:
第一處:取外循環(huán)的控制變量,所以應(yīng)填:t=i。
第二處:內(nèi)循環(huán)的起始變量,應(yīng)該是i+2,所以應(yīng)填:i。
第三處:新字符串處理完后應(yīng)添加字符串結(jié)束符,所以應(yīng)填:'\0'。
改錯(cuò)題
給定程序MODI1.C中函數(shù) fun 的功能是:用下面的公式求π的近似值,直到最后一項(xiàng)的絕對(duì)值小于指定的數(shù)(參數(shù)num )為止:
π 1 1 1
┄┄≈1 - ┄┄ + ┄┄ - ┄┄ + ...
4 3 5 7
例如, 程序運(yùn)行后, 輸入0.0001, 則程序輸出3.1414。
請(qǐng)改正程序中的錯(cuò)誤,使它能輸出正確的結(jié)果。
注意:不要改動(dòng) main 函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
給定源程序:
#include
#include
float fun ( float num )
{ int s ;
float n, t, pi ;
t = 1 ; pi = 0 ; n = 1 ; s = 1 ;
while(t >= num)
{
pi = pi + t ;
n = n + 2 ;
s = -s ;
t = s % n ;
}
pi = pi * 4 ;
return pi ;
}
main( )
{ float n1, n2 ;
printf("Enter a float number: ") ;
scanf("%f", &n1) ;
n2 = fun(n1) ;
printf("%6.4f\n", n2) ;
}
解題思路:
第一處:要判斷t的最后一項(xiàng)絕對(duì)小于指定的數(shù),由于t是實(shí)數(shù),那么應(yīng)改為while(fabs(t)>=num)。
第二處:t是s除以n的值,而不是取余數(shù),所以應(yīng)改t=s/n;。
編程題
請(qǐng)編寫(xiě)一個(gè)函數(shù)void fun (char a[],char b[],int n),其功能是:刪除一個(gè)字符串中指定下標(biāo)的字符。其中, a指向原字符串, 刪除指定字符后的字符串存放在b所指的數(shù)組中,n中存放指定的下標(biāo)。
例如,輸入一個(gè)字符串: World,然后輸入3,則調(diào)用該函數(shù)后的結(jié)果為: Word。
注意: 部分源程序在文件PROG1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。
給定源程序:
#include
#include
#define LEN 20
void fun (char a[], char b[], int n)
{
}
main( )
{ char str1[LEN], str2[LEN] ;
int n ;
printf("Enter the string:\n") ;
gets(str1) ;
printf("Enter the position of the string deleted:") ;
scanf("%d", &n) ;
fun(str1, str2, n) ;
printf("The new string is: %s\n", str2) ;
NONO() ;
}
解題思路:
本題是利用字符串拷貝和字符串連接來(lái)生成新的字符串。
參考答案:
void fun (char a[], char b[], int n)
{
strncpy(b, a, n) ;
b[n] = 0 ;
strcat(b, a + n + 1) ;
}
【計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)特訓(xùn)題】相關(guān)文章:
2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)最終預(yù)測(cè)題07-08
2024二級(jí)c語(yǔ)言上機(jī)題庫(kù)04-18
2016年計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)操作題及答案10-11
計(jì)算機(jī)二級(jí)C語(yǔ)言真題09-30
計(jì)算機(jī)二級(jí)C語(yǔ)言筆試真題10-12
計(jì)算機(jī)二級(jí)C語(yǔ)言真題填空題05-08
計(jì)算機(jī)二級(jí)C語(yǔ)言編程題題型09-06
2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)測(cè)試題附答案10-24