c程序設計題習集_第1頁
c程序設計題習集_第2頁
c程序設計題習集_第3頁
c程序設計題習集_第4頁
已閱讀5頁,還剩58頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

計算機基礎課程TheExercisesinTheCProgrammingLanguagec程序設計題習集2002年3月杭州一、c程序設計習題TOC\o"1-5"\h\z\o"CurrentDocument".單項選擇題 2\o"CurrentDocument".填空題 7\o"CurrentDocument".寫輸出結果題 10\o"CurrentDocument".程序填空題 18\o"CurrentDocument".編程題 27二、C語言程序設計習題答案.單項選擇題 29.填空題 29.寫輸出結果題 29\o"CurrentDocument".程序填空題 31.編程題(參考) 32三、浙江省高校非計算機專業(yè)計算機等級考試試卷(C語言部分)95年試卷 4296年試卷 4596年秋試卷 4899年春試卷 5199年秋試卷 54PART1C語言程序設計習題1單項選擇題在每小題的四個備選答案中選出ー個正確的,并將正確答案號碼填在題后括號內(nèi)。.用c語言編寫的源文件經(jīng)過編譯,若沒有產(chǎn)生編譯錯誤,則系統(tǒng)將()?A、生成可執(zhí)行目標文件 B、生成目標文件C、輸出運行結果 D、自動保存源文件.在C集成環(huán)境執(zhí)行菜單命令“運行”,若運行結束且沒有系統(tǒng)提示信息,說明()?A、源程序有語法錯誤 B,源程序正確無誤C、源程序有運行錯誤 D、源程序無編譯、運行錯誤,但僅此無法確定其正確性.程序運行輸出了錯誤的結果,可以排除下列哪ー個因素()=A、算法錯誤 B、運行時輸入數(shù)據(jù)錯誤 C、未通過編譯D、系統(tǒng)資源配置不當.下列各個錯誤中,屬于編譯錯誤的是(A、數(shù)組下標超界 B、“==”誤寫為“!=" C、死循環(huán)D,括號不配對.若int類型數(shù)據(jù)字長為4,其最大值為()。A、231 B、23,-1 C、232TD、232.常數(shù)的書寫格式?jīng)Q定了常數(shù)的類型和值,03322是()。A、16進制int類型常數(shù) B、8進制int類型常數(shù)C、10進制int類型常數(shù) D、10進制longint類型常數(shù)."e2"是()?A、實型常數(shù)!00B、值為100的整型常數(shù)C、非法標識符D、合法標識符.要為字符型變量a賦初值,下列語句中哪ー個是正確的()?A、chara='3'; B、chara="3"; C、chara二%; D、chara二?;.要為float類型變量x、y、z賦同一初值3.14,下列說明語句哪ー個是正確的()。A、floatx,y,z=3.14; B、floatx,y,z二3*3.14;C、floatx=3.14,y=3.14,z=3.14; D、floatx=y=z=3.14;.語句“floatpi=3.1415926535;“將()〇A,導致編譯錯誤 B、說明pi為初值3.1415926535的單精度實型常數(shù)C、導致運行時的溢出錯誤 D、說明pi為初值3.141593的單精度實型常數(shù).算術運算符、賦值運算符和關系運算符的運算優(yōu)先級按從髙到低依次為()=A、算術運算、賦值運算、關系運算 B、算術運算、關系運算、賦值運算C,關系運算、賦值運算、算術運算 D、關系運算、算術運算、賦值運算.關系運算符中優(yōu)先級最低的運算符是()〇A、“〉=”和“0” B、“>"和’’く" C、“=”和“!=" D、“0”和“く”.邏輯運算符中,運算優(yōu)先級按從高到低依次為()。A>&&,!,|| B、|I,&&,! C、&&,|I,! D、!,&&,.對C程序在作邏輯運算時判斷操作數(shù)真、假的表述,下列哪ー個是正確的()。A、0為假非〇為真B、只有1為真C、-!為假1為真D、0為真非O為假.表達式x==0&&y!=0||x!=0&&y=0等效于()〇A、x*y==0&&x+y!=0B、x*y==0&&(x+y==0) C、x==0||y==0D、x*y=01Ix+y=0.表達式!xI|a==b等效于()?A、!((x||a)==b) B、!(x||y)==bC、!(x||(a==b))D,(!x)||(a=b).下列格式符中,哪ー個可以用于以8進制形式輸出整數(shù)()。A、%d B、%8d C、%〇 D、%ld.下列格式符中,哪ー個可以用于以16進制形式輸岀整數(shù)()。A、%16d B、%8x C,%dl6 D、%d.a是int類型變量,c是字符變量。下列輸入語句中哪ー個是錯誤的()。A、scanfぐ’%d,%c",&a,&c); B,scanf("%d%c",a,c);C、scanf("%d%c",&a,&c); D、scanf("d=%d,c=%c",&a,&c);.字符變量ch='A',int類型變量K=25,語句printf("%3d,%d3\n”,ch,k);輸出( )?A,65,253B、65253C、65,25D、A2521,下列各語句序列中,能夠且僅輸出整型變量a、b中最大值的是()。A、if(a>b)printf("%d\n",a);printf("%d\n",b);B、printf("%d\n",b);if(a>b)printf("%d\n",a);C、if(a>b)printf("%d\n",a);elseprintf("%d\n",b);D>if(a<b)printf("%d\n",a);printf("%d\n",b);.下列各語句序列中,能夠?qū)⒆兞縰、s中最大值賦值到變量t中的是()?A、if(u>s)t=u;t=s; B、t=s;if(u>s)t=u;C、if(u>s)t=s:elset=u; D、t=u;if(u>s)t=s:.下列各語句中,能夠輸出整型變量a、b中最大值的是()。A、printf("%d\n",(a>b)?a,b):B、(a>b)?printf("%d",a):printf("%d",b);C、printf("%d",if(a>b)aelseb);D、printf("%d\n",(a>b)?a:b);24,下列語句應將小寫字母轉(zhuǎn)換為大寫字母,其中正確的是()?A、if(ch>='a'&ch〈='z')ch=ch-32; B、if(ch>='a'&&ch<='z')ch=ch-32;C、ch=(ch>='a'&&ch<='z')?ch-32:"; D、ch=(ch>'a'&&ch〈’z')?ch-32:ch;.求整數(shù)1至10的和并存入變量s,下列語句中錯誤的是()〇A、s=0;for(i=l;i<=10;i++)s+=i;B、s=0;i=l;for(;i<=10;i++)s=s+i;C、for(i=l,s=0;i<=10;s+=i,i=i+l);D、for(i=l;s=0;i<=10;i++)s=s+i;

