C語言基本編程題.doc_第1頁
C語言基本編程題.doc_第2頁
C語言基本編程題.doc_第3頁
C語言基本編程題.doc_第4頁
C語言基本編程題.doc_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、復(fù)習(xí)題C 程序設(shè)計(jì)編程題1. 輸入 2 個(gè)整數(shù),求兩數(shù)的平方和并輸出。#include void main() 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);2. 輸入一個(gè)圓半徑( r ),當(dāng) r 0 時(shí),計(jì)算并輸出圓的面積和周長,否則,輸出提示信息。#include #define PI 3.14void main() float r ,s , l;printf(please input r:n);scanf(%f” ,&r);if (r=0)s

2、=pi*r*r;l=2*i*r ;printf(the area is %fn,s);printf(the circumference is %fn,l);elseprintf(input error!n);3、函數(shù) y=f(x)可表示為:2x+1(x0)編程實(shí)現(xiàn)輸入一個(gè)x 值,輸出y 值。#include void main() int x,y;scanf( “%d”,&x);if(x0) y=2*x-1;else y=0;printf(“%d”,y);4、編寫一個(gè)程序, 從 4 個(gè)整數(shù)中找出最小的數(shù), 并顯示此數(shù)。#include void main( )int a,b,c,d,t;sca

3、nf (“ %d,%d,%d,%d ” ,&a,&b,&c,&d);if (ab)t=a; a=b; b=t;if (ac)t=a; a=c; c=t;if (ad)t=a; a=d; d=t;printf (“ min = %d n” ,a);5有一函數(shù)當(dāng) x0 時(shí), y=3,當(dāng) x=0 時(shí) y=5,編程,從鍵盤輸入一個(gè) x 值,輸出 y 值。#include void main()int x,y;scanf(%d,&x);if (x0) y=1;else if(x=0) y=5;else y=3;printf(x=%d,y=%dn,x,y);6從鍵盤輸入兩個(gè)數(shù),求出其最大值(要求使用函數(shù)完

4、成求最大值,并在主函數(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(Max is %fn,m);float max(float x,float y)float temp;if (xy)temp=x;x=y;y=temp;return(x);7、從鍵盤輸入你和你朋友的年齡,編成判斷誰的年齡最大,并打印最大者的年齡。#include void main() int yourAge, hisAge;printf(Please enter

5、 your age:);scanf(%d, &yourAge);/*輸入你的年齡yourAge*/printf(Please enter your friends age:);scanf(%d, &hisAge);/*輸入你朋友的年齡hisAge*/if (yourAge = hisAge)printf(You are older! Your age is = %dn, yourAge);if (hisAge yourAge)printf(Your friend is older! HisAge age is = %dn, hisAge);8、鍵盤輸入 #include2 個(gè)加數(shù),再輸入答案,

6、如果正確,顯示“ stdio.h”right”,否則顯示“error”void main( )int a,b,c;printf(“ please input a and bn” );scanf (%d,%d ” ,&a,&b);printf(“ please input the answer for a+bnscanf (%d ” ,&c);”);if (c=a+b)printf(“rightn” );elseprintf(“errorn” );9. 編一程序每個(gè)月根據(jù)每個(gè)月上網(wǎng)時(shí)間計(jì)算上網(wǎng)費(fèi)用,計(jì)算方法如下:要求當(dāng)輸入每月上網(wǎng)小時(shí)數(shù), 顯示該月總的上網(wǎng)費(fèi)用(6 分)#include void

7、 main() int hour;float fee;printf(“ please input hour:n” );scanf(“ %d” ,&hour);if(hour=10&hour=50)fee=3*hour;else fee=hour*2.5;printf(“The total fee is %f” ,fee);10. 神州行用戶無月租費(fèi),話費(fèi)每分鐘0.6 元,全球通用戶月租費(fèi)50 元,話費(fèi)每分鐘 0. 4 元。輸入一個(gè)月的通話時(shí)間, 分別計(jì)算出兩種方式的費(fèi)用, 判斷哪一種合適。#include void main() float a,x,y;printf(“ n 請(qǐng)輸入您的話費(fèi):”

8、 );scanf(“ %f, ” ,&a);x= 0.6*a;y=50+0.4*a;printf (printf (“神州行話費(fèi)為“全球通話費(fèi)為n”,x);n”,y);if (x=y)printf(else printf(“建議使用全球通” “建議使用神州行););11個(gè)人所得稅計(jì)算,應(yīng)納稅款的計(jì)算公式如下:收入稅率收入 收入 1000 元的部分53000 元收入 2000 元的部分106000 元收入 3000 元的部分15收入 6000 元的部分20輸入某人的收入,計(jì)算出應(yīng)納稅額及實(shí)際得到的報(bào)酬。(7 分)(如需連續(xù)計(jì)算多個(gè)人的納稅情況,直到輸入負(fù)數(shù)為止,程序應(yīng)如何改進(jìn)?試寫出程序)#in

