C語言練習(xí)題(帶詳解答案)_第1頁
C語言練習(xí)題(帶詳解答案)_第2頁
C語言練習(xí)題(帶詳解答案)_第3頁
C語言練習(xí)題(帶詳解答案)_第4頁
C語言練習(xí)題(帶詳解答案)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、編程題1.輸入2 個整數(shù),求兩數(shù)的平方和并輸出。#include int main(void) intt a ,b,s;printf(please input a,b:n);scanf(%d%d” ,&a,&b);s=a*a+b*b;printf(the result is %dn,s);return 0;2.輸入一個圓半徑r,當(dāng)r = 0時,計算并輸出圓的面積和周長, 否則,輸出提示信息。#include #define PI 3.14int main(void) double r ,area , girth;printf(please input r:n);scanf(%lf,&r);if

2、 (r=0) area =PI*r*r;girth =2*PI*r ;printf(the area is %.2fn, area);printf(the girth is %.2fn, girth);elseprintf(Input error!n);return 0; 3、已知函數(shù)y=f(x),編程實現(xiàn)輸入一個x值,輸出y值。/2x+1(x0)#include void main() int x,y;scanf( d ,&x);if(x0) y=2*x-1;else y=0;printf( d ,y); 4.從鍵盤上輸入一個百分制成績score,按下列原則輸出其等級:score 49四級為

3、 A; 80Wscore90等級為 B; 70Wscore80等級 為 C; 60score70 等級為 D; score60,等級為 E。#include void main()int data;char grade;printf(Please enter the score:);scanf(%d ” , &data);switch(data/10) case 10:case 9 : grade= A break;case 8: grade= B ; break;case 7: grade= C ; break;case 6: grade= D ; break;default: grade=

4、 E; printf(the grade is %c ” ,grade);5.編一程序每個月根據(jù)每個月上網(wǎng)時間計算上網(wǎng)費用,計算方法 如下:30元10小時費用=*每小時3元10 -50小時、每小時2.5元之50小時要求當(dāng)輸入每月上網(wǎng)小時數(shù),顯示該月總的上網(wǎng)費用(6分)#include void main() int hour;float fee;printf( “ please input hno”ur:);scanf( “ %d” ,&hour);if(hour=10&hour=50)fee=3*hour;else fee=hour*2.5;printf( “ The total fee i

5、s %f ” ,fee);6. 從鍵盤輸入10個整數(shù),統(tǒng)計其中正數(shù)、負(fù)數(shù)和零的個數(shù),并在屏幕上輸出。#include void main( ) int a, i,p=0,n=0,z=0;printf(please input number);for(i=0;i0)n+;else if (a0)else z+;printf(正數(shù):5d,負(fù)數(shù):5d零:5dn,p,n,z);7、編程序?qū)崿F(xiàn)求1-10 之間的所有數(shù)的乘積并輸出。#include void main( ) int i;long sum=1;for(i=1; i=10; i=i+1)sum=sum*i;printf( “ the sumo

6、dodf is :%ld ” ,sum);8. 從鍵盤上輸入10 個數(shù),求其平均值。#include void main()int a,i,sum=0;float ave;for(i=0;i10;i+)scanf(%d,&a);sum+=a;ave=(float)sum/10;printf(ave = %fn, ave);9、編程序?qū)崿F(xiàn)求1-1000 之間的所有奇數(shù)的和并輸出。#include void main( ) int i, sum=0;for(i=1; i1000; i=i+2)sum=sum+i;printf( “ the sum of odd is :%d” ,sum);10 .

7、有一個分?jǐn)?shù)序列:2/1, 3/2, 5/3, 8/5, 13/8,編程求這個序列 的前 20 項之和。#include void main()int i,t,n=20;float a=2,b=1,s=0;for(i=1;i=n;i+)s=s+a/b;t=a;a=a+b;b=t;printf(sum=%6.2f,s); 11 從鍵盤輸入兩個數(shù),求出其最大值(要求使用函數(shù)完成求最大值,并在主函數(shù)中調(diào)用該函數(shù))#include float max(float x,float y);void main() float a,b,m;scanf(%f,%f,&a,&b);m=max(a,b);printf

8、(Max is %fn,m);float max(float x,float y)if (x=y)return x;elsereturn y;12 . 編寫程序,其中自定義一函數(shù),用來判斷一個整數(shù)是否為素數(shù),主函數(shù)輸入一個數(shù),輸出是否為素數(shù)。#include #include int IsPrimeNumber(int number) int i;if (number = 1)return 0;for (i=2; isqrt(number); i+) if (number % i) = 0)return 0; return 1;void main() int n;printf( “ Pleas

