C語言平臺答案_第1頁
C語言平臺答案_第2頁
C語言平臺答案_第3頁
C語言平臺答案_第4頁
C語言平臺答案_第5頁
已閱讀5頁,還剩45頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1:求1到n的累加和(10分)輸入一個整數n,求1+2+3+n的累加和。輸入格式:輸入一個整數。輸出格式:輸出1n的累加和。輸入樣例:在這里給出一組輸入。例如:5輸出樣例:在這里給出相應的輸出。例如:15#include""main()inti,n,t;scanf("%d",&n);t=0;for(i=1;i<=n;i+)t=t+i;printf("%d",t);2:求三角形面積(10分)輸入三角形的三邊長,求其面積。輸入格式:在一行中輸入能夠構成三角形的3個實數,3個數之間用逗號間隔。輸出格式:對每一組輸入,在一行中輸

2、出面積值,結果保留兩位小數,沒有附加字符。輸入樣例:3,3,3輸出樣例:#include""#include""main()floata,b,c,s,w;scanf("%f,%f,%f",&a,&b,&c);w=(a+b+c)/2;s=sqrt(w*(w-a)*(w-b)*(w-c);printf("%.2fn",s);3:分段函數1(12分)計算分段函數,測試數據分別是-2、3、7。輸入格式:輸入一個數輸出格式:輸出x=多少,y=多少,輸出的x和y值均保留兩位小數輸入樣例:-3輸出樣例:x

3、=,y=#include""#include""main()floatx,y;scanf("%f",&x);if(x<0)y=fabs(x+1);elseif(x>5)y=sin(x)+5;printf("x=%.2f,y=%.2f",x,y);4:斐波那契(Fibonacci)數列前20項。#include""main()longinta20=1,1;inti;for(i=2;i<20;i+)ai=ai-1+ai-2;for(i=0;i<20;i+)printf

4、("%8d",ai);5:求1-3+5-99+101的值。#include""#include""main()inti,n,s;i=1;s=1;for(n=1;n<=100;n=n+2)s=s+pow(-1,i+)*n;i+;printf("s=%d",s);6:求1*2+2*3+20*21的值。#include""main()inti,n,t;n=0;for(i=1;i<=20;i+)t=i*(i+1);n=n+t;printf("%d",n);7:各位數字之和

5、(10分)求任一正整數的各位數字之和。輸入格式:輸入一個正整數。輸出格式:輸出整數的各個位數字之和的結果。#include""main()inti,k=1,n,s,nc=1,ni,sum=0;scanf("%d",&n);intj,t=1;for(i=1;n/t>=10;i+)k+=1;t*=10;s=n;for(i=1;i<=k;i+)s=n/nc;ni=s%10;sum+=ni;nc*=10;printf("%d",sum);8:輾轉相除法求最大公約數。#include""main()int

6、n,r,m;scanf("%d,%d",&m,&n);r=m%n;while(r!=0)m=n;n=r;r=m%n;printf("gcd=%dn",n);9:猜算式2*7=3848中的數字(10分)算式:2*7=3848中缺少一個十位數和一個個位數。編程求出使該算式成立時的這兩個數,并輸出正確的算式。輸出格式:在一行中輸出A2*B7=C的值。#include<>main()inti,j,A,B;for(i=1;i<=9;i+)A=i*10;for(j=1;j<=9;j+)B=j;if(3848=(A+2)*(B+

7、70)printf("%d2*7%d=3848",i,j);10:輸出各位數字之和能被15整除的所有數(10分)輸出100到1000之間的各位數字之和能被15整除的所有數,輸出時每5個一行,每個數輸出占4列列寬。輸出格式:在每行中輸出5的滿足要求的數值,每個數輸出占4列列寬。#include""main()intn,i=0,a,b,c,m;for(n=100;n<=999;n+)a=n/100;b=n/10%10;c=n%10;m=a+b+c;if(m%15=0)printf("%4d",n);i+;if(i%5=0)print

8、f("n");11:求1!+3!+5!+n!(10分)求1!+3!+5!+n!的和,要求用循環嵌套設計,n<12。輸入格式:輸入在一行中給出一個不超過12的正整數n。輸出格式:在一行中按照格式“n=n值,s=階乘和”的順序輸出,其中階乘和是正整數。#include<>main()(inti,t,n,k=1,s=0;scanf("%d",&n);if(n<12)for(i=1;i<=n;i+=2)(for(t=1;t<=i;t+)k=t*k;s=k+s;k=1;printf("n=%d,s=%d&quo