9、clude“ stdio.h”void main()int grade;float income,tax,money;printf(“ please input your incomen” );scanf (“ %f” ,&income);if (income0)printf(“ the input is error” );else grade=(int)income/1000; switch(grade) case 0 : tax=0;break;case 1 : tax=(income-1000)*0.05;break;case 2 : tax=50+(income-2000)*0.1;b

10、reak; case 3 :case 4 :case 5 : tax=150+(income-3000)*0.15;break;default: tax=600+(income-6000)*0.2;money=income-tax;printf(“ n tax=%f, money=%f”,tax, money);12. 從鍵盤上輸入一個(gè)百分制成績score ,按下列原則輸出其等級(jí):score 90,等級(jí)為 A; 80 score90 ,等級(jí)為 B; 70 score80 ,等級(jí)為 C; 60 score70 ,等級(jí)為D; score60 ,等級(jí)為 E。#include void main()i

11、ntdata;char grade;printf(Please enter the score:);scanf(%d ” , &data);switch(data/10)case 10:case 9 : grade=case 8: grade=case 7: grade=case 6: grade= A ; break; B ;break; C ;break; D ;break;default: grade= E;printf(the grade is %c”,grade);*13.編程設(shè)計(jì)一個(gè)簡單的計(jì)算器程序。從鍵盤輸入2 個(gè)操作數(shù), 1 個(gè)運(yùn)算符,當(dāng)運(yùn)算符為加( +)、減( - )、乘(

12、* )、除( / )時(shí),輸出計(jì)算結(jié)果#include void main() int data1, data2;/*定義兩個(gè)操作符*/char op;/*定義運(yùn)算符 */printf(Please enter the expression:);scanf(%d%c%d, &data1, &op, &data2); /*輸入運(yùn)算表達(dá)式*/switch(op)/*根據(jù)輸入的運(yùn)算符確定要執(zhí)行的運(yùn)算*/ case +:/*處理加法 */printf(%d + %d = %d n, data1, data2, data1 + data2);break;case -:/* 處理減法 */ printf(%

13、d - %d = %d n, data1, data2, data1 - data2); break;case *:/* 處理乘法 */ printf(%d * %d = %d n, data1, data2, data1 * data2); break;case /:/*if (0 = data2)/*處理除法 */為避免出現(xiàn)溢出錯(cuò)誤,檢驗(yàn)除數(shù)是否為0*/printf(Division by zero!n);elseprintf(%d / %d = %d n, data1, data2, data1 / data2); break;default:printf(Unknown operato

14、r! n);14. 從鍵盤輸入 10個(gè)整數(shù),統(tǒng)計(jì)其中正數(shù)、負(fù)數(shù)和零的個(gè)數(shù),并在屏幕上輸出。#include void main( )int a10, i,p=0,n=0,z=0;printf(“please input number ” );for(i=0;i0)p+;else if (ai0)n+;else z+printf(“正數(shù): %5d, 負(fù)數(shù): %5d,零:n”,p,n,z);15、編程序?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(“t

15、he sum of odd is :%l d”,sum);16. 從鍵盤上輸入 10 個(gè)數(shù),求其平均值。#include void main()int a10,i,s=0;float ave;for(i=0;i10;i+)scanf( “%d” ,&ai);for(i=0;i10;i+)sum+=ai;ave=(float)sum/10;printf(ave = %fn, ave);17、編程序?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(“ th

16、e sum of odd is :%d” ,sum);18. 有一個(gè)分?jǐn)?shù)序列: 2/1 , 3/2 , 5/3 , 8/5 , 13/8 , 21/13 編程求這個(gè)序列的前 20 項(xiàng)之和。#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);19. 用數(shù)組實(shí)現(xiàn)以下功能:輸入 5 個(gè)學(xué)生成績,而后求出這些成績的平均值并顯示出來。#include void main() int a5, s=0;int i;for(i=0;i5;i+)sc

17、anf( “ %d” ,&ai);for(i=0;i5;i+)s=s+ai;printf(“ result=%f”,s/5.0);20、用循環(huán)的方法構(gòu)造一個(gè)5 行 5 列的二維數(shù)組,使主對(duì)角線上的變量為1,其它為0,并將數(shù)組中所有項(xiàng)按行按列顯示出來。#include void main() int a55,i,j, s=0;for(i=0;i5;i+)for(j=0;j5;j+)if(i=j)aij=1;elseaij=0;for(i=0;i5;i+) for(j=0;j5;j+)printf(“ %5d” , aij);printf(“ n”);21求一個(gè)3 3 矩陣主對(duì)角線元素之和。從鍵盤

18、輸入矩陣元素的值并輸出和的值#include void main() int a33,sum=0;int i,j;printf(Enter data:n);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);for(i=0;i3;i+)sum=sum+aii;printf(sum=%d,sum);.22. 輸入 n 的值, n 代表行數(shù),輸出如圖所示的圖形。* * (此圖為 n6 時(shí)的輸出結(jié)果 )#include void main() int i , k , n; printf(Enter number:n); scanf(%d,&n);for (i = 1