.若sizeof(int)為2,計算1至10的乘積,下列語句序列中正確的是()。A、intjc=l;for(inti=2;i<=10;i++)jc*=i;B、for(floatjc=l,inti=2;i<=10;i++,jc*=i):C、floatjc=l;for(inti=2;i<=10;jc*=i,i=i+l);D、for(floatjc=l;i=2;i<=10;i++)jc*=i;27,下列語句中,哪ー個可以輸出26個大寫英文字母()〇A、for(a='K';a<='Z*;printf(,,%c,,1++a));B、for(a=W;a〈Z;a++)printf(“祝",a);C、for(a='A';a〈='Z';printf(’*c”,a++)); D,for(a=,A,;a〈Z;printf(fc'',++a));28.與語句while(i>=0&&i<=10){if(i++==5)continue;printf("%f\n'',1.0/(i-5));}功能相同的是()〇A功能相同的是()〇A、for(;i>=0&&i<=10;i++)if(i!=5)B,for(;i>=0&&i<=10;i++)if(i==5)for(;i>=0&&i<=10;i++)if(i!=5)for(;i<=0&&i>=10:i++)if(i!=5)printf("%f\n",1.0/(i-5));printf(',%f\n,\1.0/(i-5)):printf("%f\n”,1.0/(i-5));elsebreak;printf(''%f\n”,1.0/(i-5));29.下列語句中與語句while(l){if(i>=100)break;s+=i;i++;}功能相同的是()〇A、for(;i<100;i++)s=s+i; B、for(;i<100;i++;s=s+i);C、for(;i<=100;i++)s+=i; D、for(;i>=100;i++;s=s+i);30,下列各語句定義了數(shù)組,其中哪?個是不正確的()?A、chara[3][10]={"China","American","Asia"};B,intx[2][2]={1,2,3,4}:C、floatx[2][]={1,2,4,6,8,10}; D、intm[][3]={1,2,3,4,5,6);.下列各語句定義了數(shù)組,其中哪ー個是正確的()?A、chara[10],*p=a[〇] B、intd[2][]={l,2,3,4,5,6);C、floatx[][3]={1,2,4,6,8,10};D、intm[][]={"no_l","no_2","no_3"};.數(shù)組定義為inta[3][2]={1,2,3,4,5,6},下列表述中正確的是()?A、數(shù)組元素a[3][2]的值為6 B、數(shù)組元素a[6]的值為6C,數(shù)組元素a[〇]的值為1 D、a[〇]不是int類型的數(shù)組元素.用宏名定義一個字符串,下列表述中哪ー個是正確的().A、tdefinepi=3.14159; B、definepi=3.14159C、?definepi"3.14159"D、ttdefinepi(3.14159);.定義帶參數(shù)的宏計算兩式乘積(如x?+3x-5與x-6),下列定義中哪個是正確的().A、#definemuit(u,v)u*v B、#definemuit(u,v)u*v;C,#definemuit(u,v)(u)*(v) D,ttdefinemuit(u,v)=(u)*(v).宏定義?tdefinediv(a,b)a/b的引用div(x+5,y-5)替換展開后是().A、x+5/y-5 B、x+5/y-5;C、(x+5)/(y-5)D,(x+5)/(y-5);.定義帶參數(shù)的宏“#definejh(a,b,t)t=a;a=b;b=t",使兩個參數(shù)a、b的值交換,下列表述中哪個是正確的()〇A、不定義參數(shù)a和b將導致編譯錯誤B、不定義參數(shù)a、b、t將導致編譯錯誤B、不定義參數(shù)t將導致運行錯誤D、不必定義參數(shù)a、b、t類型37,下列語句定義p為指向float類型變量d的指針,其中哪ー個是正確的()〇A、floatd,*p=d;B、floatd,*p=&d;C>float*p=&d,d;D、floatd,p=d38.對語句“inta[10],*p=a;",下列表述中哪ー個是正確的(3A、?p被賦初值為a數(shù)組的首地址 B、*p被賦初值為數(shù)組元素a[0]的地址C、P被賦初值為數(shù)組元素a[l]的地址 D、p被賦初值為數(shù)組元素a[0]的地址.pl指向某個整型變量,要使指針p2也指向同?變量,!!ー個語句是正確的()。A、p2=*&pl;B,p2=**pl;C、p2=&pl;D、p2=*pl:.假如指針p已經(jīng)指向變量x,則&*p相當于()。A、x B,*p C、&x D、**p.假如指針p已經(jīng)指向某個整型變量x,則(*p)++相當于().A、p++ B、x++ C、*(p++) D、&x++42,數(shù)組定義為“inta[4][5];”,引用“a+3”表示()?A、a數(shù)組第3列的首地址 B、a數(shù)組第0行第3列元素的值C、a數(shù)組第3行的首地址 D、a數(shù)組第〇列第3行元素的值43,數(shù)組定義為“inta[4][5];",引用“a[l]+3”表示().A、a數(shù)組第1行第3列元素的地址 B、a數(shù)組第1行第3列元素的值C、a數(shù)組第4行的首地址 D、a數(shù)組第4列的首地址44.數(shù)組定義為“inta[4][5];",引用''*(*a+l)+2”表示()?A、a[l][0]+2 B、a數(shù)組第1行第2列元素的地址C、a[0][1]+2 D、a數(shù)組第1行第2列元素的值45,數(shù)組定義為“inta[4][5];",下列哪ー個引用是錯誤的().卜、?a B、*(*(a+2)+3)C、&a[2][3] D、++a.共用體定義為"uniondata{charch;intx;}a;"t下列哪ー個是正確的()〇A、a.ch='x';a=10;B、a='x',10;C、a.x=10;a.ch='x';D、a='x';.共用體定義為"uniondata{charch;intx;}a;",下列哪ー個是不正確的()〇A、a={'x',10);B、a.x=10;a.x++;C、a.ch='x';a.ch++;D、a.x=10;a.ch=,x,;.按位與運算:inta=7,b=12,c=a&b;變量c的值是()?TOC\o"1-5"\h\zA、!9 B、4 C、5 D、9.按位或運算:inta=6,b=8,c=a|b;變量c的值是()。A、2 B、14 C,48 D、-2.按位異或運算:inta=14,b=15,c=a~b;變量c的值是()〇A、1 B、15 C、-1 D、29.按位取反運算:inta=16,c=~a;,變量c的值是( 兀A、17B、7C、84D、-1752.左移運算:inta=16,c=a?2;變量c的值是()。A、67B、4C、1D、6453.右移運算:inta=16,c?2;變量c的值是(晨A、8B、1C、4D、64.以“只讀”方式打開文本文件a:\aa.dat,下列語句中哪ー個是正確的()A、fp=fopen("a:\aa.dat",“ab");B、fp=fopen("a:\aa.dat","a");C、fp=fopen("a:\aa.dat",“wb");D、fp=fopen(,,a:\aa.dat",”r");.以“追加”方式打開文本文件a:\aa.dat,下列語句中哪ー個是正確的()A、fp=fopen("a:\aa.dat",“ab”); B、fp=fopen(Ma:\aa.daゼ1"a");C、fp=fopen("a:\aa.dat","r+"); D、fp=fopen(Ma:\aa.datM,MwM);.為讀寫建立一個新的文本文件a:\aa.dat,下列語句中哪ー個是正確的()A、fp=fopen("a:\aa.dat","ab"); fp=fopen(,,a:\aa.dat",“w+“);C、fp=fopen(Ma:\aa.dat","wb");D、fp=fopen(Ma:\aa.dat","rb+”);2填空題.設floatx=2.5,y=4.7;inta=7;,表達式x+a%3*(int)(x+y)%2/4的值為.設intx=17,y=5i執(zhí)行語句x+=-x%~y后x的值為〇.設intx=17,y=5;執(zhí)行語句x%=x++/—y后x的值為〇.設inta=7,b=6,c=5;,表達式(a+b)>(c*c)&&b==c||c>b的值為〇.設inta=3,b=5,c=7;,表達式a>cI|c>b!=0&&c==b+a的值為〇.已知三角形邊長a、b、c和s=(a+b+c)/2,計算其面積的算術表達式為.已知方程ax'bx+cル系數(shù)a、b、c且存在兩個實根,計算其中一個實根的算術表達式為。.p為本金,r為5年期存款年利率,計算存款p元5年到期時本金、利息總和的算術表達式為〇.將數(shù)學式(x+l)e”寫作算術表達式為。.ch是字符變量,判斷ch為大寫英文字母的邏輯表達式為.判斷int類型變量n是否為兩位整數(shù)的邏輯表達式為.判斷變量a、b的值均不為〇的邏輯表達式為.判斷變量a、b是否絕對值相等而符號相反的邏輯表達式為.判斷變量a、b中必有且只有一個為〇的邏輯表達式為.m是值為兩位數(shù)的整型變量,判斷其個位數(shù)是奇數(shù)而十位數(shù)是偶數(shù)的邏輯表達式為.求解賦值表達式a=5+(c=6)后表達式值、a、c的值依次為.17,求解賦值表達式a=(b=10)%(c=6),表達式值、a、b、c的值依次為.求解逗號表達式x=a=3,6*a后,表達式值、x、a的值依次為0.求解逗號表達式(a=15,a*4),a+5,表達式值、a的值依次為〇.求變量a、b中最大值的條件表達式為〇.若a=13、b=25、c=T7,條件表達式((y=(a<b)?a:b)<c)?y:c的值為〇.若s='d,,執(zhí)行語句s=(s>=,a,&&s<=,z,)?s-32:s:字符變量s的值為。.整型變量x的值為25,語句“printf(fo”,x);”的輸出結果為〇.整型變量m的值為27,語句printf("m=%x”,m);的輸出結果為〇.語句printf("s%s'',"mall");的輸出結果為。.若intk=10,循環(huán)語句while(k=0)k=k-l:執(zhí)行次。.若intk=2,循環(huán)語句while(k!=0){printf k);k-;}執(zhí)行次.若inti=10,s二〇;,執(zhí)行語句while(s+=i一,一i);后s、i值分別為.程序段!nts,i;for(i=l;i<=100;s+=i,i++):能否計算1?100的和?原因是.若int類型變量字長為2,程序段!ntjc=l;for(inti=2;i<10;i++)jc*=i;能否計算10的階乘?原因是〇.定義a為共有10個元素的靜態(tài)存儲int類型數(shù)組的語句為.定義a為長度為10的字符串、同時為字符串賦初值“continue”的語句為.定義a為共有5個元素的ー維整型數(shù)組、同時定義p為指向a數(shù)組首地址的指針變量的語句為0.定義a為4行5列的二維整型數(shù)組、同時定義p為指向a數(shù)組首地址的指針變量的語句為〇35,如定義語句為“charaロ廿windows",bロニ“95“;",語句“printf(”%s”,strcat(a,b));”的輸出結果為〇.定義語句為chara[15],bロニ”windows95”;,則語句printf(”%s”,strepy(a,b));的輸出結果為〇.定義語句為charaロ="Box”,bロニ"Boss”;,語句printf(”%d”,strcmp(a,b));輸出 0.定義語句為"chara[10]二”student”;",語句"printf(”%ザ,strlen(a));”的輸出結果為〇.定義語句為charaロ=”WINDOWS";,語句printf(”%s”,strlwr(a));輸出〇.定義語句為charaロ二”hangzhou”,*p=a;,語句for(inti=0;*p!二‘、〇';p++,i++)執(zhí)行后i的值為〇.對宏定義語句"#definef(x,y)printf(x,y)w的引用f(”%d\n”,m);置換展開后為〇.宏定義語句#tdefinef(x,y)fopen(x,y)的引用f(”a.txt",“rw”);置換展開后為〇.宏定義語句#definef(c)c>='A'&&cく二'Z'的引用f(x[i])置換展開后為〇.表達式3&5、3|5、3||5的值分別為ヽヽ0.設intx=707,表達式x^x、x|x、的值分別為ヽヽ〇.設intx二0707,表達式?x&&x、!x&&x、x>>3&~0的值分別為ヽヽ〇.函數(shù)的參數(shù)為int類型時,虛參與實參結合的傳遞方式為0.函數(shù)的參數(shù)為floatl類型時,虛參與實參結合的傳遞方式為0.函數(shù)的參數(shù)為char?類型時,虛參與實參結合的傳遞方式為?.函數(shù)的實參為常量時,虛參與實參結合的傳遞方式為。.對下列遞歸函數(shù),函數(shù)調(diào)用f(3)的返回值是?intf(intn){return((n-0)?1:f(n-1)+2);}.函數(shù)f定義如下,調(diào)用f("1475”)的返回值為〇intf(char*s) {intk=0;while(*s)k+=*s++-'O';returnk;}.函數(shù)change定義如下,a=10、b=5(執(zhí)行change(a,b)后a、b的值分別為.voidchange(inta,intb){intt=0;t=a;a=b;b=t;}.開辟?個存儲n個int數(shù)據(jù)的內(nèi)存區(qū)、并將內(nèi)存區(qū)首地址送入p(指向int類型的指針變量)的語句為。.釋放由p所指向的內(nèi)存區(qū)的語句為〇.fp為文件位置指針,將fp移到離當前位置25個字節(jié)處的語句為。3寫輸出結果題閱讀下列程序,將程序運行時的輸出結果填寫在答案欄內(nèi)。#include<stdio.h>voidmain(){charch;intkニ〇;for(ch=*A*;chぐH';ch++,k++)if(k%2==0)printf('%c”,ch);printf("\n");) 輸出結果:^include<stdio.h>voidmain(){intk=0;charc二'A';do{switch(c++){case'A':k++;break;case'B':k―;case'C,:k+=2;break;case'D':k=k%2;break;case'E':k=k*10;break;default:k=k/3;k++;}while(c<'G');printf("k=%d\n",k);) 輸出結果:#include<stdio.h>voidmain(){inta[6]={12,4,17,25,27,16),b[6]={27,13,4,25,23,16},i,j;for(i=0;i<6;i++){for(j=0;j<6;j++)if(a[i]=b[j])break;if(j<6)printf("%d",a[i]);printf("\n");) 輸出結果:^include<stdio.h>voidmain(){inta[8]={l,0,1,0,1,0,1,0},i;

for(i=2;iく8;i++)a[i]+=a[i-l]+a[i-2];for(i=0;i<8;i++)printf(*%d*,a[i]);printf("\n");輸出結果:8include<stdio.h>voidmain(){ints=l,t=l,a,n;scanf &a,&n);輸入數(shù)據(jù):2,4輸出結果: for(inti=l;iくn;i++){t=t*10+l;輸入數(shù)據(jù):2,4輸出結果: )s*=a;printf("SUM二%d\n”,s);6. ^include<stdio.h>^definePR(x,y)printf("%s=\t%d\n",x,y)voidmain(){intx=03,y=02,z=01; 輸出結果:PR("xIy&z",xIy&z);PR("xy&~z",xy&'z);PR("x&y&z",x&y&z);x=l;y=-l;PR("!x|x",!x|x);PR(""x|x"「x|x);^include<stdio.h>voidmain(){inta[5]={2,4,6,9,12},b[6]={2,3,4,6,8,9};for(inti=0;i<5;i++)for(intj=0;j<6;j++)if(*(a+i)==*(b+j))printf("%d”,*(a+i));printf(M\nM);) 輸出結果:^include<stdio.h>^include<string.h>voidmain() 輸出結果: {charstr1口="*******”; for(inti=0;i<4;i++){ =printf("%s\n",strl);strl[i]=,\strl[strlen(strl)-l]=,、0’;#include<stdio.h>voidmain(){chara[5][8]: 輸出結果:for(inti=0;i<5;i++)for(intj=0;j<8;j++)if(i=0||i==4)a[i][j]=";elsea[i][j]-';for(i=l;i<4;i++){a[i][0]=|\a[i][5]=P;for(i=0;i<5;i++)a[i][6]='、〇';for(i=0;i<5;i++)printf("%s\n",a[i]);一…voidmain(){chara[8],temp;inti,j; 輸出結果:for(i二〇;iく7;i++)a[i]=a'+i;for(i=0;i<3;i++){temp=a[0];for(j=l;j<7;j++)a[j-l]=a[j];a[6]=temp;a[7]=>\0';printf("%s\n”,a);^include<stdio.h>voidmainO 輸出結果:{inti,j,n;for(i=0;i<4;i++){for(j=l;j<=i;j++)printf(*つ;n=7-2*i;for(j=l;j<=n;j++)printf("紀d',n);printf('\n");^include<stdio.h>voidmain(){chara[8],temp;intj,k;for(j=0;j<7;j++)a[j]=a+j; 輸出結果: a⑺ハ〇';for(j=0;j<3;j++){temp=a[6];for(k=6;k>0;k-)a[k]=a[k-l];a[0]=temp;printf("%s\n",a);^include<stdio.h>voidprint(int,char,int): 輸出結果:voidmain(){print(3,' ,1);print(2,',3);print(1,' ,5);print(2,',3);print(2,',3); {chara[50];for(inti=0;iくbegin;i++)a[i]=,';for(i=0;iくn;i++)a[begin+i]=pzf;a[begin+i]=,\0';printf("%s\n",a);I,— —voidmainO 運行時輸入:5-73?輸出結果:{inta,b,c,find(int,int,int);scanf("%d%d%d”,&a,&b,&c);printf("%d\n%d,%d,%d\n”,find(a,b,c),a,b,c);intfind(inta,intb,intc){intu,s,t;u=((u=(a>b)?a:b)>c)?u:c;t=((t=(a<b)?a:b)<c)?t:c;s=a+b+c-u-t;a=u;b=s;c=t;returns;^include<stdio.h>voidfunl(intn,inta[][3]) 輸出結果:ロ||for(inti=0;i<n;i++)for(intj=0;j<ri;j++)a[i][j]=a[i][j]/a[i][i];I1.1.1L一。inta[3][3]={{6,4,2},{8,6,4},{9,6,3});funl(3,a);for(inti二〇;iく3;i++){for(intj=0;j<3;j++)printf(*%d*,a[i][j]);printf('\n");^include<stdio.h>intfun3(intm)inti;if(m==2||m==3)return1: 輸出結果:if(m<2||m%2==0)return0;for(i=3;iくm;i=i+2)if(m%i==0)return0;return1;voidmain()intn;for(n=l;nく10;n++)if(fun3(n)==l)printf(*%d",n);——voidsub(int*a,int*b,int*c,m,n)inti,j; 輸出結果:for(i=0;i<m;i++)*(c+i)=*(a+i);for(j=0;j<n;j++,i++)*(c+i)=*(b+j);voidmain()inti,x[5]={l,5,3,8,4},y[3]={9,-4,6},z[8];sub(x,y,z,5,3);for(i=0;iく8;i++)printf("%d*,z[i]);printf("\n");18.^include<stdio.h>voidsort(char*a[],intn)inti,j,1;char*temp;for(i=0;i<n-l;i++){l=i;for(j=i+l;j<n;j++)if(strcmp(a[j],a[l])<0)l=j;if(l!=i){temp=a[i];a[i]=a[l];a[l]=temp;輸出結果:voidmain()char*name[4],ch[4][15]={"morning","afternoon","night","evening"};intk;for(k=0;k<4;k++)name[k]=ch[k];sort(name,4);for(k=0;k<4;k++)printf("%s\n",name[k]);19.#include"stdio.h"voidpline(char*a,charc,int1,intn)輸出結果:inti;for(i=l;i<l;i++){*a=, a++;}for(i=l;i<=n;i++,*a=c,a++);*a=’、0';)voidmain()chara[80];inti;void(*pf)(char*,char,int,int);pf=pline;for(i=l;i<5;i++){(*pf)(a,'$',5-i,2*i-l);puts(a);20.#include"stdio.h"intbinary(intx,inta[],intn)intlow=0,high=n-l,mid;輸出結果:while(low<=high){mid=(low+high)/2;if(x>a[mid])high=mid-1;elseif(x<a[mid])low=mid+l;elsereturn(mid);}return(-1);voidmain(){staticinta[]={4,0,2,3,1};inti,t,j;for(i=l;i<5;i++){t=a[i];j=i-l;while(j>=0&&t>a[j]){a[j+l]=a[j];j—;a[j+l]=t;printf("%d\n",binary(3,a,5));一…#include<stdio.h> 輸出結果:voidmain(){doublef(double,int);printf("%lf\n”,f(2.0,14));doublef(doublex,intn){doublet;if(n==l)t=x;else{if(n/2*2==n)t=x*f(x,n/2);elset=x*pow(f(x,n/2),2.0);returnt;22.^include<stdio.h>doublex,u,v 輸出結果:doublet(doublea,double(*f)(double)){return(*f)(a*a);}doublef(doublex)return2.0*x;}doubleg(doublex)return2.0+x;}voidmain()x=4.0;u=t(x,f);v=t(x,g);printf(*u=%5.3fv=%5.3f\n”,u,v);-voidmain(){staticstructsi{charc[4],*s;};sl={"abc","def"};staticstructs2{char*cp;structsissl;}s2={"ghi",Cjkl","mno"}};printf(,z%c,%c\n",si.c[0],*sl.s);輸出結果:printf("%s,%s\n",si.c,si.s);printf("%s,%s\n",s2.cp,s2.ssl.s);printf("%s,%s\n",++s2.cp,++s2.ssl.s);ーーーstructsi{char*s;inti;structsi*slp;};voidmain(){staticstructsia[]={{"abcd",l,a+l},{"efgh*,2,a+2},{*ijkl*,3,a}};inti;for(i=0;iく2;i++) 輸出結果:{printf("%d\n",--a[i].i);printf("%c\n",++a[i].s[3]);}#includeくstdio.h〉voidmain(){FILE*fp;inti;charsi[80],s[]="abcdefghijklmnop”;fp=fopen("alf.dat","wb+");i=sizeof(s);fwrite(s,i,1,fp);rewind(fp);fread(sl,i,1,fp);printf("all=%s\n",si);fseek(fp,0,0);printf("seeklch二%c\n”,fgetc(fp));fseek(fp,10,1); 輸出結果:printf("seek2ch=%c\n,z,fgetc(fp));fseek(fp,1,1);printf("seek3ch二%c\n”,fgetc(fp));fclose(fp)4程序填空題根據(jù)讀下列各題題意填空,寫入在程序中的劃線處。.輸入2個整數(shù),輸出它們的最小公倍數(shù)和最大公約數(shù)^include<stdio.h>voidmain(){intm,n,gbs,gys;scanf((1) );for(gbs=m;(2);gbs=gbs+m);gys= (3) 4).輸入N個實數(shù),輸出其中的最大值、最小值。??include<stdio.h>voidmain(){floatnol,nmax,nmin;⑴scanf(*%d*,&n);scanf("%f”,&nol);nmax=nol;(2)for(i=2;i<=n;i++){scanf(“統(tǒng)”,(3));if(nox>nmax)nmax=nox;(4)printf("MAX二%f MIN=%f\n",nmax,nmin);).輸入20個數(shù),輸出它們的平均值,輸出與平均值之差的絕對值為最小的數(shù)組元素??include<stdio.h> (1) voidmain(){floata[20],pjz=0,s,t;inti,k; (2) for(i=0;i<20;i++)pjz+=a[i];(3)s=fabs(a[0]-pjz);for(i=l;i<20;i++)if(fabs(a[i]-pjz)<s){s=fabs(a[i]-pjz);t=a[i];}(4)4.輸入若干個字符,分別統(tǒng)計數(shù)字字符的個數(shù)、英文字母的個數(shù),當輸入換行符時輸出統(tǒng)計結果,運行結束。8include<stdio.h>voidmain(){charch;Q)while(((2))!=\n){if(ch>='0'aachくニ’9')sl++;if(ch>=,a'&&ch<=,z'(3))s2++;)⑷5.輸入m,5.輸入m,求n使n!くニmく=(n+l)!,例如輸入726,應輸出n=6。 voidmain(){int(2);scanf((3));for(n=2;jc<=m;n++)jc=jc*n;printf(,,n=%d\nM,(4) );6.下列程序計算并輸出方程X2+Y2+Z=1989的所有整數(shù)解。#include<stdio.h>voidmainO{⑴ for(il=-45;i1<=45;il++)for((2))for(i3=-45;i3<=45;i3++)if((3))printf((4),il,i2,i3);7.下列程序求n(n的值由運行時確定)個正整數(shù)的最小公倍數(shù)。#include<stdio.h>#include<stdlib.h>voidmainO{int*p,i,n,gbs;(1)p= ⑵ ;for(i=0;i<n;i++)scanf("%d”,p+i);gbs二?p;11:for(i=l;i<n;i++)if((3)){gbs+二*p; (4)printf(*%d\n*,gbs);}8.調(diào)用find函數(shù)求實參數(shù)組中最大值,再調(diào)用find函數(shù)求實參數(shù)組中最小值ttinclude<stdio.h>voidmain(){floats,a[7]={2,6,3,8,3,12,9),find(float*,int,int);s=find(a,7,1); (1) (2) printfC'%f\n”,s);)'floatfind(float*p,intn,intflag){inti;floatt,fh;if(flag>=0)fh=l;elsefh二T;(3)for(i=l;i<n;i++)if(*(p+i)*fh>t*fh)t=*(p+i);(4)9.對數(shù)組按值從大到小的順序排序后輸出。ttinclude<stdio.h>voidmain(){floata[7]={2,6,3,8,3,12,9};voidsort(float*,int)⑴for(inti=0;i<7;i++)printf(*%f*,a[i]);printf('\n");voidsort((2)){inti,j,k;floatt;for(i=0;iくnT;i++){k=i;for(j=i+l;j<n;j++)if((3))k=j;(4)*(p+i)=*(p+k);*(p+k)=t;10.下列程序讀入時間數(shù)值,將其加1秒后輸出,時間格式為:hh:mm:ss,即時:分:秒,當小時等于24小時,置為〇#include<stdio.h>struct{inthour,minute,second;}time;voidmain(void){scanf(z,%d:%d:%d",UJ);time.second++;if((2) =60){(3)time.second=0;if(time.minute==60){time.hour++;time.minute=0;if((4))time.hour=0;printfC/%d:%d:%d\n,z,time,hour,time,minute,time,second);11.將編號從⑴到(H)的同學圍成一圈,按下列順序賀卡:(1)、(3)、(6)、(8)、(11)、(2)、⑸(7)、(10)、(1)、⑷ 計算至少發(fā)到第幾張時,毎位同學發(fā)到的賀卡數(shù)同樣多。#include<stdio.h>voidmain(){intnum=l,jg=2,ip=l,i,m[12];for(i=l;i<12;i++)m[i]二。;while(l){m[ip]++;num++;ip+=jg;if(ip>ll)(1)if(jg==3)jg=2;else(2)for(i=2;i<=ll;i++)if((3))break;if((4))break;printf("發(fā)到第刎張時毎人手中賀卡數(shù)一樣多、n”, ⑸ ):12,下列函數(shù)可以對ー維數(shù)組按值從大到小或從小到大排序。voidsort(float*p,intn,intswich){intfh,i,j,1; (1)if(swich=0)fh=-l;(2);for(i=0;iくnT;i++){l=i;for(j=i+l;(3) ;j++)if(*(p+j)*fh>(4))l=j;t=*(p+i);*(p+i)=*(p+l);*(p+l)=t;13.下列函數(shù)用矩形公式求f(x)在[a,b]的定積分:先M等份積分區(qū)間求得積分近似值,再2M等份求得積分近似值,再4M等份求得積分近似值,……,當兩次積分近似值之差的絕對值小于eps時返回計算結果。floatsum(floata,floatb,intm,floateps)(floath,sl=0,s2,x;Wwhile(flag){s2=0;x=a;h=(b-a)/mfor(i=l;i<=m;i++){s2+=(f(x)+f(x+h))*h/2;x=x+h;sl=s2;m=m*2;⑶14,下列函數(shù)輸出一行字符:先輸出kb個空格,再輸出n個指定字符(由實參指定)。#include<stdio.h>voidprint( (1) ){inti;for(i=l;i<=kb;i++)(2)for((3))printf('<%c",zf);(4)15.下列函數(shù)求任意階多項式a0+aiX+a2X2+...+a?Xn的值并返回多項式的值。floatsum(U)){floaty,t=l; (2)y=*a;for(i=l;iく=n;i++){⑶y+=*(a+i)*t;)⑷16,ド列函數(shù)在n個元素的ー維數(shù)組中,找出最大值、最小值并傳送到調(diào)用函數(shù)??include<stdio.h>voidfind(p,max,min,n)floatUJ;intn;{intk;(2)*max=*p; ⑶for(k=l;k〈n;k++){t二?(p+k);if((4) )*max=t;if(t<*min)*min=t;})17,下列函數(shù)用于將任意方陣(行數(shù)等于列數(shù)的二維數(shù)組)轉(zhuǎn)置voidmt( (1) )如數(shù)組111-3-2{inti,j;floatt;2345for(i=0;i<n-l;i++)7-442for( (2) ){4567t=*(a+i*n+j);轉(zhuǎn)置后為(a+i*n+j)=*(a+j*n+i);1274(3)113-45)-3446)-252718.下列程序讀入六個字符串,排序后輸出。ttinclude<stdio.h>voidsort(char*a[],intn){inti,j,1;char*temp;for(i=0;i<n-l;i++){l=i;for(j=i+l;j<n;j++)if(strcmp(a[j]>a[l])<0)l=j;voidmain(){char*name[6],ch[6][30];intk;for(k=0;k<6;k++)(2)for(k=0;k<6;k++)gets(name[k]);(3)for(k=0;k<6;k++)puts(name[k]);.下列函數(shù)用于將鏈表中某個節(jié)點刪除,其中n為全程量,表示鏈表中的節(jié)點個數(shù)structtabdata*del(structtabdata*h,longnum){structtabdata*pl,*p2;intif(h==NULL){printf(M\nlistnull!\nM);⑴pl=h;while(num!=pl->num&&(2)){p2=pl;pl=pl-〉next;if(numニニpl->num){if(pl==h)h=pl->next;else (3) n-;printf("delete:%ld\n”,num);elseprintf(M%ldnotbeenfound!\n",num);end:returnh;.下列函數(shù)用于將鏈表中各節(jié)點的數(shù)據(jù)依次輸出。voidprint(structstudent*head)(⑴p二head;if(head!=NULL)do{printf(M%ld\nM,p->data);⑵ }while((3));.已建立學生“英語”課程的成績鏈表(成績存于score域中),下列函數(shù)用于計算平均成績并輸出。voidprint(structstudent*head){structstudent*p;floatnum;(1) ;⑵;if(head!=NULL){for(num=0;p!=NULL;(3),i++)num+=p->score;num=num/i;printf(t4%8.lf\n",num);221已建立學生“英語”課程的成績鏈表(成績存于score域中,學號存于num域中),下列函數(shù)用于輸出待補考學生的學號和成績,及補考學生人數(shù)。voidrequire(structstudent*head){structstudent*p;(1)if(head!=NULL){⑵while(p!=NULL){if((3) ){printf("%7d%6.lf\n",p->num,p->score);x++;p=p-〉next;printf(,,%ld\n,\x);.下列函數(shù)用于向ー非空鏈表插入結點(由pO指向),鏈表按照結點no域的升序排列structItabinsert(structItab*head,structItab*stud){structItab*p0,*pl,*p2;pl=head;pO=stud;while((pO->no>pl->no)&&(UJ)){p2=pl;pl=pl->next;if(pO->no<=pl->no)if(head==pl){pO->next=head;head=pO;}else{p2->next=p0;(2)}else{plー〉next二pO;(3)}return(head);.輸入若干個學生的姓名、學號、數(shù)學、英語、計算機成績到文件中student.dat。#include<stdio.h>voidmain(){(Dcharname[8],numb[8];(2)scanf(〃%d〃,&n);(3)for(i=l;i<=n;i++){scanf("%s%s%d%d%d”,name,numb,&m,&e,&c);fprintf(fp,"%s%s%d%d%d\nzz,name,numb,m,e,c); (4) ;.下列程序?qū)⑽募.dat、b.dat按原順序(文件中每行一個數(shù),按從小到大排列)合并到文件c.dat中。#include<stdio.h>voidmain(){FILE*fl,*f2,*f3;intx,y;fl=fopen("a.dat","r");f2=fopen(*b.dat","r");(D ;fscanf(fl,"%d",&x);fscanf(f2,"%d",&y);while(!feof(f1)&&!feof(f2))if(x<y){fprintf(f3,"%d\n",x);fscanf(f1,"%d",&x))else{fprintf(f3,"%d\n",y);fscanf(f2,"%d",&y)}if(feof(fl)){⑵;while(!feof(f2)){fscanf(f2,"%d",&y);⑶ ;else{fprintf(f3,(4));while(!feof(fl)){(5);fprintf(f3,"%d\n",x)fclose(f1);fclose(f2);fclose(f3)5編程題.編程,統(tǒng)計在所輸入的50個實數(shù)中有多少個正數(shù)、多少個負數(shù)、多少個零。.編程,計算并輸出方程X2+Y2=1989的所有整數(shù)解。.編程,輸入一個10進制正整數(shù),然后輸出它所對應的八進制、十六進制數(shù)。.ー個數(shù)如恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。編程序找出1000以內(nèi)的所有完數(shù),并輸出其因子(6是一個"完數(shù)”,它的因子是1,2,3)。.輸入一個正整數(shù),輸出它的所有質(zhì)數(shù)因子(如180的質(zhì)數(shù)因子為2、2、3、3、5),.輸入20個整數(shù),輸出其中能被數(shù)組中其它元素整除的那些數(shù)組元素。.輸入兩個數(shù)組(數(shù)組元素個數(shù)自定),輸出在兩個數(shù)組中都出現(xiàn)的元素(如a[5]={2,3,4,5,6},b[6]={3,5,7,9,10,-1)?則輸出3、5)。.輸入兩個數(shù)組(數(shù)組元素個數(shù)自定),輸出在兩個數(shù)組中都不出現(xiàn)的元素(如a[5]={2,3,4,5,6},b[6]={3,5,7,9,10,-1},則輸出2、4,6、3、7、9、10、T)。.編程,將字符數(shù)組S2中的全部字符拷貝到字符數(shù)組S1中(不用strcpy函數(shù))??截悤r,'、〇‘也要拷貝過去。’、〇'后面的字符不拷貝。.給定年份year,判別該年份是否閏年(定義ー個宏以判別該年份是否閏年)。.輸入一行小寫字母后,或輸出原文,或?qū)⒆帜缸兂善湎乱蛔帜福╝變成b、b變成c、c變成d x變成y、y變成z、z變成a)輸出,用條件編譯方法實現(xiàn)以上選擇。.編寫ー個函數(shù),處理n行、n列的二維數(shù)組:將每一行的元素同除以該行上絕對值最大的元素。.編寫函數(shù),求任意階多項式a°+aiX+a*+...+a.Xn的值并返回多項式的值。.設計ー個函數(shù),使給出ー個數(shù)的原碼,能得到該數(shù)的補碼。.編寫函數(shù),求m行、n列的二維數(shù)組全體元素中負數(shù)的個數(shù)。.編寫函數(shù),返回在ー個整數(shù)組中出現(xiàn)次數(shù)最多的數(shù)及其出現(xiàn)次數(shù)。.編ー個程序,打入月份號,輸出該月的英文月名,要求用指針數(shù)組處理。.編寫遞歸函數(shù),將輸入的以“?”結束的字符串按與輸入相反的順序輸出。.編寫函數(shù),在n個元素的ー維數(shù)組中,統(tǒng)計比相鄰元素大的數(shù)組元素個數(shù)并將統(tǒng)計數(shù)返回(不考慮a[〇]和a[n-l]),要求以指針變量而不是數(shù)組名作參數(shù)。.編寫函數(shù),在n個元素的ー維數(shù)組中,找出最大值、最小值并傳送到調(diào)用函數(shù)。.編寫ー個函數(shù),統(tǒng)計m行n列二維數(shù)組中有多少個正數(shù)、多少個負數(shù),多少個零,并返回統(tǒng)計結果。.寫ー函數(shù),在給定的一行以”結束的字符中,找出最長的單詞并輸出。.編寫ー個函數(shù)print,打印ー個學生的成績數(shù)組,該數(shù)組中有5個學生的數(shù)據(jù)記錄,每個記錄包括num,name,score[3],用主函數(shù)輸入這些記錄,用print函數(shù)輸出這些記錄。.把文本文件dl.dat復制到文本文件d2.dat中,要求僅復制dl.dat中的英文字符。.編程,把文本文件dl.dat復制到d2.dat(其中空格字符不復制)。.編程,把文本文件dl.dat復制到d2.dat(其中大寫英文字母要轉(zhuǎn)換為小寫字母)。.把文本文件dl.dat復制到文本文件d2.dat中,要求僅復制dl.dat中除英文字符和數(shù)字以外的其它內(nèi)容。.求出1至100之間的素數(shù)(只能被1和自身整除的數(shù))并順序?qū)懭胛募u.dat。.磁盤文件al和a2,各自存放ー個已按字母順序排好的字符串,編程合并二個文件到a3文件中,合并后仍保持字母順序(如al中存放:“accel”,a2中存放“ilrz”,則a3中為“acceillrz")。.已知順序文件C.DAT存放著程序設計基礎的考試成績,每個記錄包含學號(8位字符)和成績(三位整數(shù))兩個數(shù)據(jù)項。編制程序,從文件中讀入學生成績,將大于或等于60分的學生成績再形成一個新的文件SC0RE60.DAT保存在A盤上,并顯示出學生總人數(shù)(少于1000)、平均成績和及格人數(shù)。

PART2C語言程序設計習題答案!單項選擇題1.B 2.D3.C 4.D5.B 6.B 7.D 8.A9.C 10.D11.B 12.C13.D 14.A 15.A 16.D17.C 18.B19.B 20.A21.C 22.B 23.D 24.B25.D 26.C27.C 28.A29.A 30.C 31.C 32.D33.C 34.C35.A 36.D37.B 38.D 39.A 40.C41.B 42.C43.A 44.C45.D 46.C 47.A 48.B49.B 50.A 51.D 52.D 53.C 54.D 55.B 56.2填空題1.2.5 2.16 3.2 4.0 5.06.sqrt(s*(s-a)*(s-b)*(s-c)) 7.(-b+sqrt(b*b-4*a*c))/2/a8.p*pow(l+r,5) 9.(x+l)*exp(2*x) 10.ch>=,A,&&ch<=,Z,11.abs(n)>9&&abs(n)<100 12.a!=0&&b!=0 13.aニニーb14.a==0&&b!=0hb==0&&a!=0 15.m%2=l&&m/10%2==0B16. 11、11、6 17.20. (a>b)?a:b 21.24. m=lb 25.28. 30、0 29.31. staticint a[10];34. inta[4][5], *p=a[0];37.5 38.74、4、 10、6 18. 18、 3、3 19. 20、 15-17 22. D 23. 31small 26. 0 27. 2s未定義初值〇 30.jc存放10!字長不夠32.chara[10]二"continue”;33.inta[5],*p=a;35.windows95 36.windows9539.windows 40.841.printf("%d\n",m);44.1、7、1 45.48.值傳遞 49.42.fopen("a.txt","rw”); 43.x[i]>='A'&&x[i"='Z'〇、707、-1 46.1、〇、56 47.值傳遞地址傳遞 50.值傳遞 51.752.1755.free(p);53.56.10、5 54.p=(int*)malloc(n*sizeof(int))fseek(fp,251,1);3寫輸出結果題(1.ACEG2.K=8 3.4252716 4.10225713205.SUM=2468 6.x|y&z=3ヽxy&~z=l、x&y&z=0ヽ!x|x=l>~x|x=-l24699.10.*****?**********eveningmorningnight20.La,20.La,dabc,defghi,mnohi,no21.256.0000000_e122.U=32.000v=18.00025.All=abcdefghijklmnopseeklch二aseek2ch-1sook3ch-n4程序填空題::13141516(1)〃%跳d〃,&m,&n⑶m*n/gbs;(1)inti,n;floatnox;⑶&nox(1)^include<math.h>(3)pjz/=20;t=a[0];⑴intsl=0,s2=0;⑶I|ch>='A'&&ch〈ニ'Z'(1)^include<stdio.h>(1)intil,i2,i3⑵gbs%n!=0(4)printf(z/%d%d\n",gbs,gys);(2)nmin=nol;(4)elseif(nox<nmin)nmin=nox;(2)for(i二〇;iく20;i++)scanf(〃%f〃,&a[i]);(4)printf("%f%f\n",pjz,t);⑵ch=getchar()(4)prnitf("%d%d\n",si,s2);(2)m,n,jc=l(3)〃%d〃,&m (4)n-2⑵i2=-45;i2<=45;i2++(3)il*il+i2*i2+i3*i3==1989(1)scanf("%d'z,&n);⑶gbs%*(p+i)!=0(1)printf("%f\n",s);⑶⑴⑶⑴t=*p;sort(a,7);*(p+j)>*(p+k)⑷〃%d%d%d\n"(2)(int*)malloc(n*sizeof(int))(4)goto11;⑵s=find(a,7,-1); “T”也可以改為其它負數(shù)(4)returnt;⑵float*p,intn⑷t=*(p+i);&time.hour,&time.minute,&time.second(2)time,second⑴ip-=11;(4)i==12⑴floatt; ⑵(3)time.minute++;⑵jg=3;⑸num-1elsefh=l (3)j<n(4)time.hour=24m[i]!=m[l]*(p+l)*fh(1)inti,flag=l;⑵if(fabs(si-s2)くeps)flag=0;(3)returns2;(1)intkb,intn,charzf⑵printf("");(3)i=l;i<=n;i++(4)printf("\n'O;下列函數(shù)求任意階多項式a0+a,X+a2X2+...+anXn的值并返回多項式的值。⑴flaot*a,intn,floatx(1)*p,*max,*min⑵inti; ⑶t=t*x;(4)returny;⑵floatt;⑶*min=*p;(4)t>*max⑴flaot*a,intn(⑴#include<string.h>⑴gotoend ⑵(1)structstudent*p;⑴inti=0(1)intx=0;⑴plー)next!=NULL2)j=i+l;j<n;j++⑵name[k]=ch[k];pl->next!=NULL⑵ p=p->next; ⑶⑵p=head ⑶⑵ p=head; ⑶⑵ p0ー〉next二pl ⑶⑶*(a+n*j+i)=t;(3)sort(name,6);⑶p2ー〉next二pl-〉nextp!=NULLp二p-〉nextp->num<60pOー〉next二NULL(1)FILE*fp;(2)intm,e,c,i,n;(3)fp=fopen("student.dat〃,〃W");(4)fclose(fp);25.⑴f3=fopen(*c.dat*,*w*); ⑵fprintf(f3,"%d\n〃,y);(3)fprintf(f3,/z%d\n/r,y); (4)"%d\n”,x (5)fscanf(fl,*%d*,&x)5編程題參考答案.編程,統(tǒng)計在所輸入的50個實數(shù)中有多少個正數(shù)、多少個負數(shù)、多少個零。^include"stdio.h"^defineN50voidmain(){floatx;unsignedintsi,s2,s3,i;sl=s2=s3=0;for(i=l;i<=N;i++){scanf("%f",&x);if(x<0)sl++;elseif(x==0)s2++;elses3++;printf(“負數(shù)%u個,零%u個,正數(shù)%u個、n”,si,s2,s3);.編程,計算并輸出方程X2+Y2=1989的所有整數(shù)解。#include"stdio.h"voidmain(){intx,y;for(x=-45;x<=45;x++){y=-45;while(y<=45){if(x*x+y*y==1989)printf(%d*%d+%d*%d二%d\n”,x,x,y,y,1989);y++;.編程,輸入ー個10進制正整數(shù),然后輸出它所對應的八進制、十六進制數(shù)。#include"stdio.h"voidmain(){unsignedintx;printf("請輸入一個十進制正整數(shù):*);scanf("%u",&x);printf(〃%d=八進制數(shù)初二十六進制數(shù)為x\n〃,x,x,x);.編程,找出1000以內(nèi)的所有完數(shù),并輸出其因子#include"stdio.h"voidmain()inti,j,s=l;for(i=l;i<=1000;i++,s=l){for(j=2;j<=i/2;j++)if(i%j==O)s+=j; //求i的因子和if(s==i){printf("%d=l",i); //如果1是完數(shù)則輸出其各因子for(j=2;j〈=i/2;j++)if(i%j==O)printf("+%d”,j);printf('\n");.輸入ー個正整數(shù),輸出它的所有質(zhì)數(shù)因子。#include"stdio.h"voidmainO{intm,i=2;printf("請輸入ー個整數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論