c語(yǔ)言基本編程題參考模板_第1頁(yè)
c語(yǔ)言基本編程題參考模板_第2頁(yè)
c語(yǔ)言基本編程題參考模板_第3頁(yè)
c語(yǔ)言基本編程題參考模板_第4頁(yè)
c語(yǔ)言基本編程題參考模板_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 C程序設(shè)計(jì)編程題1.輸入2個(gè)整數(shù),求兩數(shù)的平方和并輸出。 #include <stdio.h> 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ì)算并輸出圓的面積和周長(zhǎng),否則,輸出提示信息。#include <stdio.h> #define PI 3.14 void ma

2、in() float r ,s , l; printf("please input r:n"); scanf("%f”,&r);if (r>=0) s=pi*r*r; l=2*i*r ; printf("the area is %fn",s);printf("the circumference is %fn",l);else printf("input error!n"); 3、函數(shù)y=f(x)可表示為: 2x+1 (x<0) y= 0 (x=0) 2x-1 (x>0) 編程實(shí)現(xiàn)

3、輸入一個(gè)x值,輸出y值。 #include <stdio.h>void main() int x,y;1 / 19scanf(“%d”,&x);if(x<0) y=2*x+1;else if(x>0) y=2*x-1;else y=0;printf(“%d”,y);4、編寫一個(gè)程序,從4個(gè)整數(shù)中找出最小的數(shù),并顯示此數(shù)。#include <stdio.h>void main( )int a,b,c,d,t; scanf (“%d,%d,%d,%d ”,&a,&b,&c,&d); if (a>b) t=a; a=b

4、; b=t; if (a>c) t=a; a=c; c=t; if (a>d) t=a; a=d; d=t; printf (“min = %d n”,a);5有一函數(shù)當(dāng)x<0時(shí)y=1,當(dāng)x>0時(shí),y=3,當(dāng)x=0時(shí)y=5,編程,從鍵盤輸入一個(gè)x值,輸出y值。#include <stdio.h>void main()int x,y;scanf("%d",&x);if (x<0) y=1;else if(x=0) y=5;else y=3;printf("x=%d,y=%dn",x,y);6從鍵盤輸入兩個(gè)數(shù)

5、,求出其最大值(要求使用函數(shù)完成求最大值,并在主函數(shù)中調(diào)用該函數(shù)) #include <stdio.h>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 (x<y) temp=x; x=y; y=temp;return(x);7、從鍵盤輸入你和你朋友的年齡,編成判斷誰(shuí)的年齡最大,并打

6、印最大者的年齡。#include <stdio.h>void main()int yourAge, hisAge;printf("Please enter your age:");scanf("%d", &yourAge); /*輸入你的年齡yourAge*/printf("Please enter your friend's age:");scanf("%d", &hisAge); /*輸入你朋友的年齡hisAge*/if (yourAge >= hisAge) prin

7、tf("You are older! Your age is = %dn", yourAge); if (hisAge > yourAge)printf("Your friend is older! HisAge age is = %dn", hisAge); 8、鍵盤輸入2個(gè)加數(shù),再輸入答案,如果正確,顯示“right”,否則顯示“error”#include “stdio.h”void main( )int a,b,c; printf(“please input a and bn”);scanf (%d,%d”,&a,&b);

8、printf(“please input the answer for a+bn”);scanf (%d”,&c); if (c=a+b) printf(“rightn”); else printf(“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 <stdio.h>void main() int hour; float fee; printf(“please input hour:n”); scanf(“%d”,&hour); if(hour<=10

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

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

11、應(yīng)如何改進(jìn)?試寫出程序)#include “stdio.h”void main() int grade; float income,tax,money; printf(“please input your incomen”);scanf (“%f”,&income); if (income<0) 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 : t

12、ax=50+(income-2000)*0.1;break; 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è)百分制成績(jī)score,按下列原則輸出其等級(jí):score90,等級(jí)為A;80score<90,等級(jí)為B;70score<80,等級(jí)為C;60score<70,等級(jí)為D;score<60,等

13、級(jí)為E。 #include <stdio.h>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=E; printf("the grade is

14、%c”,grade);*13. 編程設(shè)計(jì)一個(gè)簡(jiǎn)單的計(jì)算器程序。從鍵盤輸入2個(gè)操作數(shù),1個(gè)運(yùn)算符,當(dāng)運(yùn)算符為加(+)、減(-)、乘(*)、除(/)時(shí),輸出計(jì)算結(jié)果 #include <stdio.h>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ù)輸