9、t;,n,s);12:打印等腰三角形圖形$eoooeee$第一行圖形符號前面有4個空格。#include<>main()(inti,j;for(i=1;i<=5;i+)(for(j=1;j<=5-i;j+)printf("");for(j=1;j<=2*i-1;j+)printf("$");printf("n");13:打印倒直角三角形圖形(10分)請編程序打印如下圖形。$第一行圖形符號前面有1個空格。輸出格式:以倒直角三角形的格式輸出5行由飛"符號構成的三角圖形,每個飛"符號占固定#

10、include<>main()(inti,j;for(i=1;i<=5;i+)(for(j=1;j<=i;j+)printf("");for(j=1;j<=6-i;j+)printf("$");printf("n");14:打印平行四邊形圖形(10分)請編程序打印如下圖形。$第一行圖形符號前面有1個空格輸出格式:以平行四邊形的格式輸出5行由"$"符號構成的圖形,每個"$"符號占固定1位,第一行第一個"$"符號前有1個空格。#include<

11、>main()inti,j;for(i=1;i<=5;i+)for(j=1;j<=i;j+)printf("");for(j=1;j<=5;j+)printf("$");printf("n");15:打印出如下圖案(菱形)*第一行圖形符號前面有5個空格輸出格式:以菱形的格式輸出7行由乘號構成的圖形,每個乘號占固定1位,第一行乘號前有5個空格。#include""main()inti,j;for(i=1;i<5;i+)for(j=1;j<=6-i;j+)printf("&

12、quot;);for(j=1;j<=2*i-1;j+)printf("*");printf("n");for(i=1;i<4;i+)for(j=1;j<=i+2;j+)printf("");for(j=1;j<=7-2*i;j+)printf("*");printf("n");16:打印直角九九乘法表(10分)輸出直角九九乘法口訣,輸出效果如樣例。輸出格式:以左下直角的格式輸出九九乘法表,每個式子按"a*b=c”形式輸出,其中a和b各占1位列寬,c占3位列寬并左

13、對齊。輸出樣例:1*1=12*1=22*2=43*1=33*2=63*3=94*1=44*2=84*3=124*4=165*1=55*2=105*3=155*4=205*5=256*1=66*2=126*3=186*4=246*5=306*6=367*1=77*2=147*3=217*4=287*5=357*6=427*7=498*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=649*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81#include""main()(inti,j;f

14、or(i=1;i<=9;i+)(for(j=1;j<i+1;j+)printf("%d*%d=%-3d",i,j,i*j);printf("n");17:求1!+2!+n!intn,s,i,m;scanf("%d",&n);s=1;m=0;if(n>=1&&n<12)for(i=1;i<=n;i+)s=s*i;m=m+s;printf("m=%d",m);18:統計80到90分人數(10分)輸入若干學生成績,以負數結束輸入。計算所有學生的平均成績并統計成績在80

15、到90分(不含90)之間的人數。輸入格式:在一行輸入幾個百分制實型成績,數據之間以一個空格間隔。輸入負數結束輸入。輸出格式:在一行中按照“2丫3=平均分,n=人數”的順序輸出結果,其中平均分要求保留兩位小數,人數是正整數。#include""main()inta,i,s=0,n=0;floatave;scanf("%d",&a);for(i=0;a>0;i+)s=s+a;if(a>=80&&a<90)n+;scanf("%d",&a);ave=s*i;printf("ave=

16、%,n=%d",ave,n);19:3個數字構數(10分)用0-9之間不同的3個數構成一個3位數,統計出共有多少種方法。輸出格式:按照“count=結果”格式輸出,結果為整數,不加寬度控制。#include""main()intcount,i,n=0,a,b,c;for(i=100;i<=999;i+)a=i%10;b=i/10%10;c=i/100;if(a!=b&&b!=c&&a!=c)n+;printf("count=%d",n);20:兀/4弋1-1/3+1/5求兀(10分)用公式兀/4-1-1/3

17、+1/5求兀的近似值,要求直到最后一項的絕對值小于為止。輸出格式:按照“pi=結果”的順序輸出,其中結果輸出的格式寬度為10列,并保留4位小#include""#include""main()intp=1;floatsum=0,s=1,k=1;while(fabs(s)>=1e-6)sum=sum+s;p=-p;k=k+2;s=p*k;sum=sum*4;printf("pi=%.4f",sum);21:統計兩整數間被3整除數的個數(10分)輸入兩個整數,n1,n2(要求n1<n2),統計兩整數范圍內被3整除的數的個數。輸

18、入格式:在一行輸入2個整數。兩個整數之間用一個空格間隔輸出格式:按照“a=n1,b=n2,n=個數”的順序輸出。其中n1、n2和個數的輸出格式均為原樣輸出,不加寬度控制。#include""main()inti,n1,n2,n=0;scanf("%d%d",&n1,&n2);if(n1<n2)for(i=n1;i<=n2;i+)if(i%3=0)n+;printf("a=%d,b=%d,n=%d",n1,n2,n);22:各位數字平方和(10分)程序功能是輸入一個長整數,求各位數字的平方和s。如果輸入的是負

19、數,求其相反數的各位數字的平方和。例如:輸入-123,輸出14。輸入格式:直接輸入一個長整數。輸出格式:按照“sum=s”的格式輸出,其中各位數字的平方和s原樣輸出,不加寬度控制。#include""#include""intmain(void)intn,s,k,t;scanf("%d",&n);if(n>0)s=0;k=n;while(k!=0)t=k%10;s=s+t*t;k=k/10;if(n<0)n=fabs(n);s=0;k=n;while(k!=0)t=k%10;s=s+t*t;k=k/10;print

20、f("sum=%d",s);return0;23:交換a和b的值(10分)b 的值為 1。不加寬度控制。交換變量a,b的值,如輸入a的值為1,b的值為5,則輸出a的值為5,輸入格式:輸入兩個整數,之間用一個空格間隔。輸出格式:在一行中按照“a=x,b=y”的格式輸出,其中x和y均是原樣輸出,inta,b,t;scanf("%d%d",&a,&b);t=a;a=b;b=t;printf("a=%d,b=%d",a,b);24:華氏溫度轉化為攝氏溫度(10分)將華氏溫度轉化為攝氏溫度(下式中c表示攝氏溫度,f表示華氏溫度)

21、。c=5/9(f-32)輸入格式:直接輸入一個實數,沒有其它任何附加字符。輸出格式:在一行中按照“c=結果”的順序輸出,結果為保留2位小數的實數,沒有其它任何附加格式控制。#include""main()floatf,c;scanf("%f",&f);printf("c=%.2f",c=5*(f-32)/9);25:求n!intn,t,i;t=1;scanf("%d",&n);for(i=1;i<=n;i+)t=t*i;printf("%d",t);26:10個數的最大值#

22、include""main()intmax,i,n;for(i=1;i<=10;i+)scanf("%d",&n);if(n>=max)max=n;printf("max=%d",max);27:1,40能被3整除的數#include""intn;for(n=1;n<=40;n+)if(n%3=0)printf("%4d",n);28:1,100能被3整除的數的和#include""main()intn,t;t=0;for(n=1;n<=100

23、;n+)if(n%3=0)t=t+n;printf("%4d",t);29:1,100能被3整除的數的個數#include""main()intn,t;t=0;if(n%3=0)t+;printf("%d",t);30:求1到6的階乘的和.#include""main()inti,n=1;floats=0;for(i=1;i<=6;i+)n=n*i;s=s+n;printf("jiecheng=%.6f",s);3 輪。31輸入10個無序的整數,用選擇法對10個整數按升序排序。注意:要求排

24、序只排#include""main()inta10;inti,b,min,j,k;for(i=0;i<10;i+)scanf("%d",&ai);for(i=0;i<3;i+)k=i;for(j=i+1;j<10;j+)if(aj<ak)k=j;if(k!=i)b=ai;ai=ak;ak=b;for(i=0;i<10;i+)printf("%5d",ai);32對n個整數組成的一維數組按逆序重新存儲并輸出(n<10)。#include""main()inta80,b80;

25、inti,n;scanf("%d",&n);for(i=0;i<n;i+)scanf("%d",&ai);for(i=0;i<n;i+)bi=an-i-1;printf("%4d",bi);return0;33:對n個整數組成的一維數組用順序法按從小到大排序后輸出(4<n<10),要求排序只排3輪。#include""main()inta10;inti,n,t,j,k;scanf("%d",&n);if(n>4&&n<1

26、0)for(i=0;i<n;i+)scanf("%d",&ai);for(i=0;i<3;i+)k=i;for(j=1+i;j<n;j+)if(aj<ak)k=j;if(k!=i)t=ai;ai=ak;ak=t;for(i=0;i<n;i+)printf("%5d",ai);return0;34:在一維數組中有10個整數,求出其中能被5整除的所有數的和。#include""main()inta10,s=0,i;for(i=0;i<10;i+)scanf("%d",&

