


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、【設(shè)計型】 5.1 輸出一行星號 編寫程序在一行中輸出 N 個星號。 輸入: N 值輸出: 一行中 N 個星號#include<stdio.h>int main()int a,i;scanf("%d",&a);for(i=1;i<=a;i+)printf("*");printf("n");return 0;【設(shè)計型】 5.2 打印平行四邊形輸入圖形的高 n ,輸出如下例( n=5 )所示的圖形 . 輸入:整數(shù) n 例如 5輸出:由*組成的高為 5 的平行四邊形#include<stdio.h>in
2、t main()int i,j,num;scanf("%d",&num); for(i=0;i<num;i+)for(j=0;j<num;j+)printf("*");printf("n");return 0;【設(shè)計型】 5.3 編程計算保留四位小數(shù) )編寫程序 ,輸入 n 的值 ,求 :1-1/2+1/3-1/4+1/5-1/6+1/7-.+1/n ( #include<stdio.h>int main()double n,i,sum,k=1.0;scanf("%lf",&
3、n); i=1,sum=0;while(i<=n) sum=sum+k/i; i+;k=-k;( 用這個式子實現(xiàn)正負(fù)交替 ) printf("sum=%.4lfn",sum);return 0;【設(shè)計型】 5.4 分?jǐn)?shù)序列 有一個分?jǐn)?shù)序列: ,輸入整數(shù) n,求出其前 n 項的和。輸出語句格式為: printf("sum=%16.10fn",s);#include<stdio.h>int main()int n,a,b,i,temp;double sum;scanf("%d",&n); i=1,sum=0,a=
4、2,b=1;while(i<=n) sum=sum+a*1.0/b;temp=a;a=a+b;b=temp; (幾個式子實現(xiàn)數(shù)值的變換)i+; printf("sum=%16.10fn",sum);return 0;【設(shè)計型】 5.5 求 e 的值double編寫程序,從鍵盤輸入整數(shù) n , 求 e 的值 . e=1+1/1!+1/2!+1/3!+.+1/n!注意:型數(shù)據(jù)計算輸出語句: printf("sum=%16.10fn",sum);#include<stdio.h>int main()int n,i;double sum,jc;
5、 scanf("%d",&n);i=1,sum=1.0 jc=1.0; while(i<=n)jc=jc*i;sum=sum+1.0/jc;i+; printf("sum=%16.10fn",sum);return 0;【設(shè)計型】 5.6 最大公約數(shù)輸入兩個正整數(shù) m 和 n,求它們的最大公約數(shù)和最小公倍數(shù)比如,輸入 m 和 n 的值分別為 14 和 21,則最大公約數(shù)為 7,最小公倍數(shù)為 42。 #include<stdio.h>int main()int yu,m,n,temp,bei,ji; scanf("%d%
6、d",&m,&n);if(m<n)temp=m,m=n,n=temp;ji=m*n; yu=m%n;while(yu!=0)m=n;n=yu;yu=m%n; (最小公約數(shù)求法)bei=ji/n; (最小公倍數(shù)求法) printf("the greatest common divisor is %dn",n); printf("the least common multiple is %dn",bei);return 0;【設(shè)計型】 5.7 水仙花數(shù)輸出所有的水仙花數(shù)。所謂的水仙花數(shù)是指一個 3 位數(shù),其各位數(shù)字立方和等于該
7、數(shù)本身。 例如 153 是一水仙花數(shù),因為 153=13+53+33輸出語句: printf("%dn",n);#include<stdio.h>int main()int a,b,i,j,k; for(i=1;i<=9;i+)三重循環(huán)從 1 到 999) for(j=0;j<=9;j+)for(k=0;k<=9;k+)a=i*i*i+j*j*j+k*k*k;b=100*i+10*j+k;if(a=b)printf("%dn",b);return 0;【設(shè)計型】 5.8 完數(shù)一個數(shù)如果恰好等于它的因子之和, 這個數(shù)就稱為完數(shù)
8、。 例如,6 的因子為 1,2,3,且 6=1+2+3, 因此 6 是完數(shù),從鍵盤上輸入一個正整數(shù),判斷其是否為完數(shù)。如果是,則按照如下格式輸 出。比如,輸入 6,則輸出 Yes,its factors are 1 2 3 ;如果輸入 8,則輸出 No #include<stdio.h>int main()int yinzi,num,i,sum=0; scanf("%d",&num);for(yinzi=1; yinzi<num; yinzi+)if(num%yinzi=0)sum=sum+yinzi; if(sum=num)printf(&quo
9、t;Yes,its factors are ");for(i=1; i<num; i+)if(num%i=0)printf(" %d",i); (輸出因子具體值) printf("n");else printf("Non");return 0;【設(shè)計型】 5.9 素數(shù) 輸入兩個正整數(shù) m 和 n,求出 m,n 區(qū)間的所有素數(shù)#include<stdio.h>int main()int m,n,i,j,tag=1; scanf("%d%d",&m,&n);for(i=m;
10、i<=n; i+)for(j=2; j<i; j+)if(i%j=0)tag=0;break;else tag=1;if(tag)printf(" %d",i);printf("n");return 0;【設(shè)計型】 5.10 回文數(shù)輸入一個數(shù),判斷是否為回文數(shù),如果是,輸出Yes,否則輸出 No#include<stdio.h>int main()double num;scanf("%lf",&num);int min=0, max=num;while (max>0)min=min*10+(int
11、)max%10; (將數(shù)字反過來) max=max/10;if(num=min)printf("Yesn");else printf("Non");return 0;【設(shè)計型】 5.11 貪吃的猴子有一只猴子, 第一天摘了若干個桃子 ,當(dāng)即吃了一半, 但還覺得不過癮 ,就又多吃了一個。 第 2 天早上又將剩下的桃子吃掉一半, 還是覺得不過癮, 就又多吃了兩個。 以后每天早上都 吃了前一天剩下的一半加天數(shù)個(例如,第 5 天吃了前一天剩下的一半加 5 個)。到第 n 天 早上再想吃的時候,就只剩下一個桃子了。輸入:天數(shù) n輸出:第一天的桃子個數(shù),輸出語句為
12、 printf("The monkey got %d peachs in first day.n",sum); Smaple:Input :5OutputThe monkey got 114 peachs in first day.提示:問題分析:總共 t0日 吃掉 剩余1 t0/2+1 t0-(t0/2+1)=t0/2-1 t1=t0/2-1 =>t0=(t1+1)*22 t1/2+2 t1-(t1/2+2)=t1/2-2 t2=t1/2-2 =>t1=(t2+2)*2n-1 tn-2/2+(n-1) tn-2-(tn-2/2+(n-1)=tn-2/2-(n-
13、1) tn-1=tn-2/2-(n-1) => tn-2= (tn-1+n-1)*2n 1 0 tn-1=1#include<stdio.h>int main()int i,t,sum;scanf("%d",&t);sum=1;for(i=t;i>1;i-)sum=(sum+i-1)*2; ?printf("The monkey got %d peachs in first day.n",sum);return 0;【創(chuàng)新型】 5.12 馬戲團(tuán)觀眾人數(shù)一個馬戲團(tuán)表演, n 個座位全滿,全部門票收入是 120 元,現(xiàn)在知道,
14、男人每人 5 元, 女人每人 2 元,小孩每人 1 角。編程,輸入總?cè)藬?shù) n ,輸出滿足要求的男人、女人和小 孩人數(shù)的全部方案。若 n 人無法滿足條件,則輸出“ No outputn ”。輸入: 人數(shù) n輸出: 男人、女人和小孩人數(shù)#include<stdio.h>int main()int man,woman,child,total,sum,tag=0;scanf("%d",&total);for(man=0; man<=total; man+)for(woman=0; woman<=(total-man); woman+)child=to
15、tal-man-woman;sum=50*man+20*woman+1*child; if(sum=1200)tag=1; printf("%d %d %dn",man,woman,child); if(tag=0)printf("No outputn"); return 0;【設(shè)計型】 5.13 迭代法 用迭代法求 .求平方根的迭代公式為 :要求前后兩次求出的 x 的差的絕對值小于 10-5。#include<stdio.h>#include<math.h>int main()double x,a,b; double i;sca
16、nf("%lf",&x);b=x; for(i=1;)a=i;i=(i+x/i)/2; if(fabs(i-a)<=0.00001)printf("The square root of %.2lf is %.5lfn",b,i); break;return 0;【設(shè)計型】 5.14 cos(x)-x=0 利用以下所示的簡單迭代方法求方程:cos(x)-x=0 的一個實根。Xn+1=cos(Xn)迭代步驟如下:(1) 取 X1 初值為 0.0;(2) X0=X1,把 X1 的值賦給 X0;(3) X1=cos(X0),求出一個新的 X1;(4
17、) 若 X0-X1 的絕對值小于 0.000001 ,執(zhí)行步驟 (5),否則執(zhí)行步驟 (2);(5) 所求 X1 就是方程 cos(X)-X=0的一個實根,輸出 X1,輸出語句為 printf("x=%lf",x); 。 提示:本題 x0 和 x1 定義為 double 類型#include<stdio.h>#include<math.h>#include<stdlib.h>int main()double x0,x1;for(x1=0;)x0=x1;x1=cos(x0);if(fabs(x0-x1)<=0.000001)print
18、f("x=%lfn",x1);break;return 0;【設(shè)計型】 5.15 求一個三位數(shù) ,其值等于其各位階乘之和 編寫程序 ,求某三位數(shù) ,該數(shù)值的大小正好是組成這個數(shù)的三個位上的數(shù)字階乘之和。 輸出格式: printf("%dn",num);#include<stdio.h>int main()int i,j,k,l,ge,shi,bai,s1,s2,s3; for(i=100; i<=999; i+)ge=i%10;shi=i%100/10;bai=i/100;s1=1;s2=1;s3=1;for(j=1; j<=ge
19、; j+)s1=s1*j;for(k=1; k<=shi; k+) s2=s2*k;for(l=1; l<=bai; l+)s3=s3*l; if(i=s1+s2+s3) printf("%dn",i);break;【研究創(chuàng)新型】 6.1 誰能出線背景: 電視臺舉辦“超級學(xué)生”才藝大賽,由于報名人數(shù)狂多,所以要先進(jìn)行分組預(yù)賽。按規(guī)定, 每 10 名學(xué)生為一個預(yù)賽小組,評委打出分?jǐn)?shù)( 0100 分),各小組第一名可以進(jìn)入下一輪; 如果有多名學(xué)生得分相同都是第一名,則可同時進(jìn)入下一輪。輸入: 按順序給出一個小組 10 個人的最后得分( int)。輸出: 能夠出線的學(xué)
20、生序號( 09)。#include<stdio.h>int main()int i,a10,max; for(i=0;i<10;i+) scanf("%d",&ai);max=a0; for(i=0;i<10;i+)if(max<=ai) max=ai; for(i=0;i<10;i+) if(ai=max) printf("%dn",i); return 0;【設(shè)計型】 6.2 統(tǒng)計素數(shù)的個數(shù)求出 2 到 m 之間 ( 含 m, m<=1000) 所有素數(shù)并放在數(shù)組 a 中。 輸入:正整數(shù) m輸出:從小
21、到大的所有素數(shù),及個數(shù)(素數(shù)輸出的時候用%4d 來控制)如:輸入: 10輸出: 2 3 5 74 #include<stdio.h> int main()int i,j,k=0,a1001,m,yu,tag,num=0; scanf("%d",&m);for(i=2; i<=m; i+) tag=1;ak=i;for(j=2; j<i; j+)yu=i%j;if(yu=0)tag=0;num+;break;if(tag=1)printf("%4d",ak);k+;printf("n");printf(&
22、quot;%dn",m-num-1);return 0;【設(shè)計型】 6.3 冒泡法排序冒泡排序( BubbleSort )的基本概念是:依次比較相鄰的兩個數(shù),將小數(shù)放在前面,大數(shù)放 在后面。即在第一趟:首先比較第 1 個和第 2 個數(shù),將小數(shù)放前,大數(shù)放后。然后比較第2個數(shù)和第 3 個數(shù),將小數(shù)放前,大數(shù)放后,如此繼續(xù),直至比較最后兩個數(shù),將小數(shù)放前, 大數(shù)放后。 至此第一趟結(jié)束, 將最大的數(shù)放到了最后。 在第二趟: 仍從第一對數(shù)開始比較 (因 為可能由于第 2 個數(shù)和第 3 個數(shù)的交換,使得第 1 個數(shù)不再小于第 2 個數(shù)),將小數(shù)放前, 大數(shù)放后,一直比較到倒數(shù)第二個數(shù)(倒數(shù)第一
23、的位置上已經(jīng)是最大的),第二趟結(jié)束,在倒數(shù)第二的位置上得到一個新的最大數(shù)(其實在整個數(shù)列中是第二大的數(shù)) 。如此下去,重 復(fù)以上過程,直至最終完成排序。 由于在排序過程中總是小數(shù)往前放,大數(shù)往后放, 相當(dāng)于氣泡往上升,所以稱作冒泡排序。編寫程序,對輸入的十個數(shù)按照從小到大排序#include<stdio.h>int main()int i,j,a10,z;for(i=0; i<10; i+)scanf("%d",&ai);for(j=0; j<9; j+)for(i=0; i<9-j; i+)if(ai>ai+1)z=ai+1;
24、ai+1=ai; ai=z;for(j=0; j<10; j+)printf(" %d",aj);printf("n");return 0;【設(shè)計型】 6.4 插入法排序如果一個數(shù)組中保存的元素是有序的(由小到大) ,向這個數(shù)組中插入一個數(shù),使得插入后 的數(shù)組元素依然保持有序。定義一個數(shù)組,長度為 11,初始元素為 10 個,按照從小到大的方式輸入,然后輸入一個要 插入的元素,使得插入后仍然有序。#include<stdio.h>int main()int a11,i,j,t;for(i=0; i<10; i+)scanf(&qu
25、ot;%d",&ai); scanf("%d",&a10); for(i=0; i<10; i+) if(ai>a10)t=a10;for(j=10; j>i; j-)aj=aj-1;ai=t;break;for(i=0; i<11; i+)printf(" %d",ai);printf("n");return 0;【設(shè)計型】 6.5 求各位數(shù)字組成的最大數(shù)任意輸入一個自然數(shù), 輸出該自然數(shù)的各位數(shù)字組成的最大數(shù)。 例如, 輸入 1593 ,則輸出 為 9531 。輸入: 自然數(shù) n輸
26、出: 各位數(shù)字組成的最大數(shù)#include<stdio.h>int main()int a12,num,i,j,k,m,t; scanf("%d",&num); for(i=0;i+) k=num%10; num=num/10;( 分離各個位數(shù) ) ai=k;if(num=0)break;for(m=0; m<i; m+)for(j=0; j<i-m; j+) if(aj>aj+1) t=aj+1; aj+1=aj; aj=t; for(j=i;j>=0;j-) printf("%d",aj); printf(
27、"n"); return 0;【設(shè)計型】 6.6 數(shù)組逆序輸出 問題描述從鍵盤上輸入一個數(shù)組( 10 個元素),將原數(shù)組逆序重新排列后輸出。要求輸出每個元素時 以一個空格隔開。提示: 用第一個與最后一個交換。#include<stdio.h>int main()int a10,i,t; for(i=0;i<=9;i+) scanf("%d",&ai);for(i=0;i<5;i+) (第一個與最后一個調(diào)換)t=ai;ai=a9-i;a9-i=t; for(i=0;i<=9;i+) printf("%d &q
28、uot;,ai);printf("n");return 0;【設(shè)計型】 6.7 求最大值 問題描述 要求從鍵盤輸入 10 個整型數(shù)據(jù),找出其中的最大值并顯示出來。輸入范例3 0 54 -710 27 32767 10 1 500 2 輸出范例32767提示 先假定第一個元素時最大值,然后和其他的元素一個一個的進(jìn)行比較,直到找到最大值。 #include<stdio.h>#define n 10int main()int an,i,max;for(i=0; i<10; i+) scanf("%d",&ai);max=a0;for(
29、i=1; i<10; i+) if(ai>max) max=ai; printf("%d",max); printf("n");return 0;【設(shè)計型】 6.8 二維數(shù)組程序定義了 4× 4 的二維數(shù)組,請編寫程序,給二維數(shù)組賦值,并使數(shù)組下半三角元素中 的值乘以 n 。例如: 數(shù)組中的值為假設(shè) n 為 10,則輸出結(jié)果如下: (輸出的數(shù)按照 4 位寬度來輸出,即 %4d) #include<stdio.h>int main()int a44,i,j,n,count=0;for(i=0; i<=3; i+)fo
30、r(j=0; j<=3; j+)scanf("%d",&aij);scanf("%d",&n);for(j=0; j<=3; j+)for(i=j; i<=3;i+)aij=n*aij;for(i=0; i<=3; i+)for(j=0; j<=3; j+)count+;printf("%4d",aij);if(count%4=0) printf("n"); return 0;【設(shè)計型】 6.9 在屏幕上顯示楊輝三角形 楊輝三角形,又稱賈憲三角形,帕斯卡三角形,是二項式
31、系數(shù)在三角形中的一種幾何排列。其實, 中國古代數(shù)學(xué)家在數(shù)學(xué)的許多重要領(lǐng)域中處于遙遙領(lǐng)先的地位。 中國古代數(shù)學(xué)史 曾經(jīng)有自己光輝燦爛的篇章,而賈憲三角的發(fā)現(xiàn)就是十分精彩的一頁。楊輝三角有如下性質(zhì):1、每行數(shù)字左右對稱,由 1 開始逐漸變大,然后變小,回到 1。2、第 n 行的數(shù)字個數(shù)為 n 個。3、每個數(shù)字等于上一行的左右兩個數(shù)字之和。編寫程序,輸入正數(shù) n, 將所有數(shù)據(jù)存儲到二維數(shù)組中,并在屏幕上顯示對應(yīng)的楊輝三角 形(注意數(shù)據(jù)之間的空格) 。例如 :n=5 圖形如下:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1 #include<stdio.h>
32、int main()int i,j,n;int a1010; scanf("%d",&n);n=n+1;for(i=0; i<n; i+)ai0=1;aii=1;for(i=2; i<n; i+)for(j=1; j<i; j+) aij=ai-1j-1+ai-1j; for(i=0; i<n; i+)for(j=0; j<=i; j+)printf("%3d",aij);printf("n");return 0;【設(shè)計型】 6.10 求二維數(shù)組周邊元素之和 編寫一個程序,求出 4×5
33、的二維數(shù)組周邊元素之和。 輸入:二維數(shù)組元素輸出:周邊元素之和如:輸入:1 3 5 7 92 9 9 9 46 9 9 9 81 3 5 7 0輸出: 61#include<stdio.h>int main() int a45,i,j,sum1=0,sum2=0,sum;for(i=0;i<4;i+)for(j=0;j<5;j+)scanf("%d",&aij);for(j=0;j<5;j+)sum1=sum1+a0j+a3j;for(i=0;i<4;i+)sum2=sum2+ai0+ai4; sum=sum1+sum2-a00-
34、a04-a34-a30; printf("%dn",sum);return 0;【設(shè)計型】 6.11 存儲并輸出一個矩陣圖形。編程,輸入 n ,存儲并輸出如下例( n=5 )所示的1 2 3 4 51 1 2 3 41 1 1 2 31 1 1 1 21 1 1 1 1#include<stdio.h>int main()int a55,i,j,n,count=0;scanf("%d",&n);for(i=0; i<n; i+)for(j=0; j<=i; j+)aij=1;for(i=0; i<n-1; i+)fo
35、r(j=i+1; j<n ; j+)aij=aij-1+1;for(i=0; i<n; i+)for(j=0; j<n; j+)printf(" %d",aij);count+;if(count%n=0)printf("n");return 0;【設(shè)計型】 6.12 給數(shù)組中的元素按順序編號對數(shù)組 a10 中的十個整數(shù)從小到大進(jìn)行連續(xù)編號,輸出各個元素的編號。要求不能改變數(shù)組 a 中元素的順 序,且相同的整數(shù)要具有 相同的編號。例如數(shù) 組是:A=(5,3,4,7,3,5,6,8,9,10) 則輸出為: (4,1,3,7,1,4,6,8,
36、9,10)#include<stdio.h>int main()int a11,c11;int i,j,t,m;for(i=1;i<11;i+)scanf("%d",&ai);ci=ai;for(j=1;j<=10;j+)for(i=1;i<11-j;i+)if(ai>=ai+1)t=ai;ai=ai+1;ai+1=t;for(m=1;m<11;m+)for(i=1;i<11;i+)if(cm=ai)printf("%3d",i);break;printf("n");return
37、 0;【設(shè)計型】 8.1 字符轉(zhuǎn)換 描述提取一個字符串中的所有數(shù)字字符( 0'. 9')將其轉(zhuǎn)換為一個整數(shù)輸出。 輸入一個以回車符為結(jié)束標(biāo)志的字符串(少于 80 個字符)。 輸出把字符串中的所有數(shù)字字符( 0' . 9')轉(zhuǎn)換為一個整數(shù)并輸出。 #include<stdio.h>#include<string.h>int main()char word20;int i,n; scanf("%s",word);n=strlen(word);for(i=0; i<=n; i+) if(wordi>='0
38、'&&wordi<='9')printf("%c",wordi);printf("n");return 0;【設(shè)計型】 8.2 合并字符串使合并后輸入兩個已經(jīng)按從小到大順序排列好的字符串, 編寫一個合并兩個字符串的函數(shù), 的字符串,仍然是從小到 大排列。輸入: 兩個已經(jīng)排好順序(升序)的字符串輸出: 一個合并在一起的有序(升序)的字符串要求: 設(shè)計一個效率盡量高的算法,對每個字符串只掃描一遍就可以了。 如果采用先進(jìn)行串連接,然后再進(jìn)行排序的算法,則效率太低了。#include<stdio.h>#i
39、nclude<string.h>int main()char a100,b100;char n200,t;int i,j,k,m;gets(a);gets(b); for(i=0;ai!=0;i+) ni=ai;for(j=0;bj!=0;j+,i+)ni=bj;ni='0'for(k=0;k<i;k+)for(m=k+1;m<i;m+) if(nk>nm) t=nk; nk=nm; nm=t;printf("%sn",n);return 0;【設(shè)計型】 8.3 刪除重復(fù)字符 背景:輸入一個長度不超過 100 的字符串,刪除串中
40、的重復(fù)字符。輸入:輸入要檢查的字符串,長度不超過 100 個字符。例如: abacaeedabcdcd。 輸出:刪除重復(fù)字符后的字符串。例如: abced。#include<stdio.h>#include<string.h>int main()char str1100,str2100;int i,j,n,k=0,tag=0;scanf("%s",str1);str20=str10;printf("%c",str20);n=strlen(str1);for(i=0; i<n; i+)for(j=0; j<k+1; j+
41、)if(str1i=str2j)tag=0;break;tag=1;if(tag=1)str2k+1=str1i;printf("%c",str2k+1);k+;printf("n");return 0;【設(shè)計型】 8.4 刪除字符串中指定字符abc123ad輸入兩個字符串 s1 和 s2 ,在 s1 中刪除任何 s2 中有的字符。 例如, s1 s2 :“ a1 ” ,則輸出“ bc23d ”。輸入: 兩個字符串 s1 和 s2 輸出: 刪除后的字符串 s1 #include<stdio.h>#include<string.h>
42、int main()char str1100,str2100;int i,j,n1,n2,tag=0;scanf("%s%s",str1,str2);n1=strlen(str1); n2=strlen(str2);for(i=0; i<n1; i+)for(j=0; j<n2; j+)if(str1i=str2j)tag=0;break;tag=1;if(tag=1) printf("%c",str1i);printf("n");return 0;【設(shè)計型】 8.5 單詞有多少用空格或換行分開的字符串稱為單詞。 輸入多行
43、字符串, 直到遇到了單詞 "stop" 時才停止。 最后輸出單詞的數(shù)量。用于分割單詞的空格或換行可能多于 1 個。輸入: 多個字符串輸出: 單詞的數(shù)量#include<stdio.h>#include<string.h>int main()char str1020,str2='s','t','o','p','0'int i,num=0;for(i=0;i+)scanf("%s",stri);if(strcmp(stri,str2)=0)break;nu
44、m+;printf("%dn",num);return 0;【設(shè)計型】 8.6 在指定位置插入字符串輸入兩個字符串 s1 、 s2 和 s1 中任意字符 k ,在 s1 中的指定字符 k 第一次出現(xiàn)的位 置處插入字符串 s2 并輸出。輸入: 兩個字符串 s1 、 s2 和 s1 中任意字符 k輸出: 插入后的字符串 s1#include<stdio.h>#include<string.h>int main()char str115,str215,t;int i,n,num=0;gets(str1);gets(str2);t=getchar();n=s
45、trlen(str1);for(i=0; i<n; i+)if(str1i=t)break;num+;for(i=0; i<num; i+)printf("%c",str1i);printf("%s",str2);for(i=num; i<n; i+)printf("%c",str1i);printf("n");return 0;【研究創(chuàng)新性】 8.7 Your Ride Is HereIt is a well-known fact that behind every good comet is
46、a UFO. These UFOs often come to collect loyal supporters from here on Earth. Unfortunately, they only have room to pick up one group of followers on each trip. They do, however, let the groups know ahead of time which will be picked up for each comet by a clever scheme: they pick a name for the come
47、t which, along with the name of the group, can be used to determine if it is a particular group's turn to go (who do you think names the comets?). The details of the matching scheme are given below; your job is to write a program which takes the names of a group and a comet and then determines w
48、hether the group should go with the UFO behind that comet.Both the name of the group and the name of the comet are converted into a number in the following manner: the final number is just the product of all the letters in the name, where "A" is 1 and "Z" is 26. For instance, the
49、 group "USACO" would be 21 * 19 * 1 * 3 * 15 = 17955. If the group's number mod 47 is the same as the comet's number mod 47, then you need to tell the group to get ready! (Remember that "a mod b" is the remainder left over after dividing a by b; 34 mod 10 is 4.)Write a pr
50、ogram which reads in the name of the comet and the name of the group and figures out whether according to the above scheme the names are a match, printing "GO" if they match and "STAY" if not. The names of the groups and the comets will be a string of capital letters with no spac
51、es or punctuation, up to 6 characters long.#include<stdio.h> #include<string.h> int main()char comet10,group10;int i,n1,n2,sum1=1,sum2=1;int yu1,yu2;scanf("%s%s",comet,group);n1=strlen(comet); n2=strlen(group);for(i=0;i<n1;i+)sum1=sum1*(cometi-'A'+1);for(i=0;i<n2;
52、i+) sum2=sum2*(groupi-'A'+1); yu1=sum1%47; yu2=sum2%47;if(yu2=yu1)printf("GOn");else printf("STAYn");return 0;【研究創(chuàng)新型】 8.8 大數(shù)相加問題描述:編寫 C程序,它能以字符串形式讀入兩個無符號正整數(shù) m 和 n,計算并輸出這兩個整數(shù)之 和輸入格式:輸入由兩行組成,第一行為無符號整數(shù)m,第二行為無符號整數(shù) n,且 m 和 n 的值最長 25位輸出格式: 輸出為一行,即兩個無符號整數(shù) m 和 n 之和 輸入樣例: 99998888
53、88355729288輸出樣例:10355618176#include <stdio.h>#include <string.h>#define N 200int main()char s1N,s2N;int aN= 0,bN= 0,L1,L2,c,k,i;scanf("%s%s",s1,s2);L1=strlen(s1);L2=strlen(s2);if(L1<L2) k=L2;else k=L1;c=k;for(i=0; i<L1; k-,i+)ak=s1L1-1-i-'0'for(k=c,i=0; i<L2; k
54、-,i+)bk=s2L2-1-i-'0'for(i=c; i>=0; i-)ai+=bi;if(ai>=10)ai-=10;ai-1+;if(a0!=0)for(i=0; i<=c; i+) printf("%d",ai);elsefor(i=1; i<=c; i+) printf("%d",ai);printf("n");return 0;【設(shè)計型】 9.1 數(shù)的合并請編寫函數(shù) fun ,其功能是: 將兩個兩位數(shù)的正整數(shù) a、b合并形成一個整數(shù)放在 c中。合并 的方式是:將 a 的十位和個位依
55、次存放在 c 數(shù)的十位和千位上, b 的十位和個位依次存放在 c 數(shù)的個位和百位上。例如:當(dāng) a=45, b=12,調(diào)用該函數(shù)后, c=5241。#include <stdio.h>#include <stdio.h>int fun(int a,int b)int shi,qian,ge,bai,fun;shi=a/10; qian=a%10;ge=b/10;bai=b%10;fun=qian*1000+bai*100+shi*10+ge;return (fun);int main()int a,b,c;scanf("%d%d",&a,&am
56、p;b);c=fun(a,b);printf("c=%dn",c);【設(shè)計型】 9.2 素數(shù)的判斷請編寫函數(shù) fun ,其功能是判斷一個整數(shù) n 是否為素數(shù),如果是素數(shù),則返回1,否則返回0。#include <stdio.h>int fun(int n)int i,flag=1,fun=1;for(i=2; i<n; i+)if(n%i=0)flag=0;break; if(flag=0) fun=0;elsefun=1;return fun;int main()int a; scanf("%d",&a); if(fun(a)
57、 printf("Primen"); else printf("Non Primen"); return 0;【設(shè)計型】 9.3 求級數(shù)請編寫函數(shù) fun ,它的功能是計算下列級數(shù)和,值由函數(shù)值返回。例如,當(dāng) n=10,x=0.3 時,函數(shù)值為 1.349859。請勿改動主函數(shù) main ,僅在函數(shù) fun 的花括號中填入所編寫的若干語句。 #include <stdio.h> double fun(double x,int n)int i,jc=1;double sum=1.0,m=1.0;for(i=1; i<=n; i+)m=m*
58、x; jc=jc*i;sum=sum+m*1.0/jc;return sum;int main()double x;int n;scanf("%lf%d",&x,&n); printf("%lfn",fun(x,n);return 0;【設(shè)計型】 9.4 求大于 m 且緊靠 m 的 k 個素數(shù)請編寫一個函數(shù),其功能是:將大于整數(shù) m 且緊靠 m 的 k 個素數(shù)存入 xx 所指的數(shù)組中。 例如,若輸入 17 5,則應(yīng)輸出 19 23 29 31 37請勿改動主函數(shù) main ,僅在函數(shù) fun 的花括號中填入所編寫的若干語句。 #include <stdio.h>void fun(int m,int k,i
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 器材鑒定報告范文
- 2025年度洗浴中心員工職業(yè)發(fā)展支持雇傭合同
- 二零二五年度電商平臺圣誕節(jié)促銷合作協(xié)議
- 2025年度自建房項目房屋獨家代理銷售合同
- 二零二五年度房產(chǎn)銷售風(fēng)險評估合同
- 沈陽正規(guī)聘用總經(jīng)理2025年度職位聘用與薪酬待遇合同
- 二零二五年度挖掘機(jī)械安全責(zé)任保險合作協(xié)議
- 二零二五年度信息技術(shù)部門經(jīng)理層崗位聘任及培訓(xùn)合同
- 二零二五年度撫養(yǎng)權(quán)變更及子女撫養(yǎng)費支付調(diào)整合同
- 二零二五年度化工機(jī)械買賣合作協(xié)議
- 急診科的學(xué)科建設(shè)和人才培養(yǎng)
- 高速公路上的安全駕駛技巧
- 《合同法違約責(zé)任》課件
- 2024建筑消防設(shè)施維護(hù)保養(yǎng)技術(shù)規(guī)范
- 社會情感學(xué)習(xí)在學(xué)校中的推廣
- 中國胎兒心臟超聲檢查指南
- 供水安全知識試題及答案
- 【歷年真題】2018年4月00040法學(xué)概論自考試卷(含答案)
- 中移光纜培訓(xùn)資料
- 消防救援-低溫雨雪冰凍惡劣天氣條件下災(zāi)害防范及救援行動與安全
- 主播試用期合同模板
評論
0/150
提交評論