15、入的運(yùn)算符確定要執(zhí)行的運(yùn)算*/ case '+': /*處理加法*/printf("%d + %d = %d n", data1, data2, data1 + data2); break;case '-': /*處理減法*/printf("%d - %d = %d n", data1, data2, data1 - data2);break;case '*': /*處理乘法*/printf("%d * %d = %d n", data1, data2, data1 * data2);

16、break;case '/': /*處理除法*/if (0 = data2) /*為避免出現(xiàn)溢出錯(cuò)誤,檢驗(yàn)除數(shù)是否為0*/printf("Division by zero!n");else printf("%d / %d = %d n", data1, data2, data1 / data2); break;default: printf("Unknown operator! n");14. 從鍵盤輸入10個(gè)整數(shù),統(tǒng)計(jì)其中正數(shù)、負(fù)數(shù)和零的個(gè)數(shù),并在屏幕上輸出。#include <stdio.h>void

17、main( ) int a10, i,p=0,n=0,z=0; printf(“please input number”); for(i=0;i<10;i+)scanf(“%d,”,&ai); if (ai>0) p+;else if (ai<0) n+;else z+ printf(“正數(shù):%5d, 負(fù)數(shù):%5d,零:%5dn”,p,n,z);15、編程序?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=su

18、m*i; printf(“the sum of odd is :%ld”,sum);16. 從鍵盤上輸入10個(gè)數(shù),求其平均值。 #include <stdio.h>void main() int a10,i,s=0; float ave; for(i=0;i<10;i+)scanf(“%d”,&ai); for(i=0;i<10;i+) sum+=ai; ave=(float)sum/10;printf("ave = %fn", ave); 17、編程序?qū)崿F(xiàn)求1-1000之間的所有奇數(shù)的和并輸出。 #include <stdio.h&g

19、t; 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);18.有一個(gè)分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13編程求這個(gè)序列的前20項(xiàng)之和。#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);19

20、. 用數(shù)組實(shí)現(xiàn)以下功能:輸入5個(gè)學(xué)生成績(jī),而后求出這些成績(jī)的平均值并顯示出來(lái)。 #include <stdio.h>void main() int a5, s=0;int i;for(i=0;i<5;i+)scanf(“%d”,&ai);for(i=0;i<5;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)按行按列顯示出來(lái)。#include <stdio.h>void main() int a55,i,j;for(i=0;i<

21、;5;i+)for(j=0;j<5;j+)if(i=j) aij=1;else aij=0;for(i=0;i<5;i+) for(j=0;j<5;j+)printf(“%5d”, aij); printf(“n”);21求一個(gè)3×3矩陣主對(duì)角線元素之和。從鍵盤輸入矩陣元素的值并輸出和的值.#include <stdio.h>void main() int a33,sum=0; int i,j; printf("Enter data:n"); for(i=0;i<3;i+) for(j=0;j<3;j+) scanf(&q

22、uot;%d",&aij); for(i=0;i<3;i+) sum=sum+aii; printf("sum=%d",sum);22.輸入n的值,n代表行數(shù),輸出如圖所示的圖形。 * * * * * * * * * * * * * * * * * * * * * (此圖為n6時(shí)的輸出結(jié)果)#include <stdio.h>void main() int i , k , n; printf("Enter number:n"); scanf("%d",&n); for (i = 1; i &

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

24、=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);24. 從鍵盤輸入某班學(xué)生某門課的成績(jī)及其學(xué)號(hào)(班級(jí)人數(shù)最多40人,具體人數(shù)由鍵盤輸入),輸出該班最高分和最低分及其學(xué)生學(xué)號(hào);并輸出該班該

