版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
科益題庫***************************************************
說明:本題庫是根據(jù)教育部考試中心制定修改計劃進(jìn)行修改后的計算機(jī)等級請編寫一個函數(shù)fun,它的功能是:將一個數(shù)字字符串轉(zhuǎn)換為一個整數(shù)
考試二級C語言機(jī)試題庫。對于題庫的解答來自考試中心的答題系(不得調(diào)用C語言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。例如,若輸入
統(tǒng)。字符串"-1234",則函數(shù)把它轉(zhuǎn)換為整數(shù)值-1234。函數(shù)fun中給出的語
※※※※※※※※※※※※※※※※※※※※※※※※※句僅供參考。
第01套:注意:部分源程序存在文件PROG1.C文件中。
給定程序中,函數(shù)fun的功能是:將形參n所指變量中,個位請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括
上為偶數(shù)的數(shù)去除,剩余的數(shù)按原來從高位到低位的順序組成號中填入你編寫的若干語句。
一個新的數(shù),并通過形參指針n傳回所指變量。給定源程序:
例如,輸入一個數(shù):27638496,新的數(shù):為739。#include<stdio.h>
請?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,便程序#include<string.h>
longfun(char*p)
得出正確的結(jié)果。
{
注意:源程序存放在考生文件夾下的BLANKLC中。不得增行
/*以下代碼僅供參考*/
或刪行,也不得更改程序的結(jié)構(gòu)!
inti,len,t;/*len為串長,t為正負(fù)標(biāo)識?/
給定源程序:
longx=0;
#include<stdio.h>
len=strlen(p);
voidfun(unsignedlong*n)
if(p[O]=='-*)
{unsignedlongx=0,i;intt;
{t=-l;len-;p++;}
i=I;
elset=1;
while(*n)
/*以下完成數(shù)字字符串轉(zhuǎn)換為一個數(shù)字*/
/**********found**********/
returnx*t;
{t=*n%_1_;
)
/**********found**********/
main()/*主函數(shù)*/
if(t%2!=_2_)
{chars[6];
{x=x+t*i;i=i*10;}
longn;
*n=*n710;
printf("Enterastring:\n");
)
gets(s);
/**********found**********/
n=fiin(s);
*n=_3_;
)printf("%Id\n",n);
NONO();
main()
)
{unsignedlongn=-l;
NONO()
while(n>99999999lln<0)
{/*本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。
{printfCTIeaseinput(0<n<100000000):");
scanf(”%kr,&n);}*/
fun(&n);FILE*wf;
printf(M\nTheresultis:%ld\n**,n);inti;
)chars[20]:
解題思路:longn:
fp=fopen("c:\\test\\in.dat",,'r");
第一處:t是通過取模的方式來得到*n的個位數(shù)字,所以應(yīng)填:
wf=fopenC'ciWtestWout.dat"/'w");
10。
for(i=0;i<10;i++){
第二處:判斷是否是奇數(shù),所以應(yīng)填:0o
fscanf(ip."%s",s);
第三處:最后通形參n來返回新數(shù)X,所以應(yīng)填:X。n=fun(s);
***************************************************
fprintf(wf,"%ld\n'\n);
給定程序MODILC中函數(shù)fun的功能是:計算n!0}
例如,給n輸入5,則輸出120.000000。fclose(fp);
請改正程序中的錯誤,使程序能輸出正確的結(jié)果。fclose(wf);
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程}
解題思路:
序的結(jié)構(gòu)!
本題是將一個數(shù)字字符串轉(zhuǎn)換為一個整數(shù)。
給定源程序:
#include<stdio.h>
doublefun(intn)
※※※※※※※※※※※※※※※※※※※※※※※※※
{doubleresult=1.0;
/************found**率*********/第02套:
ifn==0給定程序中,函數(shù)fun的功能是將形參給定的字符串、整數(shù)、浮點(diǎn)數(shù)寫
return1.0;到文本
while(n>1&&n<170)文件中,再用字符方式從此文本文件中逐個讀入并顯示在終端屏幕上。
/********4:***found************/請?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正
result*=n-
確的結(jié)
returnresult;
果。
)
注意:源程序存放在考生文件夾下的BLANKLC中。
main()
{intn;不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
printfC'InputN:");給定源程序:
scanf(H%dn,&n);/include<std沁.h>
printf(',\n\n%d!=%lf\n\n**,n,fun(n));voidfun(char*s,inta,doublef)
i
/i
解題思路:/**********foun(j**********/
第一處:條件語句招寫格式錯誤,應(yīng)改為:if(n==O)。_l_fp;
第二處:語句后缺少分號。charch:
fp=fopen(''filel.txt,',"w1');
fprintf(fp,"%s%d%f\n",s,a,f);voidfun(chars[][N],char*b)
fclose(fp);(
fp=fopen(,,filel.txt","r");inti,j.n=O;
printfCAnTheresult:\n\ii");for(i=0;i<N;i++)Z*請?zhí)顚懴鄳?yīng)語句完成其功能*/
ch=fgetc(fp);
/**********found**********/)
while(!feof(_2_)){b[n]=V)';
/**********found**********/}
putchar(_3—);ch=fgetc(ip);}main()
putcharCXn*);,',
{chara[100]tw[M][N]={{'W','W;W,W'),CSVS','S'/S'M'H;'H;'HVH'});
fclose(fp):inti,j;
)printf("Thematrix:\n");
main()for(i=0;i<M;i++)
{chara[10]="Hello!";intb=12345;{for(j=0;j<N;j++)printf("%3c",w[i][j]);
doublec=98.76;printf("\n");
fun(a,b,c);}
}fun(w,a);
***************************************************printf('TheAstring:\n"):puts(a);
解題思路:printfCn'iT);
本題是考察先把給定的數(shù)據(jù)寫入到文本文件中,再從該文件讀NONO():
出并顯示在屏幕上。)
NONO()
第一處:定義文本文件類型變量,所以應(yīng)填:FILE*o
{/*請?jiān)诖撕瘮?shù)內(nèi)打開文件,輸入測試數(shù)據(jù),調(diào)用fun函數(shù),輸出數(shù)
第二處:判斷文件是否結(jié)束,所以應(yīng)填:fpe
據(jù),關(guān)閉文件。*/
第三處:顯示讀出的字符,所以應(yīng)填:ch。
***************************************************FILE*rf,*wf;intij,k:
chara(1001,w(M][N],b;
給定程序MODI1.C中函數(shù)fun的功能是:依次取出字符串中所
rf=fopen("c:\\test\\in.dat","r'');
有數(shù)字字符,形
wf=fopen("c:\\tes(\\out.dat","w");
成新的字符串,并取代原字符串。for(k=0;k<10:k-H-){
請改正函數(shù)ftin中指定部位的錯誤,使它能得出正確的結(jié)果。for(i=0;i<M;i++){
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序for(j=0;j<N:j++)fscanf(rf."%c",&w[i][j]);
的結(jié)構(gòu)!fscanf(rf,"%c".&b);
給定源程序:)
fun(w,a);
#include<stdio.h>
fprintf(wf,,,%s\n",a);
voidfun(char*s)
)
{皿i,j;
fclose(rf);fclose(wf);
for(i=0,j=0;s[i]!=\0';i++)
}
if(s[i]>='0,&&s[i]<=9)
/**********found**********/解題思路:
s[j]=s[i];本題是把二維數(shù)組中的字符數(shù)據(jù)按列存放到一個字符串中。
/**********found**********/1.計算存放到?維數(shù)組中的位置。
s[j]=W;2,取出二維數(shù)組中的字符存放到一維數(shù)組(已計算出的位置)中。
}參考答案:
main()
#include<s(dio.h>
{charitem[80];
#defineM3
printf("\nEnterastring:");gets(item);
#defineN4
printf("\n\nThestringis:V'%s\"\n",item);
voidfun(charchar*b)
fun(item);
(
printf("\n\nThestringofchangingis:\"%s\"\n",item);
解題思路:inti,j,n=O;
第一處:要求是取出原字符串中所有數(shù)字字符組成一個新的字for(i=0;ivN:i++)/*請?zhí)顚懴鄳?yīng)語句完成其功能*/
符串,程序中是使用變量j{
來控制新字符串的位置,所以應(yīng)改為:s|j++]=s[iLfor(j=0;j<M;j++){
第二處:置新字符串的結(jié)束符,所以應(yīng)改為:s[j]='O;b[n]=sO][i];
***************************************************n=i*M+j+1;
}
請編寫函數(shù)fun,函數(shù)的功能是:將M行N列的二維數(shù)組中的
字符數(shù)據(jù),按列的)
b[nl=\0';
順序依次放到一個字符串中。
}
例如,二維數(shù)組中的數(shù)據(jù)為:
main()
WWWW,,,'',,,,,,,
{chara[100]tw[M][N]={{W,W;'W,'W'}4'SVS,S,S'h{H',H'.'H;H});
SSSS
inti,j;
HHHH
printf("Thematrix:\n");
則字符串中的內(nèi)容應(yīng)是:WSHWSHWSHofor(i=0;ivM;i++)
注意:部分源程序在文件PROG1.C中。{for(j=0;j<N;j++)printf(',%3c",w[i][j]);
請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)funprintf("\n");
的花括號中填入)
你編寫的若干語句。fun(w,a);
printf('TheAstring:\n");puts(a);
給定源程序:
printfCVVn。;
#include<stdio.h>
NONO();
#defineM3
}
#defineN4
NONOOfp=fopen("studen(.dat","rb"):
{/*請?jiān)诖撕瘮?shù)內(nèi)打開文件,輸入測試數(shù)據(jù),調(diào)用fun函數(shù),fread(ss,sizeof(STU),N,ip);
輸出數(shù)據(jù),關(guān)閉文件。*/fclose(fp);
FILE*rf,*wf;intij,k;for(j=0;j<N;j++)
chara[100],w[M][NJ,b;{printf("\nNo:%ldName:%-8sScores:",ss[j].sno,ss[j].name);
rf=fopen("c:\\test\\in.dat,r,"r");for(i=0;i<3;i++)printf("%6.2f",ss[j].score[ij);
wf=fopen("c:\\test\\out.dat","w");printf("\n");
for(k=0;k<10:k++){
for(i=0;i<M;i++){
for(j=0;j<N;j++)fscanf(rf,"%c",&w[i][j]);
fscanf(rf,,r%c",&b);解題思路:
}本題是考察如何從文件中讀出數(shù)據(jù),再把結(jié)構(gòu)中的數(shù)據(jù)寫入文件中。
fun(w,a);第一處:從指定的文件中讀出數(shù)據(jù),所以應(yīng)填:filename。
fprintf(wf,"%s\n",a);第二處:讀取文件fp的最后一條記錄,所以應(yīng)填:fp。
)
第三處:再把讀出的記錄,寫入文件fp指定的位置上,所以應(yīng)填:fp。
fclose(rf):fclose(wf);***************************************************
)
給定程序MOD".C中的函數(shù)Creailink的功能是創(chuàng)建帶頭結(jié)點(diǎn)的單向鏈
※※※※※※※※※※※※※※※※※※※※※※※※※
表,并
第03套:
為各結(jié)點(diǎn)數(shù)據(jù)域賦0到m-1的值。
程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和3
請改正函數(shù)Creatlink中指定部位的錯誤,使它能得出正確的結(jié)果。
門課的成績。所
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到文件中。函數(shù)fun的功能是
給定源程序:
重寫形參filename所
#include<stdio.h>
指文件中最后一個學(xué)生的數(shù)據(jù),即用新的學(xué)生數(shù)據(jù)覆蓋該學(xué)生
#include<stdlib.h>
原來的數(shù)據(jù),其它學(xué)typedefstructaa
生的數(shù)據(jù)不變。{intdata;
請?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序structaa*next;
得出正確的結(jié)}NODE;
果。NODE*Creatlink(m)
{NODE*h=NULL,*p,*s;
inti;
/**********found***********/
注意:源程序存放在考生文件夾下的BLANK1.C中。
p=(NODE)malloc(sizeof(NODE));
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
h=p;
給定源程序:
p->next=NULL;
#include<stdio.h>fdr(i=l;i<=n;i++)
#defineN5{s=(NODE*)malloc(sizeof(NODE));
(ypedcfstructstudent{s->data=rand()%m:s->nex(=p->next;
longsno;p->next=s;p=p->next;
charname[10];}
floatscore[3];/**********found***********/
}STU;returnp;
voidfun(char"filename,STUn)}
{FILE*fp;outlink(NODE*h)
/**********found**********/{NODE*p;
fp=fopen(_1—,"rb+");p=h->next;
/**********found**********/printf("\n\nTHELIST:\n\nHEAD");
fseek(_2-lL*sizeof(STU),SEEK_END);while(p)
/**********found**********/{printf("->%d",p->data);
fwrite(&n,sizeof(STU),1,_3_);p=p->next;
fclose(fp);)
}printfCAn");
main())
,
{STUt[N]={{10001,"MaChao",91,92,77},{10002;'CaoKai\main()
75,60,88),{NODE*head;
{10003,"LiSi",85,70,78},{10004,"FangFang",90,82.87),hcad=Creatlink(8,22);
{10005JZhangSan”,95,80,88});
STUn={10006,"ZhaoSi",55,70.68),ss[N];
intij;FILE*fp;outlink(head);
fp=fopenC'siudent.dat","wb");)
fwri(e(t,sizeof(STU),N,fp);解題思路:
fclose(fp);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025武漢市微型計算機(jī)的買賣合同
- 農(nóng)村土地流轉(zhuǎn)合同標(biāo)準(zhǔn)(2025年度):土地規(guī)模經(jīng)營與效益提升
- 2025年度農(nóng)產(chǎn)品電商平臺入駐合作合同2篇
- 2025北京市室內(nèi)裝修合同
- 二零二五年度風(fēng)力發(fā)電工程款結(jié)算與環(huán)境保護(hù)合同3篇
- 二零二五年度旅游公司整體轉(zhuǎn)讓合同3篇
- 2025年度年度公司終止職工勞動合同補(bǔ)償方案合同3篇
- 2025年度工業(yè)用地租賃合同書(含環(huán)保標(biāo)準(zhǔn))3篇
- 2025年度農(nóng)村房屋土地租賃與農(nóng)村環(huán)境治理合作協(xié)議
- 二零二五年度智能停車場租賃管理服務(wù)合同3篇
- 2024版房屋市政工程生產(chǎn)安全重大事故隱患判定標(biāo)準(zhǔn)內(nèi)容解讀
- 幼兒園大班數(shù)學(xué):《長頸鹿的水果店》 課件
- 獨(dú)生子女證明(模板)
- 侵入性器械、操作相關(guān)感染防控制度
- 更換電表申請書3篇
- 2019年北京外國語大學(xué)博士生英語入學(xué)考試試題
- 肝膽外科出科考試試卷
- 塔吊運(yùn)行作業(yè)方案
- 重慶中考數(shù)學(xué)最新26題練習(xí)及答案
- 江蘇衛(wèi)視跨年演唱會電視轉(zhuǎn)播技術(shù)方案-209年精選文檔
- 水電工程施工機(jī)械臺時費(fèi)定額(2004年版)
評論
0/150
提交評論