C語言上機(jī)題目來源及答案概要_第1頁
C語言上機(jī)題目來源及答案概要_第2頁
C語言上機(jī)題目來源及答案概要_第3頁
C語言上機(jī)題目來源及答案概要_第4頁
C語言上機(jī)題目來源及答案概要_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C 語言”上機(jī)題目匯總2012-2013-21. 輸入三角形兩個(gè)邊長及其夾角(角度值) ,求第三邊邊長和三角型面積。 (上機(jī)指導(dǎo) P98 3( 2) )#include<stdio.h>#include<math.h>float pi=3.141592;int main()float a,b,c,v,s;scanf("%f%f%f",&a,&b,&v);c=sqrt(a*a+b*b-2*a*b*cos(v/180*pi);s=a*b*sin(v/180*pi)/2;printf("c=%0.2f,s=%0.2fn&q

2、uot;,c,s);return 0;(測試通過)2. 輸入一個(gè)字符,若是小寫字母,則轉(zhuǎn)換成大寫字母輸出;若是大寫字母,則轉(zhuǎn)換成小寫字母輸出。 (上機(jī)指導(dǎo) P101 2(2)#include <stdio.h>int main()char ch;printf("input:");scanf("%c",&ch);if(ch>='a'&&ch<='z')printf("%c",ch-32);else if(ch>=' A'&&am

3、p;ch<='Z') printf("%c",ch+32);else printf("input error!");return 0;(測試通過)3. 輸入一個(gè)大寫字母,輸出字母表中它前面的字母和后面的字母。如果輸入的字母為A或Z,則分別輸出提示信息“沒有前面的字母”或“沒有后面的字母” 。 (上機(jī)指導(dǎo) P101 2 ( 3) )#include <stdio.h>int main()char c;printf(" 請輸入一個(gè)大寫字母: ");scanf("%c",&c);

4、if (c>'A'&&c<'Z')printf("前一個(gè)字母是:c,后一個(gè)字母是:c",c-1,c+1);else if(c=' A')printf(" A的前面沒有字母,A的后一個(gè)字母是%c",c+1);else if(c='Z')printf("Z的后面沒有字母,Z的前一個(gè)字母是 %c",c-1);elseprintf("輸入有誤請重新輸入"); return 0;(測試通過)4 .編寫程序,輸入一個(gè)整數(shù),判斷它能否被

