版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言題庫(編程)河南工業(yè)大學(xué) 河工大 c語言期末考試題庫 二、編程題1.有一函數(shù):當(dāng)x<0時,y=-1;當(dāng)x=0時,y=0;當(dāng)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.輸入三個實數(shù),將這三個數(shù)按由大到小的順序排列,并輸出這三個數(shù)。#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.有三個整數(shù)a,b,c,由鍵盤輸入,輸出其中最大者。void main()int a,b,c,max;printf("輸入三個數(shù)字: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.編程求圓面積、圓周長。要求圓半徑由鍵盤輸入,輸出時要求有文字說明,取小數(shù)點后兩位數(shù)字。#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. 【有點難】 有分段函數(shù):當(dāng)x<-10時,y=|x|+5;當(dāng)-10x10時,y=4x-8;當(dāng)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.輸入一個華氏溫度,要求輸出攝氏溫度,輸出時要求有文字說明,取小數(shù)點后兩位數(shù)字。公式為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("對應(yīng)的攝氏溫度是:%5.2fn",c);8.有一函數(shù):當(dāng)x<1時,y=|x|;當(dāng)1<=x<10時,y=2x-1;當(dāng)x>=10時,y=3x+11。編一程序,輸入x的值,輸出y的值。9.輸入三個實數(shù),將這
8、三個數(shù)按由小到大的順序排列,并輸出這三個數(shù)。#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.輸入一個字符,判斷它是否是小寫字母,如果是,將它轉(zhuǎn)換成大寫字母;如果不是,不轉(zhuǎn)換。然后輸出最后得到的字符。#include<stdio.h>#include<string.h>void main()char a;scanf("%c",&a);if(islower(a)a=a-32;printf("%cn",a);11.編程求圓柱體積,圓柱表面積。
10、要求圓半徑,圓柱高由鍵盤輸入,輸出時要求有文字說明,取小數(shù)點后兩位數(shù)字。#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.有分段函數(shù):當(dāng)x<-5時,y=x
12、+10; 當(dāng)-5x5時,y=x2;當(dāng)x>5時,y=2x-10.編一程序,輸入x的值,輸出y的值。13.有三個整數(shù)a,b,c,由鍵盤輸入,輸出其中最小者。#include <stdio.h>int main()int a,b,c,temp,min;printf("請輸入三個整數(shù):");scanf("%d,%d,%d",&a,&b,&c);temp=(a<b)? a:b;min=(temp<c)? temp:c
13、;printf("三個數(shù)中最小數(shù)是%dn",min);return 0;14.輸入一個字符,判斷它是否是大寫字母,如果是,將它轉(zhuǎn)換成小寫字母;如果不是,不轉(zhuǎn)換。然后輸出最后得到的字符。#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!的值,并輸出結(jié)果。#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.猴子吃桃問題。猴子第一天摘下若干個桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個。第二天早上又將剩下的桃子吃掉一半,又多吃一個。以后每天早上都吃了前 一天剩下的一半零一個。到第10天早上想吃時就剩一個桃子了。求第一天共摘了多少個桃子。#include<stdio.h>void main()int day; static x1=1; day=10;while(day>0)x1=(x1+1)*2;day-;printf("桃子總數(shù)=%dn
17、",x1);18.輸出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個3位數(shù),其各位數(shù)字立方和等于該數(shù)本身。#include<stdio.h>int main()int i,j,k,n;printf("水仙花數(shù)是");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之間的所有素數(shù),并輸出結(jié)果。#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!的值,并輸出結(jié)果。#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次落地時共經(jīng)過多少米?#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次落地時共經(jīng)過的米數(shù)*/ hn=hn/2; /*第n次反跳高度*/ printf("the total of road is %fn",sn); getch(); 23.輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。#include <stdio.h>int main()int p,r,n,m,temp;print
22、f("請輸入兩個正整數(shù)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("它們的最大公約數(shù)為:%dn",n);printf("它們的最小公約數(shù)為:%dn",p/n);return 0;24.利用循環(huán),編程求1!+2!+3!+10!的值,并輸出結(jié)果。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.有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13.,求出這個數(shù)列前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數(shù)列前40個數(shù)。這個數(shù)列有以下特點:第1和第2個數(shù)為1,從第3個數(shù)開始,該數(shù)是其前面兩個數(shù)之和。#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數(shù)列的前40項n"); for (i=0; i<40;) printf("%-10ld",fibonacci(i+); if(i%N=0) printf("n"); printf("n"); return 0; 27.一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為完數(shù)。例如,6的因子為1、2、3,而6=1+2+3,因此6是完數(shù)。編程求1000以內(nèi)所有完數(shù)。#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是完數(shù)n",sum);28.求S=a+aa+aaa+.+aa.a(n個a)之值。其中a是一個數(shù)字,n代表a的位數(shù)。例如: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之間的所有素數(shù),并輸出結(jié)果。#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.輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其他字符的個數(shù)。#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.將一個數(shù)組中的值按逆序重新存放。例
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.編寫一個函數(shù),求數(shù)列1+1/2+1/3+1/4+1/5+.1/n,利用主函數(shù)調(diào)用這個函數(shù)并輸出結(jié)果。#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.將一個二維數(shù)組int a34的行和列的元素互換,存到另外一個二維數(shù)組中。#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.利用循環(huán)輸出以下圖形*#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個數(shù)進行降序排序,并存入數(shù)組中。#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個數(shù)進行升序排序,并存入數(shù)組中。#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.利用循環(huán),輸
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.利用循環(huán)輸出以下圖形*#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.利用循環(huán),輸出以下圖形*#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("請輸入數(shù)組元素:(3*3
44、)n");for(i=0;i<3;i+)for(j=0;j<3;j+)scanf("%d",&aij);printf("n");printf("數(shù)組為: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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023六年級數(shù)學(xué)下冊 二 圓柱和圓錐第四課時 圓柱的體積教案 蘇教版
- 租賃倉庫合同(2篇)
- 自擔(dān)風(fēng)險的合同(2篇)
- 西南林業(yè)大學(xué)《城市規(guī)劃原理》2021-2022學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《藝術(shù)鑒賞》2021-2022學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《攝影攝像基礎(chǔ)》2021-2022學(xué)年第一學(xué)期期末試卷
- 別克新一代君威按鍵操作課件
- 西京學(xué)院《電子系統(tǒng)綜合設(shè)計實訓(xùn)》2021-2022學(xué)年期末試卷
- 風(fēng)力發(fā)電 課件
- 浣溪沙課件圖片
- 涵洞檢查評定表
- 幼兒園健康課件ppt
- 衛(wèi)健委2020年落實婦女兒童發(fā)展規(guī)劃情況的匯報
- 白蛋白的合理使用(專業(yè)應(yīng)用)
- 不同季節(jié)的花(共27張PPT)課件
- 綠化起重吊裝專項方案
- 計算機網(wǎng)絡(luò)技術(shù)ppt課件(完整版)
- DB62∕T 4339-2021 高速公路工地試驗室標準化指南
- 安然納米會員手冊
- 發(fā)散思維與聚合思維(課堂PPT)
- 《安全評價》課程設(shè)計-采石場
評論
0/150
提交評論