27、;ai);if(ai%5=0)s=s+ai;printf("%d",s);已知升序35: 在一個已按升序排列的數組中插入一個數,插入后,數組元素仍按升序排列,數組1,2,4,6,8,9,12,15,149,156。inta11=1,2,4,6,8,9,12,15,149,156;inti,num,j;scanf("%d",&num);if(num>a9)a10=num;elsefor(i=0;i<10;i+)if(num<ai)for(j=9;j>=i;j-)aj+1=aj;ai=num;break;for(i=0;i&l

28、t;11;i+)printf("%5d",ai);36: 有一數組內放5個整數,要求找出第一次出現的最小數和它的下標,然后把它和數組中最前面的元素即第一個數對換位置。#include""main()inta5;inti,min,t,p;for(i=0;i<5;i+)scanf("%d",&ai);min=a0;for(i=0;i<5;i+)if(ai<min)min=ai;p=i;t=a0;a0=ap;ap=t;for(i=0;i<5;i+)printf("%4d",ai);prin

29、tf("n");printf("min=%d,weizhi=%d",min,p);37: 產生并輸出如下形式的方陣。33121443331444331514431555141555551#include""main()inta77;inti,j;for(i=0;i<7;i+)for(j=0;j<7;j+)if(i=j|j+i=6)aij=1;if(i<j&&i+j<6)aij=2;if(i<j&&i+j>6)aij=4;if(i>j&&i+j&g

