




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
2006年北京師范大學(xué)452C語言考研試題
1設(shè)圓的半徑片1.5,圓錐高h(yuǎn)=3,求圓的周長和椎體體積。用scanf輸入數(shù)據(jù),輸出計算結(jié)
果。輸出時要求有文字說明,取小數(shù)點后兩位數(shù)字。
2輸入兩個整數(shù),求它們相除的余數(shù)。用帶參的宏來實現(xiàn)。
3求100~200之間的全部素數(shù)之和。
4計算圓周率的近似值,直到最后一項的絕對值小于10的-6為止,圓周率=4*
(1-1/3+1/5-1/7+1/9-....)
5寫一個函數(shù),判斷一字符串是否回文?;匚氖侵疙樞蚝偷棺x都一樣的字符串。
#include<stdio.h>
#include<string.h>
inthw(charf[25]){
inta,b;
a=0;//初始化a指向f的首地址
b=strlen(f)-1;〃指向f的最后一個
while(a<=b){
if(f[a++]!=f[b-]){
printf("No!\n");
return0;〃程序結(jié)束
printf("Yes!\n");
return1;//a>=b是正確的
intmain(){
charf[25];
intHW;//a,b=0;不需要
scanf("%s",f);
HW=hw(f);
return0;
)
6有一篇文章,共有3行文字,每行有80個字符。要求分別統(tǒng)計出其中英文大寫字母,數(shù)字
以及其它字符的個數(shù)。
7將一個磁盤中的二進制文件復(fù)制到另一個磁盤中,兩個文件名隨命令行一起輸入。
#include<stdio.h>
voidmain()
{
FILE*from,*to;
charin[100],out[100];
printf("請輸入源文件名:\n");
scanf("%s",in);
printf("請輸入目標(biāo)文件名:\n");
scanf("%s",out);
if((from=fopen(in,"r"))==NULL)
(
printf("文件不存在!\n");
exit(O);
)
if((to=fopen(out,"w"))==NULL)
(
printf("創(chuàng)建目標(biāo)文件失??!\n");
exit(O);
)
printf("............");
while(!feof(from))
(
fputc(fgetc(from),to);
)
fclose(from);
fclose(to);
)
北京航空航天大學(xué)2010年碩士研究生入學(xué)考試試題
七.程序設(shè)計題(20分)
請編寫程序,該程序首先通過鍵盤輸入獲得整型數(shù)據(jù)a與n,然后計算sum=a+aa+aaa+……+
(共n項),最后輸出計算結(jié)果。例如:當(dāng)a=5,n=4時,計算sum=5+55+555+5555.
A.程序設(shè)計題(15分)
在Unix操作系統(tǒng)中有一條命令,命令的功能是打印文本文件的最后n行。命令格式為:
tail[-n]filename
其中,tail為命令名;參數(shù)filename為文本文件名;參數(shù)[句表示要打印的行數(shù),該參數(shù)是可選
的,缺省值為10,既無此參數(shù)時,表示打印文件的最后10行,例如,命令
tail-20example.txt
表示打印文本文件example.txt的最后20行。如果被打印的文本文件中行數(shù)少于n行或者少
于10行,該命令將打印文件中的所有行。
請用帶參數(shù)的main函數(shù)實現(xiàn)該程序。該程序應(yīng)該具有一定的錯誤處理能力。例如,能夠處理
非法命令參數(shù)和非法文件名。
程序中可以使用以下C庫函數(shù):
intatoi(char*s)——將數(shù)字串轉(zhuǎn)換為相應(yīng)的整數(shù)
fgets(char*s,intn,FILE*fg)-----從文件中讀入一行;
void*malloc(unsignedsize).free-----申請和釋放內(nèi)存;
strlen-----計算字符串的長度;
strcpy——講一個字符串拷貝到另一個字符串中;
除此之外,不允許使用其他庫函數(shù)。
提示:
1可以再命令行參數(shù)正確性分析過程中獲取被打印的文本文件名稱以及需要打印的行數(shù)等
信息。
2如果命令行分析正確,可以建立一個不帶頭結(jié)點的單向循環(huán)鏈表存放從文件中獨到的內(nèi)
容
2012計算機考研復(fù)試題回憶
一、編寫函數(shù)Eval,求解一元二次方程ax^2+bx+c=0的解,寫出每個參數(shù)的含義。
#include<iostream>//包含iostream的頭文件
#include<math.h>
#include<string>〃字符串處理函數(shù)
usingnamespacestd;
classFindRoot//定義類FindRoot
{
private:
floata,b,c;
doubler,q,x1,x2;〃定義數(shù)據(jù)成員類型
intjud;
public:
voidInput。;//輸入函數(shù)
voidDisplay。;//顯示函數(shù)
voidFind。;//求根函數(shù)
);
〃以上是類的聲明部分,以下是類的實現(xiàn)部分
voidFindRoot::lnput()
(
cout<<"這是一個求解ax2+bx+c=0的根的程序:"<<endl;〃總述程序
for(;;)
{
cout<<"輸入方程系數(shù)a:
cin?a;
if(a==O)
coutvv"錯誤:a不能為0!!!:"?endl;
elsebreak;
}〃輸入a,并對a的可能情況進行判斷
coutvv"輸入方程系數(shù)b:
cin?b;〃輸入b
coutvv"輸入方程系數(shù)c:
cin?c;〃輸入c
)
voidFindRoot::Find()〃定義求根的函數(shù)
(
floatdelta=b*b-4*a*c;〃定義求根公式的數(shù)據(jù)類型
if(delta<0)
{jud=O;
r=-b/(2*a);
q=sqrt(-delta)/(2*a);〃有兩個共輾復(fù)數(shù)根的情況
elseif(delta==O)
{
x1=-b/(2*a);
jud=1,有兩個相同的根的情況
)
else
{
x1=(-b+sqrt
(delta))/(2*a);
x2=(-b-sqrt
(delta))/(2*a);
jud=2;〃有兩個不同的根的情況
voidFindRoot::Display()〃定義顯示函數(shù)
(
switch(jud)
{
case0:
{cout?"x1="?r<<"+"?q?"i"?endl;
cout<<"x2="<<r<<"-"<<q<<"i"<<endl;}break;〃顯示有共輾復(fù)數(shù)根
時的解
case1:
cout?"x1=x2="?x1<<endl;break;〃顯示有——實根時的解
case2:
coutvv"x1="<vx1vv'\n'v<"x2="vvx2v<endl;break;〃顯示有兩不同根情況的解
voidmain()〃主函數(shù)
{
while(1)
{
FindRootf;//定義類型
f.lnput();
f.FindQ;
f.Display。;//以上各函數(shù)按順序執(zhí)行
cout<<"是否退出?(Y退出,其它任意鍵繼續(xù))"<<endl;〃程序是否退出
charm[2];charY[]="Y";chary[]="y";〃定義字符串
cin?m;
if(strcmp(m,Y)==O||strcmp(m,y)==O)
break;//如果退出血終止運行
else
cout<<"請繼續(xù)..."<<endl;〃如果不退出則繼續(xù)執(zhí)行
二、輸入若干行文本,包括圓括號,方括號,字母,數(shù)字,以空符結(jié)束文本的輸入,找
出括號不匹配(包括圓括號、方括號)的文本行并輸出。畫出程序的流程圖或者寫出程
序偽碼,寫出每個循環(huán)控制語句的用途
編寫C/C++函數(shù),驗證一個字符串形式的表達式中的括號是否匹配,其中括號包括圓括號、方括號和
花括號。(2)編寫main函數(shù)從鍵盤讀入表達式,并調(diào)用你編寫的函數(shù)。
#include<stdio.h>
#include<stdlib.h>
typedefstruct{
char*base;
char*top;
intsize;
}snode;
boolmatch(char*p){
snodes;
inti;
i=0;
s.base=(char*)malloc(20*sizeof(char));〃初始化一個棧
if(!s.base){
printf("內(nèi)存空間不足\n");
returnfalse;
)
s.top=s.base;
s.size=20;
while(p[i]!='\0'){〃開始循環(huán)“\0”是字符串
的結(jié)束標(biāo)志
if((p[i]=='{')ll(P[i]=='DJ|(P[i]=='(')){//篩選['進棧
if(s.top-s.base>=s.size){〃入棧判棧滿
printf("棧滿\n");
returnfalse;
)
*(s.top)=p[i];
s.top++;
i++;
}else{
switch(p[i]){
case')':if(s.base==s.top){〃遇至『)則
開始匹配,要是棧頂元素能匹配成功,則繼續(xù),否則直接return,里面的一些條件可以自己
想想
returnfalse;
}elseif(*(--s.top)=='('){
i++;
continue;
}else{
returnfalse;
)
case'}':if(s.base==s.top){
returnfalse;
}elseif(*(--s.top)=='{'){
i++;
continue;
}else{
returnfalse;
}
case:if(s.base==s.top){
returnfalse;
}elseif(*(--s.top)=='['){
i++;
continue;
}else{
returnfalse;
)
default:i++;//剔除其他符號
continue;
if(s.top==s.base)〃匹配成功則最后???/p>
returntrue;
else
returnfalse;
)
intmain(){
charstr[50];
inti=0;
char*p;
p=str;
printf("請輸入字符串
gets(str);
if(match(p))
printf("匹配成功!\n");
else
printf("匹配失敗……\n");
return0;
中國礦業(yè)大學(xué)2007年碩士研究生入學(xué)試題
三.請將一下語法改寫成為switch語句。
if((s>0)&&(s<=10))
if((s>=3)&&(s<=6))x=2;
elseif((s>l)||(s>8))x=3;
elsex=l;
elsex=0;
四.試編程序,找出1至99之間的全部同構(gòu)數(shù)。同構(gòu)數(shù)是這樣一組數(shù):它出現(xiàn)在平方數(shù)的
右邊。例如5是25右邊的數(shù),25是625右邊的數(shù),5和25都是同構(gòu)數(shù).(25分)
voidmain()
{
inti,j,s;
intcount=0;
for(i=1;i<100;i++)
{
if(i<10)
s=1;
elses=2;
j=i*i;
if(i==j%(int)pow(10,s))
(
printf("%d\n",i);
count++;
)
)
printf("totalnumber:%d\n",count);
應(yīng)該有5個,1,5,6,25,76
五.通過賦初值按行順序給2*3的二維數(shù)組賦予236……等偶數(shù),然后按列的順序輸出該數(shù)
組。試編程。
voidmain()
(
intnum[2][3];
inti=0,j=0;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
num[i][j]=2*((3*i)+j+1);
for(j=0;j<3;j++)
{
for(i=0;i<2;i++)
(
printf("%d,",num[i][j]);
中國礦業(yè)大學(xué)2008年C語言考研真題
三.編寫程序,對于給定的一個百分制成績,輸出相應(yīng)的五分制成績。設(shè):90分以上'A',80~89分為‘B',
70~79分為'C',60~69分為'D',60分以下為‘E'。
四.每個蘋果0.6元,第一個買菜個蘋果,第二天開始,每天買前一天的2倍,直至購買的
蘋果個數(shù)達到不超過100的最大值。編寫程序求每天平均花多少錢?
#include<stdio.h>
main()
{
intx=2,n=0,a;
floatave=0,sum=0;
scanf("%d",&a);
for(x,n;x<=a;n++)
(
sum=sum+0.8*x;
x=2*x;
)
ave=sum/n;
printf("%.2f\n",ave);
return0;
)
五.若有說明:inta[2][3]={{1,2,3},{4,5,6}}冼要將a的行和列的元素互換后存到另一個二維數(shù)組b中,試
編寫程序。
中國礦業(yè)大學(xué)(北京)采礦工程專業(yè)考研真題——計算機語言基礎(chǔ)2006
三.編程實現(xiàn)以下功能:讀入兩個運算數(shù)(datal和data2)及一個運算符(op),
計算表達式datalopdata2的數(shù)值,其中op可為+,—,*,I,(用switch語句實現(xiàn))
四.編寫程序,從鍵盤輸入6名學(xué)生的5門成績,分別統(tǒng)計出每個學(xué)生的平均成績。
#include<stdio.h>
#defineM6
#defineN5
floataverage(float*p,intn)/*求平均分的函數(shù)*/
{floatsum=0.;
inti;
for(i=0;i<n;i++)
sum=sum+*(p+i);
returnsum/n;
)
voidmain()
{floatscore[M][N],ave[M];/*定義數(shù)組score⑹[5]用來放6個學(xué)生5門課成績*/
inti,j;
for(i=0;i<M;i++)
{printf("輸入第%d個學(xué)生的%d門課的成績:",i+1,N);
for(j=0;j<N;j++)
scanf("%f",&score[i][j]);
printf("\n");
)
for(i=0;i<M;i++)
{ave[i]=average(score[i],N
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)內(nèi)外部協(xié)同機制在提高產(chǎn)品質(zhì)量中的作用
- 2025年視窗防護屏項目合作計劃書
- 創(chuàng)新科技引領(lǐng)下的教育變革遠(yuǎn)程醫(yī)療技術(shù)的應(yīng)用
- 產(chǎn)品研發(fā)合作協(xié)議書內(nèi)容
- 2024年百色市人民醫(yī)院招聘考試真題
- 字畫買賣服務(wù)協(xié)議
- 倉庫主管職業(yè)發(fā)展與培訓(xùn)計劃
- 八一建軍節(jié)主題黨日活動工作總結(jié)選集四篇
- 承包經(jīng)營權(quán)轉(zhuǎn)讓協(xié)議書
- 二年級課后興趣小組計劃
- 小學(xué)生金融知識普及課件
- 七年級下冊《青春之光》課件
- 集體備課培訓(xùn)講座
- 上海市閔行區(qū)2024-2025學(xué)年高三下學(xué)期二模地理試題(含答案)
- 2025-2030中國橡膠粉改性瀝青行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 危廢處置方案
- 2025年化學(xué)檢驗工職業(yè)技能競賽參考試題庫(共500題)
- 兒童暴發(fā)性心肌炎診治專家建議(2025)解讀課件
- 農(nóng)村合作社農(nóng)業(yè)產(chǎn)品供應(yīng)合同
- 中國鍍錫銅絲行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告(2024-2030)
- GB/T 320-2025工業(yè)用合成鹽酸
評論
0/150
提交評論