5、3、5、7整除,并根據(jù)情況輸出下 列信息:(上機(jī)指導(dǎo)P102 2 (6)(1)能同時(shí)被3、5、7整除。(2)能同時(shí)被3、5、7中的兩個(gè)數(shù)整除,并輸出這兩個(gè)數(shù)。(3)只能被3、5、7中的一個(gè)數(shù)整除,輸出該數(shù)。(4)不能被3、5、7中的任何一個(gè)數(shù)整除。#include<stdio.h>int main() int m;printf("pl ease input:");scanf("%d",&m);if (m%3=0)&&(m%5=0)&&(m%7=0)printf("能同時(shí)被3,5,7整除)els

6、e if( (m%3=0)&&(m%5=0)&&(m%7!=0)printf("能被3和5整除,");else if (m%3=0)&&(m%7=0)&&(m%5!=0)printf("能被3和7整除,");else if (m%7=0)&&(m%5=0)&&(m%3!=0)printf("能被7和5整除,");else if (m%7=0)&&(m%5!=0)&&(m%3!=0)printf("能

7、被 7 整除,");else if (m%7!=0)&&(m%5=0)&&(m%3!=0)printf("能被 5 整除,");else if (m%7!=0)&&(m%5!=0)&&(m%3=0)printf("能被 3 整除,"); elseprintf("不能被3,5,7任一個(gè)整除");return 0;(測試通過)5 .已知正整數(shù)A>B>C且A+B+C<100,求滿足 工+ 口 二!共有多少組,并輸A2 B2 C2出滿足條件的組合。(上

8、機(jī)指導(dǎo)P106 2 (3)#include <stdio.h>int main()int a,b,c,cout=0;for(c=1;c<100;c+)for(b=c+1;b<100;b+)for(a=b+1;a<100;a+)if(a+b+c>100) break;else if(1.0/(a*a)+1.0/(b*b)=1.0/(c*c)printf(" A=%d B=%d C=%dn", a,b,c );cout+;printf("%dn",cout);return 0;(測試通過)6 .求1 + 1+1 + 1+。

9、+工+工+的值,直到最后一項(xiàng)的值小于10-5。(上機(jī)指2 4 7 11 16 22導(dǎo) P106 2 (4)#include <stdio.h>int main()int i,a=1;double b=0,s=0;for(i=1;b<0.00001;i+)a=i+a;b=1.0/a;s=s+b;printf("%f",s);return 0;(測試通過)7 .用迭代法求某數(shù)a的平方根,已知求平方根的迭代公式為:Xn=-(Xn-1+)o2Xn-1取a為迭代初值,迭代的結(jié)束條件取xn-xn,1 £105。(課本例6-6)28. 分別輸出100以內(nèi)(不包

10、括100)所有偶數(shù)的和與所有奇數(shù)的和。(課本例 6-8)9. 利用嵌套循環(huán)輸出以下圖形(行與行之間無空行,列與列之間無空列) :(課 本例6-9)#10. 使用循環(huán)找到并輸出 100 以內(nèi)的所有素?cái)?shù)。 (課本例 6-11 )11. 利用循環(huán)找出并輸出所有的“水仙花數(shù)” 。 “水仙花數(shù)”是一個(gè)三位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。如153=13+53 +33, 所以 153 是“水仙花數(shù)” 。 (課本例 6-19 )12. 輸出斐波那契數(shù)列的前40 項(xiàng)。斐波那契數(shù)列是個(gè)整數(shù)數(shù)列,其定義為:1n = 1,n = 2fn= i(課本例 6-18)?fn-1 + fn-2n>213. 輸出 1

11、00 以內(nèi)所有的“同構(gòu)數(shù)” 。所謂“同構(gòu)數(shù)”一個(gè)正整數(shù),它出現(xiàn)在其平方數(shù)的右邊。例如: 5 是 25 右邊的數(shù), 25 是 625 右邊的數(shù), 5 和 25 都是同構(gòu)數(shù)。 (做過的習(xí)題)#include<stdio.h>int main()int i;for(i=1;i<=100;i+)if(i*i%10=i|i*i%100=i)printf("%dn",i);return 0;(測試通過)14. 指定一個(gè)正整數(shù)n, 并輸入 n 個(gè)整數(shù), 用冒泡法將它們由小到大順序排列并輸出。 (課本例 7-4 )15. 利用循環(huán)打印下列九九乘法表: (習(xí)題)1*1= 1

12、2*1= 2 2*2= 43*1= 3 3*2= 6 3*3= 94*1= 4 4*2= 8 4*3=12 4*4=165*1= 5 5*2=10 5*3=15 5*4=20 5*5=256*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=367*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=498*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=649*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

13、#include<stdio.h>int main()int i,j,k;printf("nn 九九乘法表: nnn");for(i=1;i<=9;i+)for(j=1;j<=i;j+)k=i*j;printf("%d*%d=%-3d ",j,i,k);printf("n");return 0;16. 利用循環(huán)打印以下楊輝三角(要求打印 7 行) : (課本 P98 3 )11112113311464 1151010 5 11 6 15 20 15 6 1#include<stdio.h>#defi

14、ne M 7int main()int aMM, i , j ;for(i=0;i<M;i+)for(j=0;j<=i;j+)if(i=j|j=0)aij=1;elseaij=ai-1j+ai-1j-1;printf("%5d",aij);if(i=j)printf("n");return 0;17. 利用循環(huán)輸出下列圖形(無空行和空列) : ( 6-9 變形)*#include<stdio.h>int main()int i,j,k;for(i=1;i<=4;i+)for(j=1;j<=8-i;j+)printf(&

15、quot; ");for(j=1;j<=2*i-1;j+)printf("*");printf("n");return 0;(測試通過)18 .不使用strcat函數(shù),將兩個(gè)字符串連接起來。(課本例7-13)19 .編寫函數(shù),求1 + 1 + 1+1+ +1的值。n的值由鍵盤獲得。(課本例8-6)2 3 4 n20 .編寫函數(shù)int fun(charstr口)并在主函數(shù)中調(diào)用它。此函數(shù)的功能是判別字符串str是否為“回文”,若是,返回1 ,否則返回0 (回文是指正反 序相同的字符串,如“ 13531 ”、“madam”是回文,“1353”

16、、“mrs”不是 回文)。(課本例8-9)21 .用遞歸方法計(jì)算n!。(課本例8-13)22 .用靜態(tài)局部變量法計(jì)算n!o#include <stdio.h>int main()int i;long n,s;scanf("%d",&n);for(i=s=1;i<=n;i+)s=s*i;printf("n!=%ld'n",s);return 0;(測試通過,不過我不會用靜態(tài)局部變量法,就只用了個(gè)循環(huán))1+ 501+1001+1501+20023 .編寫函數(shù),求s=s1 + s2 + s3 + s4,其中:(課本例8-22)

17、s1 =1+- + 1 +2 3s2 = 1 + 1 +1 +2 31 1s3=1+-+- +2 3s4 = 1 + 1 +1 +2 324.編寫程序,計(jì)算組合數(shù)Cm =m!n!(m- n)!m和n由鍵盤獲得。(課本例8-24)25 .編寫函數(shù),求出n個(gè)a之積。調(diào)用該函數(shù),輸入兩個(gè)正整數(shù) n和a,求 a+aa+aaa+A +聊5毛a之和。(上機(jī)指導(dǎo)P1182 (2)#include<stdio.h> int fun(int a,int n) int i,sum1=0,sum2=0;for(i=0;i<n;i+)sum1=sum1*10+a;sum2+=sum1;return

18、sum2; int main()int a,n;printf("Enterthe a and n:");scanf("%d%d",&a,&n);printf("result: %d",fun(a,n);return 0;26 .編寫程序,使用字符指針將字符數(shù)組si中的字符串拷貝到字符數(shù)組s2中去。(課本例9-5)27 .使用“指向函數(shù)的指針”編寫函數(shù),求多項(xiàng)式x4 + x-1當(dāng)x = 1.5,2.5,3.5,4.5時(shí)的值。(課本例9-16)28 .編寫函數(shù),將直角坐標(biāo)(x,y)轉(zhuǎn)換為極坐標(biāo)(r,q)。轉(zhuǎn)換公式為:(課本

19、例9-29)22?r = x +y?q = atand) ? x29 .編寫函數(shù),使用指針參數(shù)將字符串ch2復(fù)制到字符串chi的末尾,實(shí)現(xiàn)chi 與ch2的連接。(課本例9-32)30 .利用指針編寫程序,將一個(gè)一維數(shù)組a10中的最大元素和首元素?fù)Q位,最小元素和末元素?fù)Q位。數(shù)組元素由鍵盤獲得。(上機(jī)指導(dǎo)P121 2 (4)#include"stdio.h"void main()int max,min,*p,a10,i;for(i=0;i<10;i+)scanf("%d”,&ai);p=a;max=a0;for(i=1;i<10;i+,p+)if

20、(max<*p)max=*p;for(i=1;i<10;i+)while(ai=max)ai=a0;a0=max;p=a;min=a9;for(i=1;i<10;i+,p+)if(min>*p)min=*p;for(i=1;i<10;i+)while(ai=min)ai=a9;a9=min;for(i=0;i<10;i+)printf("%d",ai);(測試通過)31 .試編程序,輸入整數(shù)a和b,若a2+b2大于100,則輸出a2+b2百位以上(包 括百位)的數(shù)字,否則輸出兩數(shù)之和。#include <stdio.h>int

21、 main()int a,b;long s;printf("請輸入整數(shù) a,b:");scanf("%d%d",&a,&b);s=a*a+b*b;if(s>100)printf("%d",s/100);elseprintf("%d",a+b);return 0;(測試通過)32 .試編程序,求一個(gè)整數(shù)任意次方的最后三位數(shù)。即求xy的最后三位數(shù),要求x, y從鍵盤輸入,使用循環(huán)實(shí)現(xiàn),不能使用數(shù)學(xué)庫函數(shù)。#include <stdio.h>void main()int i,x,a;lo

22、ng r=1;printf("輸入1個(gè)整數(shù):");scanf("%d",&x);printf("輸入乘方數(shù):");scanf("%d",&a);for(i=1;i<=a;i+)r=r*x%1000;printf("%d 的 %d 次方的后 3 位是 03ld",x,a,r);(測試通過)33 .求99的個(gè)、十、百位上數(shù)字之和。#include <stdio.h>int main()int i,m=1,sum=0;for(i=1;i<9;i+)m=m*9%1

23、000;while(m)sum+=m%10;m/=10;printf("%dn",sum);return 0;(測試通過)34 . 輸出 100 以內(nèi)每位數(shù)的積大于每位數(shù)的和的所有正整數(shù)。#include "stdio.h"void main ( ) int n,k=1,s=0,m ;for (n=1 ; n<=100 ; n+) k=1 ; s=0 ;m=n;while (m>=1) k*=m%10;s+=m%10;m=m/10 ;if(k>s) printf("%dn",n);(測試通過)35 .通過循環(huán)按行優(yōu)先

24、順序?yàn)橐粋€(gè)5X5的二維數(shù)組a賦1到25的自然數(shù),然后輸出該數(shù)組的左下半三角。 (習(xí)題)#include <stdio.h>int main(void)int a55,k=1,i,j;for(i=0;i<5;i+)for(j=0;j<5;j+)aij=k;k+;for(i=0;i<5;i+)for(j=0;j<=i;j+)printf("%d ",aij);printf("n");return 0;(測試通過)36 . 從鍵盤輸入若干整數(shù)(個(gè)數(shù)小于 30 ) ,其值在 0 至 4 的范圍內(nèi),用 -1 作為輸入結(jié)束的標(biāo)志。

25、統(tǒng)計(jì)每個(gè)整數(shù)的個(gè)數(shù)。#include<stdio.h>int main()int a=0,b=0,c=0,d=0,e=0,num,i;printf(" 從鍵盤輸入若干整數(shù):n");for(i=1;i<=30;i+) scanf("%d",&num);if(num=(-1)break; switch(num) case 0: a+;break;case 1: b+;break;case 2: c+;break;case 3: d+;break;case 4: e+;break; printf("0的個(gè)數(shù)為:%dn1的個(gè)數(shù)為:%dn2 的個(gè)數(shù)為:%dn",a,b,c);printf("3的個(gè)數(shù)為:%dn4的個(gè)數(shù)為:%dn",d,e);1. turn 0;(測試通過)37. 定義一個(gè)含有 30 個(gè)整型元素的數(shù)組, 按順序分別賦予從2 開始的偶數(shù), 然后按順序每五個(gè)數(shù)求出一個(gè)平均值,放在另一個(gè)數(shù)組中并輸出。#include <stdio.h>int main() int a30,b5,i=0,j;while(i<30)ai+ =2*(i+1);i=0;while(i<5) j=i*6;bi=aj+aj+1+aj+2+aj+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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論