30、t;6)aij=5;if(i>j&&i+j<6)aij=3;for(i=0;i<7;i+)for(j=0;j<7;j+)printf("%2d",aij);printf("n");39:將一個3X3矩陣轉置(即行和列互換)#include""main()intb9,a33;inti,j;for(i=0;i<9;i+)scanf("%d",&bi);for(j=0;j<3;j+)for(i=0;i<3;i+)aji=bj+i*3;printf(&quo

31、t;%4d",aji);printf("n");40: 打印n行楊輝三角,n<10。#include""main()inti,j,n;inta3131=0;scanf("%d",&n);for(i=0;i<n;i+)for(j=0;j<=i;j+)if(j=0|j=i)aij=1;elseaij=ai-1j-1+ai-1j;for(i=0;i<n;i+)for(j=0;j<=i;j+)printf("%4d",aij);printf("n");re

32、turn0;41: 連接兩個字符串,不允許使用strcat函數。#include""#include""main()chara20,b20;inti,j;gets(a);gets(b);i=0;while(ai!='O')i+;j=0;while(bj!='O')(i+;j+;)ai='O'puts(a);)42:分別統計一個字符串中出現小寫字母、大寫字母、數字和空格的個數。#include""main()(chara40;inti,p=O,b=O,c=O,d=O;gets(a);for

33、(i=0;ai!='0'i+)(if(ai>='a'&&ai<='z')p+;if(ai>='0'&&ai<='9')c+;if(ai='')d+;printf("小寫字母=%dn",p);printf("大寫字母=%dn",b);printf("數字=%dn",c);printf("空格=%dn",d);43:從鍵盤輸入一個字符串,再輸入兩個整數m和n,將字符串從

34、下標為m的字符開始的n個字符復制到另一個字符數組中。#include""main()chars120,s220;inti,n,m,j=0;gets(sl);scanf("%d%d",&m,&n);for(i=m;i<n+m;i+)s2j=s1i;j+;s2j='0'puts(s2);44: 將一個字符串中的字符逆序存放。如字符串為“abcde",則逆序存放后應為"edcba"。#include""#include""main()chars180,s

35、280;inti,k;gets(s1);k=strlen(s1);for(i=0;s1i!='0'i+)s2i=s1k-1-i;s2i='0'puts(s2);45: 將一個字符串中的所有數字字符刪掉。#include""main()chara80,b40;inti,j=0;gets(a);for(i=0;ai!='0'i+)if(ai<'0'|ai>'9')bj=ai;j+;bj='0'puts(b);46: 刪除字符串中的指定字符,字符串和要刪除的字符均由鍵盤輸入

36、。#include""main()chara80,b40,c;inti,j=0;gets(a);c=getchar();for(i=0;ai!='0'i+)if(ai!=c)bj=ai;j+;bj='0'puts(b);47: 將一個字符串中的前n個字符復制到一個字符數組中去,n值小于字符串實際長度,不許使用strcpy函數。#include""chars180,s280;inti,n;gets(s1);scanf("%d",&n);for(i=0;i<n;i+)s2i=s1i;s2i=&

37、#39;0'puts(s2);48: 打印水仙花數。水仙花數是一個三位數,其各位數字的立方和與原數相等。#include""main()inti,n,a,b,c;for(i=100;i<=999;i+)a=i%10;b=i/10%10;c=i/100;n=a*a*a+b*b*b+c*c*c;if(n=i)printf("%5d",i);printf("n");49: 編程求出120之間的奇數之和,偶數之積。#include""main()ints=0,i;doublet=1;for(i=1;i<

38、=20;i+)if(i%2=0)t=t*i;elses=s+i;printf("s=%d,t=%.0lf",s,t);50: 統計100以內的各位數字之和為5的自然數的個數。#include""intmain(void)intn,s,k,count=0;for(n=1;n<=100;n+)s=0;k=n;while(k!=0)s=s+k%10;k=k/10;if(s!=5)continue;elsecount+;printf("%d",count);return0;51: 從鍵盤輸入一個任意正整數判斷其是否為素數,若為素數則輸出