9、e input n: ” );scanf( “ %d” ,&n);if(IsPrimeNumber(n),n);printf( n“%d is a Prime Number,n);else printf( n“%d is not a Prime Number13、從鍵盤輸入n 個數(shù)存放在數(shù)組中,將最小值與第一個數(shù)交換,輸出交換后的n 個數(shù)。#include int main(void)int i,n,iIndex,temp;int a10;printf(Enter n: );scanf(%d, &n);printf(Enter %d integers:n );for(i=0;in;i+)sca

10、nf(%d, &ai);iIndex=0;for(i=1;in;i+)if(aiaiIndex) iIndex=i;temp=a0;a0=aiIndex;aiIndex=temp;for(i=0;in;i+)printf(%5d, ai);printf(n);return 0;第二種解法利用函數(shù)#includeint comp(int arry, int n)int i,index,temp;printf( 為數(shù)組賦值:n);for(i=0;in;i+) scanf(%d,&arryi);for(i=1,index=0;i=n-1;i+) if(arryiarryindex) index=i;

11、temp=arry0;arry0=arryindex;arryindex=temp;for(i=0;in;i+)printf(%d ,arryi);return 0;main() int n;int a10;printf( 為 n 賦值: n);scanf(%d,&n);comp(a,n);14. 用數(shù)組實現(xiàn)以下功能:輸入5 個學(xué)生成績,而后求出這些成績的平均值并顯示出來。#include void main() int a5, s=0;int i;for(i=0;i5;i+)scanf( “ %d” ,&ai);for(i=0;i5;i+)s=s+ai;printf(result=%f,s/

12、5.0);15、輸入一個正整數(shù)n(n=6),再輸入nxn的矩陣,求其主對角線元素之和及副對角線元素之和并輸出。#include int main(void) int i,j,n,sum1=0,sum2=0;int a66;printf(Enter n(n=6):);scanf(%d,&n);printf(Enter data:n);for(i=0;in;i+)for(j=0;jn;j+)scanf(%d,&aij);if(i=j)sum1+=aij;if(i+j=n-1)sum2+=aij;printf(sum1=%d,sum2=%d,sum1,sum2);return 0;16、從鍵盤輸入3

13、0 名學(xué)生的成績數(shù)據(jù),求其中的最高分、最低分和平均分。(提示:用數(shù)組存放成績數(shù)據(jù))#include#define M 30void main ( ) float scoreM, max , min, aver;int i ;printf( “ please input sconr” e:);for(i=0; iM ; i+)scanf( “ %f” , &scorei);max=score0;min=score0;aver=score0;for(i=1; iM; i+) if (max scorei) min=scorei;aver+=scorei;printf( “ max=%f, min=

14、%f,aver=%f ” , max, min, aver/M); 17 .將一個有5 個元素的數(shù)組中的值(整數(shù))按逆序重新存放。例 : 原來順序為:8、6、5、4、1,要求改為1、4、5、6、8 #define N 5#include void main()int aN,i,temp;printf( “ enter arrany” a:);for(i=0;iN;i+)scanf( “ %d” ,&ai);for(i=0;iN;i+) temp=ai;ai=aN-i-1;aN-i-1=temp;printf( “n” );for(i=0;iN;i+)printf( “ %4d” ,ai);pr

15、intf( n“” );18 .從鍵盤上輸入一個2*3 的矩陣,將其轉(zhuǎn)秩后形成3*2 的矩陣輸出。#include void main()int a23, b32,i,j;for(i=0;i2;i+)for(j=0;j3;j+)scanf( “ %,&d” aij);for(i=0;i3;i+)for(j=0;j2;j+)bij=aji;for(i=0;i3;i+)for(j=0;j2;j+)printf(%5d,bij);n” );19、從鍵盤輸入10 名學(xué)生的成績數(shù)據(jù),按成績從高到低的順序排列并輸出。 (提示:用數(shù)組存放成績數(shù)據(jù))#include void main() int a10;int i,j,temp;printf(input score:n);for(i=0;i10;i+)scanf(%d,&ai);printf(n);for(i=1;i10;i+)for(j=0;j9;j+)if(ajaj+1)temp=aj;aj=aj+1;aj+1=temp;for(i=0;i10;i+)printf(%d,ai);20、從鍵盤上輸入一個4*3 的整型數(shù)組,找出數(shù)組中的最小值及其在數(shù)組中的下標(biāo)。#include void mai

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論