25、課程的總分和平均分。請(qǐng)編寫程序。#include <stdio.h>#define ARR_SIZE 40void main() float scoreARR_SIZE, maxScore,minScore,sum;int n, i;long maxNum, minNum,numARR_SIZE;printf("Please enter total number:");scanf("%d", &n); printf("Please enter the number and score:n");for (i=0; i

26、<n; i+) scanf("%ld%f", &numi, &scorei); maxScore = score0;minScore= score0;maxNum = num0; minNum= num0; sum=score0;for (i=1; i<n; i+) if (scorei > maxScore) maxScore = scorei; maxNum = numi; else if (scorei < minScore) minScore = scorei; minNum = numi; sum=sum+scorei;pr

27、intf("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ù))按逆序重新存放。例: 原來(lái)順序?yàn)?8、6、5、4、1,要求改為1、4、5、6、8 #define N 5#include <stdio.h>void m

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

29、,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); printf("n”); 29、從鍵盤輸入10名學(xué)生的成績(jī)數(shù)據(jù),按成績(jī)從高到低的順序排列并輸出。(提示:用數(shù)組存放成績(jī)數(shù)據(jù))#include <stdio.h>void main() int a10; int i,j,

30、temp; printf("input score:n"); for(i=0;i<10;i+)scanf("%d",&ai); printf("n");for(i=1;i<10;i+)for(j=0;j<9;j+)if(aj<aj+1)temp=aj; aj=aj+1; aj+1=temp;for(i=0;i<10;i+) printf("%d,",ai);30. 定義一個(gè)5行3列的數(shù)組,從鍵盤輸入各數(shù)組元素的值,計(jì)算各數(shù)組元素之和。#include <stdio.h&g

31、t;void main( )int i, j ,a53;printf(“Enter data:n”); for(i=0;i<5;i+) for(j=0;j<3;j+) scanf(“%d”,&aij); for(i=0;i<5;i+) for(j=0;j<3;j+)sum=sum+aij; printf(“sum=%5dn”,sum);32、從鍵盤上輸入一個(gè)4*3的整型數(shù)組,找出數(shù)組中的最小值及其在數(shù)組中的下標(biāo)。#include <stdio.h> void main() int a43, i , j ,min,m,n; printf("P

32、lease enter data:"); for (i=0; i<4; i+) for (j=0; j<3; j+) scanf(“%d”,& aij); min=a00; m=0; n=0; for (i=0; i<4; i+) for (j=0; j<3; j+) if (aij<min)min= aij; m=i; n=j;printf("the min is %dn, min);printf("posion is %d %d n, m,n);33編程實(shí)現(xiàn)如下功能:從鍵盤輸入一行字符,統(tǒng)計(jì)其中大寫英文字符,小寫英文字符和

33、其他字符的個(gè)數(shù)。#include <stdio.h>#include <string.h>#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<len; i+) if (stri >= 'a' && st

34、ri <= 'z' | stri >= 'A' && stri <= 'Z') letter +; /*統(tǒng)計(jì)英文字符*/ else if (stri >= '0' && stri <= '9' ) digit +; /*統(tǒng)計(jì)數(shù)字字符*/ else others +; /*統(tǒng)計(jì)其它字符的個(gè)數(shù)*/ printf("English character: %dn", letter); printf("digit character:

35、 %dn", digit);printf("other character: %dn", others);*36、猜數(shù)游戲。系統(tǒng)隨機(jī)產(chǎn)生一個(gè)整數(shù),通過(guò)鍵盤輸入數(shù)據(jù)猜數(shù),猜對(duì)為止,并要求統(tǒng)計(jì)猜的次數(shù)。注:rand()函數(shù)可以產(chǎn)生032767間的正整數(shù),程序中需包含stdlib.h。#include <stdio.h>#include <stdlib.h>void main() int magic; int guess; int counter; magic = rand() % 100 + 1; counter = 0; doprintf("Please guess a magic numb

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論