二级c语言基础题库100题,二级C语言上题库100题.doc
二級C語言上題庫100題
二級C語言上機試題匯編
第01套:
給定程序中,函數fun的功能是:將形參n所指變量中,各位上為偶數的數去
除,剩余的數按原來從高位到低位的順序組成一個新的數,并通過形參指針n傳回
所指變量。
例如,輸入一個數新的數:為739。
請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結
果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:
#include
voidfun(unsignedlong*n)
{unsignedlongx=0,i;intt;
i=1;
while(*n)
/**********found**********/
{t=*n%__1__;
/**********found**********/
if(t%2!=__2__)
{x=x+t*i;i=i*10;}
*n=*n/10;
}
/**********found**********/
*n=__3__;
}
main()
{unsignedlongn=-1;
while(n|n<0)
{printf("Pleaseinput(0
fun(&n);
printf("\nTheresultis:%ld\n",n);
}
解題思路:
第一處:t是通過取模的方式來得到*n的個位數字,所以應填:10。
第二處:判斷是否是奇數,所以應填:0。
第三處:最后通形參n來返回新數x,所以應填:x。
***************************************************
給定程序MODI1.C中函數fun的功能是:計算n!。
例如,給n輸入5,則輸出120.000000。
請改正程序中的錯誤,使程序能輸出正確的結果。
注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!
給定源程序:
#include
doublefun(intn)
{doubleresult=1.0;
/************found************/
ifn==0
return1.0;
while(n>1&&n<170)
/************found************/
result*=n--
returnresult;
}
main()
{intn;
printf("InputN:");
scanf("%d",&n);
printf("\n\n%d!=%lf\n\n",n,fun(n));
}
解題思路:
第一處:條件語句書寫格式錯誤,應改為:if(n==0)。
第二處:語句后缺少分號。
***************************************************
請編寫一個函數fun,它的功能是:將一個數字字符串轉換為一個整數(不得
調用C語言提供的將字符串轉換為整數的函數)。例如,若輸入字符串"-1234",則
函數把它轉換為整數值-1234。函數fun中給出的語句僅供參考。
注意:部分源程序存在文件PROG1.C文件中。
請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填
入你編寫的若干語句。
給定源程序:
#include
#include
longfun(char*p)
{
/*以下代碼僅供參考*/
inti,len,t;/*len為串長,t為正負標識*/
longx=0;
len=strlen(p);
if(p[0]=='-')
{t=-1;len--;p++;}
elset=1;
/*以下完成數字字符串轉換為一個數字*/
returnx*t;
}
main()/*主函數*/
{chars[6];
longn;
printf("Enterastring:\n");
gets(s);
n=fun(s);
printf("%ld\n",n);
NONO();
}
NONO()
{/*本函數用于打開文件,輸入數據,調用函數,輸出數據,關閉文件。*/
FILE*fp,*wf;
inti;
chars[20];
longn;
fp=fopen("c:\\test\\in.dat","r");
wf=fopen("c:\\test\\out.dat","w");
for(i=0;i<10;i++){
fscanf(fp,"%s",s);
n=fun(s);
fprintf(wf,"%ld\n",n);
}
fclose(fp);
fclose(wf);
}
解題思路:
本題是將一個數字字符串轉換為一個整數。
參考答案:
#incl
總結
以上是生活随笔為你收集整理的二级c语言基础题库100题,二级C语言上题库100题.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言是结构化 模块化,c语言是完全模块
- 下一篇: pat乙级 1014 java_pat乙