39、"YES",否則輸出"NO"。#include""main()intn,i;scanf("%d",&n);if(n>1)for(i=2;i<n;i+)if(n%i=0)break;if(n=i)printf("YES");elseprintf("NO");52:編程求出大于m的最小素數。#include""#include""main()intm,i,k=0,x;scanf("%d",&m

40、);for(i=m+1;k=0;i+)for(x=2;x<=sqrt(i);x+)if(i%x=0)break;if(x>sqrt(i)k=1;printf("%d",i);53:求Sn=a+aa+aaa+aa.a之值,其中a是一個數字。例如:2+22+222+2222(此時n=4),n由鍵盤輸入。#include""main()inta,n,sn=0,i,t;scanf("a=%d,n=%d",&a,&n);t=a;for(i=1;i<=n;i+)(sn=sn+a;a=a*10+t;)printf(

41、"%d",sn);)54:求出以下分數序列的前20項之和。O#include""main()(inta=1,b=2,n,t;doubles=0;for(n=1;n<=20;n+)(s=s+b*a;t=b;b=a+t;a=t;)printf("%.2f",s);55:輸入一個年份,判斷其是否為閏年,若是閏年輸出“yes”的信息,否則輸出“no”的信息。#include""main()inta;scanf("%d",&a);if(a%4=0&&a%100!=0|a%40

42、0=0)printf("yes");elseprintf("no");56:任意輸入10個整數,求其中偶數之積#include""main()inta,i,s=1;for(i=1;i<=10;i+)scanf("%d",&a);if(a%2=0)s=s*a;printf("%d",s);57:計算數列的第n項。#include""main()intn,i;floata=1;scanf("%d",&n);if(n=1)a=1;for(i

43、=2;i<=n;i+)a=(a+1);printf("%f",a);58:求出100200之間的全部素數,每行輸出8個數,每個數寬度為5歹U。#include""#include""main()intn,i,k,p=0;for(n=100;n<=200;n+)k=sqrt(n);for(i=2;i<=n/2;i+)if(n%i=0)break;if(i>k)printf("%5d",n);p+;if(p%8=0)printf("n");59:求出200以內各位數字之和為9

44、的所有數的平均值。#include""intmain(void)intn,s,k,count=0,sum=0;floatave;for(n=1;n<=200;n+)s=0;k=n;while(k!=0)s=s+k%10;k=k/10;if(s!=9)continue;elsesum=sum+n;count+;ave=sum*count;printf("%.2f",ave);return0;60:輸入n,然后求下列表達式的值。#include""main()intn,sum=1,i;floats=0;scanf("%d&

45、quot;,&n);for(i=2;i<=n+1;i+)s=s+sum;sum=sum+i;printf("%f",s);61: 一個數組有8個元素,將前3個元素通過移動串到后3個位置上,如果其初始數據為:1 2345678不增加數組,也不增加數組的存儲單元,通過移動數組元素將數組變化為:45678123#include""main()inta8,b8;inti;for(i=0;i<8;i+)scanf("%d",&ai);for(i=0;i<8;i+)if(i<3)bi+5=ai;elsebi

46、-3=ai;for(i=0;i<8;i+)printf("%3d",bi);62: 找出含有10個元素一維數組中的最大值和最小值,并互換這兩個數的位置。#include""main()inta10;inti,max,min,t,k,p;for(i=0;i<10;i+)scanf("%d",&ai);min=a0;max=a0;for(i=0;i<10;i+)if(ai>max)max=ai;k=i;if(ai<min)min=ai;p=i;printf("max=%d,min=%d",max,min);printf("n");t=ap;ap=ak;ak=t;for(i=0;i<10;i+)printf("%5d",ai);63:用數組存儲并輸出Fibonacci數列白前20項,按5個一行輸出,

溫馨提示

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

評論

0/150

提交評論