




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言題庫(編程)河南工業大學 河工大 c語言期末考試題庫 二、編程題1.有一函數:當x<0時,y=-1;當x=0時,y=0;當x>0時,y=1。編一程序,輸入x的值,輸出y的值。#include<stdio.h>void main()int x,y;printf("請輸入x:");scanf("%d",&x);if(x<0)y=-1;else if(x=0)y=0;elsey=1;printf("y=%d&qu
2、ot;,y);2.輸入三個實數,將這三個數按由大到小的順序排列,并輸出這三個數。#include<stdio.h>void main()int a,b,c,temp=0;printf("please input a,b,c: ");scanf("%d %d %d",&a,&b,&c);if(a<b) temp=a;a=b;b=temp;if(a<c)temp=a;a=c;c=temp;if(b<c)temp
3、=b;b=c;c=temp;printf("從大到小為:%d,%d,%dn",a,b,c);3.有三個整數a,b,c,由鍵盤輸入,輸出其中最大者。void main()int a,b,c,max;printf("輸入三個數字:n");scanf("%d%d%d",&a,&b,&c);if(a>b&&a>c)max=a;if(b>a&&b
4、>c)max=b;if(c>a&&c>b)max=c;printf("最大值是: %dn",max);4.編程求圓面積、圓周長。要求圓半徑由鍵盤輸入,輸出時要求有文字說明,取小數點后兩位數字。#include<stdio.h> #define pi 3.1416 main() float r,l,s; printf("請輸入半徑:n"); scanf("%f",&r);
5、l=2*pi*r; s=pi*r*r; printf("l=%7.2fns=%7.2fn",l,s); 5. 【有點難】 有分段函數:當x<-10時,y=|x|+5;當-10x10時,y=4x-8;當x>10時,y=sqrt(x)。編一程序,輸入x的值,輸出y的值。6.編寫程序,判斷某一年是否是閏年。(閏年的條件是:能被4整除,但是不能被100整除,或者可以被400整除。)#include <stdio.h>int main()int year,leap;scanf("%d&q
6、uot;,&year);if (year%4=0)if(year%100=0)if(year%400=0)leap=1;elseleap=0;elseleap=1;elseleap=0;if (leap)printf("%d is ",year);elseprintf("%d is not ",year);printf("a leap year.n");return 0;7.輸入一個華氏溫度,要求輸出攝氏溫度,輸出時要求有文字說明,取小數點后兩位數字。公式為c=5/9(f
7、-32)#include<stdio.h>int main()float f,c;printf("輸入華氏溫度:n");scanf("%f",&f);c=(f-32)/1.8;printf("對應的攝氏溫度是:%5.2fn",c);8.有一函數:當x<1時,y=|x|;當1<=x<10時,y=2x-1;當x>=10時,y=3x+11。編一程序,輸入x的值,輸出y的值。9.輸入三個實數,將這
8、三個數按由小到大的順序排列,并輸出這三個數。#include<stdio.h>void main()int a,b,c,temp=0;printf("please input a,b,c: ");scanf("%d %d %d",&a,&b,&c);if(a>b) temp=a;a=b;b=temp;if(a>c)temp=a;a=c;c=temp;if(b&g t;c)temp=b;b=c;c=temp
9、;printf("從小到大為:%d,%d,%dn",a,b,c);10.輸入一個字符,判斷它是否是小寫字母,如果是,將它轉換成大寫字母;如果不是,不轉換。然后輸出最后得到的字符。#include<stdio.h>#include<string.h>void main()char a;scanf("%c",&a);if(islower(a)a=a-32;printf("%cn",a);11.編程求圓柱體積,圓柱表面積。
10、要求圓半徑,圓柱高由鍵盤輸入,輸出時要求有文字說明,取小數點后兩位數字。#include <stdlib.h>int main(int argc, char *argv)float r,h,l,s,sq,vq,vz;float pi=3.1415926;printf("請輸入圓的半徑r,圓柱高h:");scanf("%f,%f",&r,&h);l=2*pi*r;s=pi*r*r;sq=4*pi*r*r;vq=4.0/3.0*pi*r*r;vz=pi*r*r*h;p
11、rintf("圓周長為:l=%6.2fn",l);printf("圓面積為:s=%6.2fn",s);printf("圓球表面積為:sq=%6.2fn",sq);printf("圓球體積為:vq=%6.2fn",vq);printf("圓柱體積為:vz=%6.2fn",vz); system("PAUSE"); return 0;12.有分段函數:當x<-5時,y=x
12、+10; 當-5x5時,y=x2;當x>5時,y=2x-10.編一程序,輸入x的值,輸出y的值。13.有三個整數a,b,c,由鍵盤輸入,輸出其中最小者。#include <stdio.h>int main()int a,b,c,temp,min;printf("請輸入三個整數:");scanf("%d,%d,%d",&a,&b,&c);temp=(a<b)? a:b;min=(temp<c)? temp:c
13、;printf("三個數中最小數是%dn",min);return 0;14.輸入一個字符,判斷它是否是大寫字母,如果是,將它轉換成小寫字母;如果不是,不轉換。然后輸出最后得到的字符。#include <stdio.h>void main()char c;printf("input ch:");c=getchar();if( c>='A'&&c<='Z')c=c+32;pr
14、intf("%c",c);else printf("%c",c);15.輸入三角形的三邊長,求三角形面積。求三角形面積的公式為area=sqrt(s(s-a)(s-b)(s-c),其中s=(a+b+c)/2#include<stdio.h>#include<math.h>void main()float a,b,c,s,area;printf("依次輸入a,b,c:");scanf("%f%f%f,&quo
15、t;,&a,&b,&c);s=(float)0.5*(a+b+c);area = (float)sqrt(s*(s-a)*(s-b)*(s-c);printf("面積為:%7.2f",area);16.編程求2!+4!+6!+8!+10!的值,并輸出結果。#include<stdio.h>int main()int n=1,sum=0,j,m=1,i;for(i=1;i<=5;i+)m=1;for(j=1;j<=2*i;j+)m=m*j;sum=sum+m
16、;printf("sum=%dn",sum);return 0;17.猴子吃桃問題。猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個。第二天早上又將剩下的桃子吃掉一半,又多吃一個。以后每天早上都吃了前 一天剩下的一半零一個。到第10天早上想吃時就剩一個桃子了。求第一天共摘了多少個桃子。#include<stdio.h>void main()int day; static x1=1; day=10;while(day>0)x1=(x1+1)*2;day-;printf("桃子總數=%dn
17、",x1);18.輸出所有的“水仙花數”,所謂“水仙花數”是指一個3位數,其各位數字立方和等于該數本身。#include<stdio.h>int main()int i,j,k,n;printf("水仙花數是");for(n=100;n<1000;n+)i=n/100;j=n/10-i*10;k=n%10;if(n=i*i*i+j*j*j+k*k*k)printf("%d ",n);printf("n");return 0;19
18、.編程求1100之間的所有素數,并輸出結果。#include <stdio.h>int main(void)int a100,i,j;for (i = 0; i<100; i+) ai=i+1;for (i=1; i<100; i+)for (j=i+1; j<100; j+)if (ai&&aj%ai=0)aj=0;for (i = 1; i<100; i+)if (ai) printf("%dt",ai);return 0;20.編程求1!
19、+3!+5!+7!+9!的值,并輸出結果。#include<stdio.h>int main()int n=1,sum=0,j,m=1,i;for(i=1;i<=5;i+)m=1;for(j=1;j<=2*i-1;j+)m=m*j;sum=sum+m;printf("sum=%dn",sum);return 0;21.用pi/41-1/3+1/5-1/7+.公式求pi的近似值的絕,直到某一項對值小于10的-6次方為止。#include<stdio.h>#include&
20、;lt;math.h>int main()int sign=1;double pi=0.0,n=1.0,term=1.0;while(fabs(term)>=1e-6)pi=pi+term;n=n+2;sign=-sign;term=sign/n;pi=pi*4;printf("pi=%10.8fn",pi);return 0;22.一個球從100m高度自由落下,每次落地后又反跳回原高度的一半,再落下,再反彈。求它在第10次落地時共經過多少米?#include "stdio.h" #includ
21、e "stdio.h" main() float sn=100.0,hn=sn/2; int n; for(n=2;n<=10;n+) sn=sn+2*hn;/*第n次落地時共經過的米數*/ hn=hn/2; /*第n次反跳高度*/ printf("the total of road is %fn",sn); getch(); 23.輸入兩個正整數m和n,求其最大公約數和最小公倍數。#include <stdio.h>int main()int p,r,n,m,temp;print
22、f("請輸入兩個正整數n,m:");scanf("%d%d,",&n,&m);if (n<m)temp=n;n=m;m=temp;p=n*m;while(m!=0)r=n%m;n=m;m=r;printf("它們的最大公約數為:%dn",n);printf("它們的最小公約數為:%dn",p/n);return 0;24.利用循環,編程求1!+2!+3!+10!的值,并輸出結果。main() int i,j
23、,n,sum=0; for(i=1;i<=10;i+) n=1; for(j=1;j<=i;j+) n*=j; sum+=n; printf("%dn",sum); 25.有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13.,求出這個數列前20項之和。#include<stdio.h>main() int i,x,y,a;float sum=0;x=2;y=1;for(i=1;i<20;i+) sum+=(float)(x)/y;/ printf("%d/
24、%dn",x,y);a=x;x=x+y;y=a;printf("%7.5fn",sum);26.求Fibonacci數列前40個數。這個數列有以下特點:第1和第2個數為1,從第3個數開始,該數是其前面兩個數之和。#include<stdio.h> #define N 4long fibonacci(int n) if (0=n|1=n) return 1; else return fibonacci(n-1)+fibonacci(n-2); int main(void) int i; printf(&qu
25、ot;Fibonacci數列的前40項n"); for (i=0; i<40;) printf("%-10ld",fibonacci(i+); if(i%N=0) printf("n"); printf("n"); return 0; 27.一個數如果恰好等于它的因子之和,這個數就稱為完數。例如,6的因子為1、2、3,而6=1+2+3,因此6是完數。編程求1000以內所有完數。#include<stdio.h>void main
26、()int i,j;intsum;for(i=2;i<1000;i+)sum=0;for(j=1;j<i;j+)if(i%j=0)sum=sum+j;if(sum=i)printf("%d是完數n",sum);28.求S=a+aa+aaa+.+aa.a(n個a)之值。其中a是一個數字,n代表a的位數。例如:2+22+222+2222+22222(此時n為5),n由鍵盤輸入。#include <stdio.h>int main()int a,n,i=1,sn=0,tn=0;printf("
27、;a,n=:");scanf("%d,%d",&a,&n);while(i<=n)tn=tn+a;sn=sn+tn;a=a*10;+i;printf("a+aa+aaa+.=%dn",sn);return 0;29.編程求100200之間的所有素數,并輸出結果。#include<stdio.h>#include<math.h>int main()int n,k,i,m=0;for(n=101;n&
28、lt;=200;n=n+2)k=sqrt(n);for(i=2;i<=k;i+)if(n%i=0)break;if(i>=k+1)printf("%d",n);m=m+1;if(m%10=0)printf("n");printf("n");return 0;30.輸入一行字符,分別統計出其中英文字母、空格、數字和其他字符的個數。#include"stdio.h" main() char c;int i=0,j=0,k=0,l
29、=0; while(c=getchar()!='n') if(c>=65&&c<=90|c>=97&&c<=122) i+; else if(c>=48&&c<=57) j+; else if(c=32) k+; else l+; printf("i=%d,j=%d,k=%d,l=%dn",i,j,k,l); 31.將一個數組中的值按逆序重新存放。例
30、如,原來順序為8,6,4,3,2,0。要求改為0,2,3,4,6,8。#include<stdio.h>#define N 5int main()int aN,i,temp;printf("enter array a:n");for(i=0;i<N;i+)scanf("%d",&ai);printf("array a:n");for(i=0;i<N;i+)printf("%4d",
31、ai);for(i=0;i<N/2;i+)temp=ai;ai=aN-i-1;aN-i-1=temp;printf("nNOW,array a:n");for(i=0;i<N;i+)printf("%4d",ai);printf("n");return 0;32.編寫一個函數,求數列1+1/2+1/3+1/4+1/5+.1/n,利用主函數調用這個函數并輸出結果。#include <stdio .h>main()float i=1,s
32、um=0,n;printf("input a number n:");scanf("%f",&n);while(i<=n)sum+=1.0/i;i=i+1;printf("%fn",sum);33.將一個二維數組int a34的行和列的元素互換,存到另外一個二維數組中。#include <stdio.h>int main()int a34=1,2,3,4,5,6,7,8,9,10,11,12;int b43,i,j;printf(
33、"arrary a:n");for(i=0;i<=2;i+)for(j=0;j<=3;j+)printf("%5d",aij);bji=aij;printf("n");printf("array b:n");for(i=0;i<=3;i+)for(j=0;j<=2;j+)printf("%5d",bij);printf("n"
34、);return 0;34.利用循環輸出以下圖形*#include <stdio.h>int main()int i,j,m;for(i=1;i<=5;i+)m=i;for(m=1;m<i;m+)printf(" ");for(j=0;j<=5-i;j+)printf("*");printf("n");return 0;35.用冒泡排序法對輸入的10個數進行降序排序,并存入數組中。#include <st
35、dio.h>int main()int a10;int i,j,t;printf("input 10 numbers:n");for(i=0;i<10;i+)scanf("%d",&ai);printf("n");for(j=0;j<9;j+)for(i=0;i<9-j;i+)if(ai<ai+1)t=ai;ai=ai+1;ai+1=t;printf("the sorted numbe
36、rs:n");for(i=0;i<10;i+)printf("%d",ai);printf("n");return 0;36.有一個3乘4的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。#include <stdio.h>int main()int i,j,row=0,colum=0,max;int a34=1,2,3,4,5,6,7,8,9,10,11,12;max=a00;for(i=0;i<=2;i+)for(j=0;j
37、<=3;j+)if(aij>max)max=aij;row=i;colum=j;printf("max=%d,row=%d,colum=%dn",max,row,colum);return 0;37.用冒泡排序法對輸入的10個數進行升序排序,并存入數組中。#include <stdio.h>int main()int a10;int i,j,t;printf("input 10 numbers:n");for(i=0;i<10;i+)scanf(&
38、;quot;%d",&ai);printf("n");for(j=0;j<9;j+)for(i=0;i<9-j;i+)if(ai>ai+1)t=ai;ai=ai+1;ai+1=t;printf("the sorted numbers:n");for(i=0;i<10;i+)printf("%d",ai);printf("n");return 0;38.利用循環,輸
39、出以下圖形*#include <stdio.h>int main()char a5='*','*','*','*','*'int i,j,k;char space=' 'for (i=0;i<5;i+)printf("n");printf(" ");for(j=1;j<=i;j+
40、)printf("%c",space);for (k=0;k<5;k+)printf("%c",ak);printf("n");return 0;39.輸出以下楊輝三角形(要求輸 出10行)。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1.#include<stdio.h>#define N 10int main()int i,j,aNN;for(i=0;i<N;i+)aii=1;ai0=1;for(i
41、=2;i<N;i+)for(j=1;j<=i-1;j+)aij=ai-1j-1+ai-1j;for(i=0;i<N;i+)for(j=0;j<=i;j+)printf("%6d",aij);printf("n");printf("n");return 0;40.利用循環輸出以下圖形*#include <stdio.h>int main()int i,j,m;for (i=1;i<=4;i+)
42、m=i;for (m=1;m<=4-i;m+)printf(" ");for (j=0;j<2*i-1;j+)printf("*");printf("n");return 0;41.利用循環,輸出以下圖形*#include<stdio.h>int main()int n,i,j;scanf("%d",&n);for(i=0;i<n;i+)for(j=n-1-i;j&a
43、mp;gt;0;j-)printf(" ");for(j=0;j<2*i+1;j+)int k=j;if(k>25)k%=26;printf("%c",'*'+k);printf("n"); return 0;42.求一個3×3的整型矩陣對角線元素之和。#include<stdio.h>main()int a33,i,j,sum=0;printf("請輸入數組元素:(3*3
44、)n");for(i=0;i<3;i+)for(j=0;j<3;j+)scanf("%d",&aij);printf("n");printf("數組為:n");for(i=0;i<3;i+)for(j=0;j<3;j+)printf("%4d",aij);printf("n");printf("n");printf("對角線的和:n");for(i=0;i<3;i+)for(j=0;j<3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025下半年航空行業板塊景氣度持續提升從量變到質變
- 電子競技賽事商業贊助趨勢分析:2025年品牌合作策略洞察報告
- 2025年江蘇省蘇州市中考道德與法治試卷及答案
- 2025年生態修復工程中生態系統服務功能評估與生態系統服務政策優化研究
- 2025年生物制藥行業生物制藥質量控制與監管政策分析報告
- 跨境電商人才培養與企業核心競爭力提升研究報告
- 文化創意產業園2025年品牌塑造策略與產業集聚競爭力提升路徑研究報告
- 消費與零售行業2025年趨勢報告:線上線下融合下的創新策略
- 產科科室培訓及管理制度
- 景區拓展物料管理制度
- 收款賬戶確認書四篇
- 蘇菲新生兒呼吸機操作手冊(中文)
- 市場監督管理局企業注冊、經營范圍登記規范表述:行業分類及條目代碼
- 廣西大學宏觀經濟學期末復習題及參考答案
- GB/T 5780-2016六角頭螺栓C級
- GB/T 31997-2015風力發電場項目建設工程驗收規程
- GB/T 24926-2010全地形車制動性能要求及試驗方法
- GB/T 10410-2008人工煤氣和液化石油氣常量組分氣相色譜分析法
- XX醫院會診質量專項檢查表
- 鋼結構安裝課件
- 人教版七年級下冊地理期末試卷(含答案)
評論
0/150
提交評論