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

下載本文檔

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

文檔簡介

1、精品文檔一、 編程題1. 輸入 2 個整數(shù),求兩數(shù)的平方和并輸出。#include <stdio.h>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,當r> = 0時,計算并輸出圓的面積和周長, 否則,輸出提示信息。#include <stdio.h>#define PI 3

2、.14int main(void) double r ,area , girth;printf("please input r:n");scanf("%lf",&r);if (r>=0) area =PI*r*r;girth =2*PI*r ;prin tf("the area is %.2fn", area);prin tf("the girth is %.2fn", girth);elsepr in tf("I nput error!n");return 0;3、已知函數(shù)y=f

3、(x),編程實現(xiàn)輸入一個x值,輸出y值。尸2x+1(x<0)Jy= 0(x=0)2x-1(x>0)#i nclude <stdio.h>void mai n() int x,y;scanf(“ %cT ,&x);if(x<0) y=2*x+1;else if(x>0) y=2*x-1;else y=0;printf( “ %d ,y);4從鍵盤上輸入一個百分制成績score,按下列原則輸出其等級:score > 90等級為 A ; 80 < score<9,0 等級為 B; 70 < score<8,0 等級 為 C;

4、60<score<70 等級為 D; score<60,等級為 E。#i nclude <stdio.h>void mai n()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

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

6、if(hour<=10)fee=30;else if(hour>=10&&hour<=50)fee=3*hour;else fee=hour*2.5;printf( “ The total fee is %f”,fee);6. 從鍵盤輸入 10個整數(shù),統(tǒng)計其中正數(shù)、負數(shù)和零的個數(shù),并在屏 幕上輸出。#include <stdio.h>void main( ) int a, i,p=0,n=0,z=0;printf("please input number");for(i=0;i<10;i+)scanf("%d,&

7、quot;,&a);if (a>0)p+;else if (a<0) n+;else z+;printf("正數(shù):5d,負數(shù):5d零:5dn",p,n,z);7、編程序?qū)崿F(xiàn)求 1-10 之間的所有數(shù)的乘積并輸出。#include <stdio.h>void main( ) int i;long sum=1;for(i=1; i<=10; i=i+1)sum=sum*i;printf(“the sum of odd is :%ld ”,sum);8. 從鍵盤上輸入 10 個數(shù),求其平均值。#include <stdio.h>v

8、oid main()int a,i,sum=0;float ave;for(i=0;i<10;i+)scanf("%d",&a);sum+=a;ave=(float)sum/10;printf("ave = %fn", ave);9、編程序?qū)崿F(xiàn)求 1-1000 之間的所有奇數(shù)的和并輸出。#include <stdio.h>void main( ) int i, sum=0;for(i=1; i<1000; i=i+2) sum=sum+i;printf(“ the sum of odd is :%d” ,sum);10.有

9、一個分數(shù)序列:2/1, 3/2, 5/3, 8/5, 13/8,編程求這個序列 的前 20 項之和。#include <stdio.h>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 <stdio.h>float max(float x,float y);void main() fl

10、oat a,b,m;scanf("%f,%f",&a,&b);m=max(a,b);printf("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 <math.h>#include <stdio.h>int IsPrimeNumber(int number) int i;if (number <

11、;= 1)return 0;for (i=2; i<sqrt(number); i+) if (number % i) = 0)return 0; return 1;void main() int n;printf( “ Please input n: ”);scanf( “ %d”,&n);if(IsPrimeNumber(n)printf( n“%d is a Prime Number ” ,n);,n);else printf( n“%d is not a Prime Number13、從鍵盤輸入 n 個數(shù)存放在數(shù)組中,將最小值與第一個數(shù)交換,輸 出交換后的 n 個數(shù)。#i

12、nclude <stdio.h>int main(void)int i,n,iIndex,temp;int a10;printf("Enter n: ");scanf("%d", &n);printf("Enter %d integers:n ");for(i=0;i<n;i+)scanf("%d", &ai);iIndex=0;for(i=1;i<n;i+)if(ai<aiIndex) iIndex=i;temp=a0;a0=aiIndex;aiIndex=temp;

13、for(i=0;i<n;i+)printf("%5d", ai);printf("n");return 0;第二種解法 利用函數(shù)#include<stdio.h>int comp(int arry, int n)int i,index,temp;printf(" 為數(shù)組賦值: n");for(i=0;i<n;i+) scanf("%d",&arryi);for(i=1,index=0;i<=n-1;i+) if(arryi<arryindex) index=i;temp=

14、arry0;arry0=arryindex;arryindex=temp;for(i=0;i<n;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 個學生成績,而后求出這些成績的 平均值并顯示出來。#include <stdio.h>void main() int a5, s=0;int i;for(i=0;i<5;i+)

15、scanf( “ %d” ,&ai);for(i=0;i<5;i+)s=s+ai;printf( “ result=%f ” ,s/5.0) ;15、輸入一個正整數(shù)n(n<=6),再輸入nxn的矩陣,求其主對角線元 素之和及副對角線元素之和并輸出。#include <stdio.h>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&qu

16、ot;);for(i=0;i<n;i+)for(j=0;j<n;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、從鍵盤輸入 30 名學生的成績數(shù)據(jù),求其中的最高分、最低分和平均分。(提示:用數(shù)組存放成績數(shù)據(jù))#include<stdio.h>#define M 30void main ( ) float scoreM, max , min, aver;int i

17、 ;printf( “ please input sconr”e:);for(i=0; i<M ; i+)scanf( “ %f” , &scorei);max=score0;min=score0;aver=score0;for(i=1; i<M; i+) if (max < scorei) max= scorei;if (min>scorei) min=scorei; aver+=scorei;printf( “ max=%f, min=%f,aver=%f ” , max, min, aver/M); 17. 將一個有 5 個元素的數(shù)組中的值 (整數(shù) )按逆

18、序重新存放。例 : 原來順序為 :8、6、5、4、1,要求改為 1、4、5、 6、8 #define N 5#include <stdio.h> void main()int aN,i,temp;printf( “ enter a n” ); for(i=0;i<N;i+) scanf( “%d” ,&ai);for(i=0;i<N;i+) temp=ai; ai=aN-i-1; aN-i-1=temp;printf( “n” );for(i=0;i<N;i+)printf( “ %4d” ,ai); printf( n“” );18. 從鍵盤上輸入一個

19、2*3 的矩陣,將其轉(zhuǎn)秩后形成 3*2 的矩陣輸出 #include <stdio.h> void main()int a23, b32,i,j; for(i=0;i<2;i+) for(j=0;j<3;j+) scanf( “ %d” ,&aij);for(i=0;i<3;i+)for(j=0;j<2;j+) bij=aji;for(i=0;i<3;i+)for(j=0;j<2;j+) printf("%5d",bij);n”);19、從鍵盤輸入 10 名學生的成績數(shù)據(jù),按成績從高到低的順序排列 并輸出。(提示:用數(shù)組存放成績數(shù)據(jù))#include <stdio.h>vo

溫馨提示

  • 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

提交評論