19、; i = n; i+)/*控制行數(shù) */ for (k = 1; k = i; k+)/*控制每行輸出的* 號(hào)個(gè)數(shù)printf(*);printf(n);/*輸出一行后換行*/*/23、從鍵盤輸入30 名學(xué)生的成績數(shù)據(jù),求其中的最高分、最低分和平均分。(提示:用數(shù)組存放成績數(shù)據(jù))#include#define M 30void main ( ) float scoreM, max , min, aver;int i ;printf(“please input score: n” );for(i=0; iM ; i+)scanf(“ %f” , &scorei);max=score0;min=

20、score0;aver=score0;for(i=1; iM; i+) if (max scorei) min=scorei;aver+=scorei;printf(“max=%f, min=%f,aver=%f” , max, min, aver/M);24.從鍵盤輸入某班學(xué)生某門課的成績及其學(xué)號(hào)(班級(jí)人數(shù)最多40 人,具體人數(shù)由鍵盤輸入),輸出該班最高分和最低分及其學(xué)生學(xué)號(hào);并輸出該班該課程的總分和平均分。請(qǐng)編寫程序。#include #define ARR_SIZE 40void main() float scoreARR_SIZE, maxScore,minScore,sum;intn

21、, i;longmaxNum, minNum,numARR_SIZE;printf(Please enter total number:);scanf(%d, &n);printf(Please enter the number and score:n);for (i=0; in; i+)scanf(%ld%f, &numi, &scorei);maxScore = score0;minScore= score0;maxNum = num0; minNum= num0;sum=score0;for (i=1; i maxScore) maxScore = scorei;maxNum = num

22、i;else if (scorei minScore) minScore = scorei; minNum = numi;sum=sum+scorei;printf(maxScore = %.0f, maxNum = %ldn, maxScore, maxNum); printf(minScore = %.0f, minNum = %ldn, minScore, minNum);printf(sum = %.1f, average = %.1fn, sum, sum/n);25. 將一個(gè)有 5 個(gè)元素的數(shù)組中的值 ( 整數(shù) ) 按逆序重新存放。例 : 原來順序?yàn)?:8 、 6、 5、 4、1,

23、要求改為 1、 4、 5、 6、8#define N 5#include void main()int aN,i,temp;printf(“ enter array a:n”);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 Now, array a:n” );for(i=0;iN;i+)printf(“ %4d” ,ai);printf(“n ” );26. 從鍵盤上輸入一個(gè) 2*3 的矩陣,將其轉(zhuǎn)秩后形成 3*2 的矩陣輸出。#include void main(

24、)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);printf(n” );29、從鍵盤輸入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,&a

25、i);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);30. 定義一個(gè) 5 行 3 列的數(shù)組,從鍵盤輸入各數(shù)組元素的值,計(jì)算各數(shù)組元素之和。#include void main( ) int i, j ,a53;printf(“ Enter data:n” );for(i=0;i5;i+)for(j=0;j3;j+)scanf(“ %d”,&aij);for(i=0;i5;i+)for(j=0;j3;j+)sum=sum+aij;pri

26、ntf(“ sum=%5dn” ,sum);32、從鍵盤上輸入一個(gè)4*3 的整型數(shù)組, 找出數(shù)組中的最小值及其在數(shù)組中的下標(biāo)。#include void main() int a43, i , j ,min,m,n; printf(Please enter data:); for (i=0; i4; i+)for (j=0; j3; j+)scanf(“ %d” ,& aij);min=a00;m=0; n=0;for (i=0; i4; i+)for (j=0; j3; j+)if (aijmin)min= aij;m=i;n=j;printf(the min is %dn, min);pr

27、intf(posion is %d %d n, m,n);33編程實(shí)現(xiàn)如下功能:從鍵盤輸入一行字符,統(tǒng)計(jì)其中大寫英文字符,小寫英文字符和其他字符的個(gè)數(shù)。#include #include #define ARR_SIZE 80void main()char strARR_SIZE;int len, i, letter = 0, digit = 0, space = 0, others = 0; printf(Please input a string:);gets(str);len = strlen(str);for (i=0; i= a& stri= 0 & stri = A& stri統(tǒng)計(jì)

28、英文字符*/統(tǒng)計(jì)數(shù)字字符*/= Z)others +;/*統(tǒng)計(jì)其它字符的個(gè)數(shù)*/printf(English character: %dn, letter);printf(digit character: %dn, digit);printf(other character: %dn, others);*36 、猜數(shù)游戲。系統(tǒng)隨機(jī)產(chǎn)生一個(gè)整數(shù),通過鍵盤輸入數(shù)據(jù)猜數(shù),猜對(duì)為止,并要求統(tǒng)計(jì)猜的次數(shù)。注: rand() 函數(shù)可以產(chǎn)生0 32767 間的正整數(shù),程序中需包含stdlib.h。#include #include void main()int magic;int guess;int counter;magic = rand() % 100 + 1;counter = 0;doprintf(Plea

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論