




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第三章 順序結(jié)構(gòu)3.30 編寫程序,把560 分鐘換算成用小時和分鐘表示,然后進(jìn)行輸出。程序如下main( )int hour,minute;hour=560/60;minute=560%60;printf("hour=%d,minute=%d",hour,minute);3.31 編寫程序,輸入兩個整數(shù): 1500 和 350,求出它們的商數(shù)和余數(shù)并進(jìn)行輸出。程序如下 include<stdio.h>main( )int num1,num2,i,j; /* 定義變量 i 商 ,j 余數(shù)*/printf("input num1 and num2:n&q
2、uot;);scanf("%d%d",&num1,&num2); i=n3.32 編寫程序,讀入三個雙精度數(shù),求它們的平均值并保留此平均值小數(shù)點(diǎn)后一位數(shù),對小數(shù)點(diǎn)后第二位數(shù)進(jìn)行四舍五入,最后輸出結(jié)果。程序如下main( )double a,b,c,average=0;printf("input a,b,c(double):n");scanf("%lf%lf%lf",&a,&b,&c);average=(a+b+c)/3;average=average*10;average=average+0.5
3、;average=(int)average;average=average/10;printf("average=%lf",average);3.33 編寫程序,讀入三個整數(shù)給a, b, c,然后交換它們中的數(shù),把 a中原來的值給b,把b中原來的值給c,把c中的值給a。main( ) int a,b,c,t=0;printf("input a b c:n");scanf("%d%d%d",&a,&b,&c);t=c;c=b;b=a;a=t;printf("a=%d b=%d c=%d",a,
4、b,c);第四章 選擇結(jié)構(gòu)4.21 當(dāng) a>0 時,請將以下語句改寫成switch 語句。if( a<30 ) m=1;else if( a<40 ) m=2;else if( a<50 ) m=3;else if( a<60 ) m=4; else m=5;程序如下main() int a;printf("Enter a:n");scanf("%d",&a); switch(a/10)case 0:case 1:case 2: printf("m=1"); break ;case 3: prin
5、tf("m=2"); break ;case 4: printf("m=3"); break ;case 5: printf("m=4"); break ;default: printf("m=5"); 5.22 編寫程序,輸入一位學(xué)生的生日(年:y0、月:m0、日:d0);并輸入當(dāng)前的日期(年:y1、月:ml、日:di);輸出該生的實(shí)足年齡。程序如下 這道題僅做參考! ! !系統(tǒng)不一樣無法運(yùn)行!main( ) int y0,y1,m0,m1,d0,d1,age=0;printf("Your Birthd
6、ay(yyyy -mm -dd):n"); scanf("%d-%d-%d",&y0,&m0,&d0);printf("Current Date(yyyy-mm-dd):n");scanf("%d-%d-%d",&y1,&m1,&d1);if(d1<d0)m1=m1 -1;if(m1<m0)y1=y1 -1;age=y1-y0;printf("nAge=%d",age);5.23 編寫程序,輸入一個整數(shù),打印出它是奇數(shù)還是偶數(shù)。程序如下main(
7、 )int i;printf("input a integer:n");scanf("%d",&i);if(i%2=0) /* 條件判斷 */printf("%d is a even",i);elseprintf("%d is a odd",i);5.24 編寫程序,輸入 a、 b、 c 三個數(shù),打印出最大者。程序如下main( )int a,b,c,max = 0;printf("input (int)a b and c:n");scanf("%d%d%d",&am
8、p;a,&b,&c);max =a;if(max<b) max = b;if(max<c) max = c;printf("max=%d",max);5.25 有一函數(shù):編寫一程序,要求輸入 x 的值,輸出 y 的值。分別( 1)不嵌套的 if 語句 ( 2 )嵌套的 if 語句( 3) if_else 語句 ( 4 ) switch 語句源程序一: ( 1)不嵌套的 if 語句main( )float x;printf("input x:n");scanf("%f",&x);if(x>-5&
9、amp;&x<0) printf("y=%f",x);if(x=0)printf("y=%f",x -1);if(x>0&&x<10)printf("y=%f",x+1);if(x<=-5|x>=10)printf("input error");源程序二: ( 2)嵌套的if 語句main( )float x;printf("input x:n");scanf("%f",&x);if(x>-5&&am
10、p;x<10)if(x=0) printf("y=%f",x -1);if(x<0) printf("y=%f",x);if(x>0) printf("y=%f",x+1);if(x<=-5|x>=10)printf("input error");源程序三: ( 3) if_else 語句main( )float x;printf("input x:n");scanf("%f",&x);if(x>-5&&x<1
11、0)if(x<0)printf("y=%f",x -1);else if(x=0) printf("y=%f",x);elseprintf("y=%f",x+1);elseprintf("input error");源程序四: ( 4) switch 語句*/main()int flag;float x;printf("Enter x:n");scanf("%f",&x);if(x>-5 &&x<0) flag=-1;if(x=0)
12、flag=0;if(x>0 &&x<10) flag=1;switch(flag)case -1: printf("y=%f",x); break;case 0: printf("y=%f",x -1); break;case 1: printf("y=%f",x+1); break;/*第五章 循環(huán)結(jié)構(gòu)三、編程題5.17 編寫程序,求1 357 .-99+101 的值。程序如下main()int i,sum=0,s=1;for(i=1; i<=101;i+=2)sum=sum+i*s;s=-s; /
13、* 控制符號交替變換*/printf("sum=%d",sum);5.18 編寫程序,求 e 的值,e= 1+1/1!+1/2!+1/3!+1/4!+1/n!(1)用 for 循環(huán),計算前50 項(2)用 while 循環(huán),要求直至最后一項的值小于1e 4。程序如下 源程序一: ( 1)用 for 循環(huán)實(shí)現(xiàn) main( ) int i,n; double sum=1,t=1; printf("input n:n"); scanf("%d",&n);for(i=1;i<=n;i+) t=t*i; /* 實(shí)現(xiàn)階乘 */ su
14、m=sum+1/t; printf("e=%lf",sum);源程序二: ( 2)用while 循環(huán)實(shí)現(xiàn)#include<math.h> main( ) int i;doubel sum=1,t=1;while(fabs(1.0/t)>1e -4) /* fabs 求浮點(diǎn)型數(shù)據(jù)的絕對值*/ t=t*i; sum=sum+1/t; i+; printf("e=%lf",sum); 5.19 編寫程序,輸出從公元 1000 年至 2000 年所有閏年的年號 每輸出 3 個年號換一行。 判斷公元年是否閏年的條件是:(1)公元年數(shù)如能被 4 整
15、除,而不能被100 整除,則是閏年。(2)公元年數(shù)能被400 整除也是閏年。程序如下main( ) int i,j=0;for(i=1000;i<=2000;i+) if(i%4=0)&&(i%100!=0)|(i%400=0) /* 判斷是否是閏年的條件*/ printf("&d ",i);j+;if(j%3=0) /* 控制換行 */printf("n");5.20 編寫程序,打印以下圖形:*程序如下#include<math.h>main( )int i,j;for(i=1;i<=7;i+) /* 控
16、制行數(shù)*/for(j=1;j<=7;j+) /* 控制星數(shù)*/if(j<=fabs(4-i)|(j>7 -fabs(4-i)printf(" ");elseprintf("*")printf("n");#include<stdio.h>#include<math.h>main() int i,j,k;for(i= -3;i<=abs(i);i+)for(j=0;j<=abs(i);j+)printf(“ ” );for(k=0;k<=7 -abs(i);k+)printf(
17、“ * ” );printf( “ n ” );第六章 字符型數(shù)據(jù)ASCII 代碼6.21 請編寫程序,輸入一行字符(用回車結(jié)束) ,輸出每個字符以及與之對應(yīng)的值,每行輸出三隊.程序如下 include<stdio.h> main( ) int i=0;char ch;while(ch=getchar( )!='n') printf("%4c%4d",ch,ch); i+;if(i%3=0) printf("n"); 6.21 請編寫程序,輸入一行數(shù)字字符(用EOF結(jié)束),每個數(shù)字字符的前后都有空格。請編程,把這一行中的數(shù)字轉(zhuǎn)
18、換成一個整數(shù)。例如,若輸入:248 3 <CR> (<CR玳表 Enter 鍵)則輸出整數(shù): 2483程序如下#include<stdio.h> main() char ch;while(ch=getchar()!=EOF) if(ch=' ') continue; elseprintf("%c",ch); 6.22 請編寫程序統(tǒng)計輸入的行數(shù),輸入用EOF結(jié)束輸入。程序如下#include<stdio.h> main() char ch;int i=0;while(ch=getchar()!=EOF)if(ch=
19、39;n') i+;printf("%d",i);6.23 請編寫程序統(tǒng)計輸入的一行中小寫字母的個數(shù)。程序如下#include<stdio.h>main()int i=0;char ch;while(ch=getchar()!='n')if(ch>='a')&&(ch<='z')i+;printf("%d",i);6.24 請編寫輸出以下圖案的程序,圖案的行數(shù)由輸入的值確定。ABBBCCCCCDDDDDDDEEEEEEEEE程序如下#include<st
20、dio.h>main()int i,j,k,n;printf("Enter n(integer):n");scanf("%d",&n);for(i=1;i<=n;i+)for(j=n;j>i;j -)printf(" ");for(k=1;k<=2*i -1;k+)printf("%c",64+i);printf("n");第七章 函數(shù)7.14 以下 fun 函數(shù)用以判斷n 是否是素數(shù), fun 函數(shù)中有邏輯錯,請調(diào)試改正。fun(int n)int k,yes;
21、for(k=2;k<=n/2;k+)if(n%k=0) return yes=0;return yes=1;正確答案是:fun(int n)int k,yes=1;for(k=2;k<=n/2;k+)if(n%k=0) return yes=0;return yes; main()int n,yes;printf("Enter n (int):n");scanf("%d",&n);yes=fun(n);if(yes=1)printf("%d is a prime",n);else printf("%d i
22、s not a prime",n);7.15 編寫函數(shù)int mymod(int a, int b)用以求a被b除之后的余數(shù)。程序如下#include<stdio.h>int mymod( int a, int b )int remainder;remainder=a%b;return remainder;main()int a,b;printf("Enter a b (int):n");scanf("%d%d",&a,&b);printf(" 余數(shù) =%d",mymod(a,b);7.16 編寫
23、程序求: 1 1/2+1/3 -1/4+1/5 -1/6+1/7 -.1/n程序如下main()int n;float a;float sum(int n);scanf("%d",&n);a=sum(n);printf("%10.5f",a);float sum(int n)float s=0;int i,t=1;for(i=1;i<n;i+)s=s+1/i*t;t=-t;return s;7.17 編寫函數(shù),根據(jù)整型形參 m 的值,計算如下公式的值。t= 1 1/(2 x 2)-1/(3 x 3)-.-1/(m x m)例如:若 m =
24、5,則應(yīng)輸出 0.536389。程序如下main()float t=1;float f2(int);int i,m;scanf("%d",&m);for(i=2;i<=m;i+)t=t-f2(i);printf("t=%f",t);float f2(int m)float s;s=1.0/(m*m);return s;7.18 編寫函數(shù)用以求表達(dá)式x2-5x+4, x作為參數(shù)傳給函數(shù),調(diào)用此函數(shù)求:y1=22-5*2+4y2=(x+15)2-5*(x+15)+4y3=sin2x-5*sinx+4程序如下#include<stdio.h
25、>#include<math.h>float fun(float x)float y;y=pow(x,2) -5*x+4;return y;main()float x,y1,y2,y3;clrscr();printf("Enter x:n");scanf("%f",&x);y1=fun(2);y2=fun(x+15);y3=fun(sin(x);printf("y1=%fny2=%fny3=%fn",y1,y2,y3);第八章 地址和指針8.17 請編寫函數(shù),其功能是對傳送過來的兩個浮點(diǎn)數(shù)求出和值與差值,并通
26、過形參傳送回調(diào)用函數(shù)。程序如下#include<stdio.h>sum_sub(float a,float b,float *sum, float *sub)*sum=a+b;*sub=a-b;main()float a,b,sum,sub; /* 定義變量 sum 求和,變量sub 求差 */printf("Enter a b (float):n");scanf("%f%f",&a,&b);sum_sub(a,b,&sum,&sub);printf("sum=%f,sub=%f",sum,
27、sub);8.18 請編寫函數(shù),對傳送過來的三個數(shù)選出最大和最小數(shù),并通過形參傳回調(diào)用函數(shù)。程序如下#include<stdio.h>max_min(double a,double b,double c,double *max,double *min) *max = a ; /* 假定 a 的值為最大,把a(bǔ) 值賦給指針變量*max */if(*max<b) *max =b;if(*max<c) *max = c;*min = a ; /* 假定 a 的值為最小,把a(bǔ) 值賦給指針變量*min */if(*min>b) *min = b;if(*min>c) *
28、min = c;main()double a,b,c,max,min;printf("Enter a b c (double):n");scanf("%lf%lf%lf",&a,&b,&c);max_min(a,b,c,&max,&min);printf("max=%lf,min=%lf",max,min);第九章 函數(shù)9.27 輸入一行數(shù)字字符,請用數(shù)組元素作為計數(shù)器來統(tǒng)計每個數(shù)字字符的個數(shù).用下標(biāo)為0 元素統(tǒng)計字符"1" 的個數(shù) ,下標(biāo)為 1 的元素統(tǒng)計字符"2
29、" 的個數(shù),.程序如下#include<stdio.h>void count(int a)int i;char ch;while(ch=getchar()!='n')for(i=0;i<10;i+)if(i=ch-'0')if(i=0)a9+; elseai-1+;main( )int i,a10=0;count(a);for(i=0;i<10;i+)printf("a%d=%dn",i,a);9.28 編寫函數(shù),對具有10 個整數(shù)的數(shù)組進(jìn)行如下操作 :從第 n 個元素開始直到最后一個元素 ,依次向前移動一個
30、位置. 輸出移動后的結(jié)果.程序如下fun (int a,int n)int i;for(i=n;i<9;i+) a=ai+1;main()int a10=0,1,2,3,4,5,6,7,8,9,n,i;scanf("%d",&n);fun(a,n);for(i=0;i<9;i+) printf("%d ",a);9.29 編寫函數(shù)把數(shù)組中所有奇數(shù)放在另一個數(shù)組中返回 .程序如下#include<stdio.h>#include<conio.h>int fun(int a,int b)int i,j=0;for(
31、i=0;i<10;i+)if(a%2=1)bj+=a;return(j);main()int i,j,a10,b10;clrscr();printf("n*Enter 10 integer number:*n"); for(i=0;i<10;i+) scanf("%d",&a);j=fun(a,b);printf("*Output the odd arrage*:n");for(i=0;i<j;i+) printf("%d ",b); getchar();9.30 編寫函數(shù)對字符數(shù)組中的輸
32、入字母,按由大到小的字母順序進(jìn)行排序。程序如下#include<stdio.h>void alpha_sort(char a,int n);void alpha_rout(char a,int n);main()char a20;int n;clrscr();printf("*The original alphabetic is*:n");gets(a);n=strlen(a);alpha_sort(a,n); alpha_rout(a,n);void alpha_sort(char a,int n)int i,j,p,t;for(j=0;j<n -1;j
33、+)p=j;for(i=j+1;i<n;i+)if(ap<a) p=i;if(p!=j)t=aj;aj=ap;ap=t;void alpha_rout(char a,int n)int i;printf("n*The alphabetic of sorting is*:n");for(i=0;i<n;i+)printf("%c",ai);9.31 輸入若干有序數(shù)放在數(shù)組中。然后輸入一個數(shù),插入到此有序數(shù)列中,插入后,數(shù)組中的數(shù)仍然有序。請對以下三種情況運(yùn)行你的程序,以便驗證你的程序是否正確。( 1)插在最前( 2 )插在最后( 3 )插
34、在中間程序如下#include<stdio.h>#define M 10void sort(int aM,int bM+1,int n)int i;for(i=0;i<M;i+)if(a0>aM -1)if(n<a)b=a;elseb=n;break; else if(n>a) b=a; else b=n; break; if(i<M) for(;i<M;i+) bi+1=a; else b=n;main() int i,n,aM,bM+1; clrscr();printf("Enter ten integer number(be so
35、rted):n");for(i=0;i<M;i+) scanf("%d",&a); printf("Enter a numbern"); scanf("%d",&n); sort(a,b,n);printf("Result of insertn");for(i=0;i<=M;i+) printf("%d ",b);9.32 編寫函數(shù)把任意十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制數(shù).提示:把十進(jìn)制數(shù)不斷除2 除,余數(shù)放在一個一維數(shù)組中,直到商數(shù)為零.在主函數(shù)中進(jìn)行輸出 ,要求不
36、得按逆序輸出 .程序如下#include<stdio.h>int dec_bin(int a,int decimal) /* 變量 decimal 表示十進(jìn)制數(shù) */ int i=0,remainder; while(decimal>0) remainder=decimal%2;decimal=decimal/2; ai+=remainder;if(decimal<2)a=decimal;break; return(i);main()int i,j,decimal,a64;printf("Enter decimal number:n");scanf(
37、"%d",&decimal);j=dec_bin(a,decimal);for(i=j;i>=0;i -) printf("%d",a);9.33 編寫函數(shù)調(diào)用隨機(jī)函數(shù)產(chǎn)生0 到 19之間的隨機(jī)數(shù),在數(shù)組中存入 15個互不重復(fù)的整數(shù)。要求在主函數(shù)中輸出結(jié)果。若已定義x 為 int 類型,調(diào)用隨機(jī)函數(shù)步驟如下: include "stdio.h". x=rand()%20 /* 產(chǎn)生 0 到 19 的隨機(jī)數(shù) */程序如下#include<stdlib.h>void rand1(int a)int i=0,j,x
38、,flag;while(i<15)flag=1;x=rand()%20;for(j=0;j<i;j+)if(aj=x)i-;flag=0;break;if(flag=1)a=x;i+;main()int i,a15;clrscr();rand1(a);for(i=0;i<15;i+) printf("%d ",a);9.34 求任意方陣每行、每列、兩對角線上元素之和。程序如下#include<stdio.h>#define M 3void line_sum(int aMM,int a1)int i,j,k;for(i=0,k=0;i<M;
39、i+,k+)a1k=0;for(j=0;j<M;j+)a1k+=aj;void column_sum(int aMM,int a2)int i,j,k;for(i=0,k=0;i<M;i+,k+)a2k=0;for(j=0;j<M;j+)a2k+=aj;void diagonal_sum(int aMM,int a3) int i,j;for(i=0;i<M;i+)for(j=0;j<M;j+)if(i=j) a30+=aj;if(i+j=M -1) a31+=aj; main()int i,j,aMM,a1M,a2M,a32=0; clrscr();i=M;pr
40、intf("*Enter %d x %d phalanx*n",i,i);for(i=0;i<M;i+)for(j=0;j<M;j+) scanf("%d",&aj); line_sum(a,a1); column_sum(a,a2); diagonal_sum(a,a3);for(i=0;i<M;i+) printf("line%d=%dn",i,a1); for(i=0;i<M;i+) printf("column%d=%dn",i,a2); for(i=0;i<2;i+)
41、 printf("diagonal%d=%dn",i,a3);9.35 求兩個矩陣的和#include<stdio.h>#define M 4void add(int aMM,int bMM,int cMM) int i,j;for(i=0;i<M;i+) for(j=0;j<M;j+) cj=aj+bj; main()int i,j,k,aMM,bMM,cMM=0; i=M;printf("*Enter NO.1 Matrix( %d x %d)*n",i,i);for(i=0;i<M;i+)for(j=0;j<M;
42、j+) scanf("%d",&aj); i=M;printf("*Enter NO.2 Matrix( %d x %d)*n",i,i);for(i=0;i<M;i+)for(j=0;j<M;j+) scanf("%d",&bj); add(a,b,c);i=M;printf("*Output result Matrix( %d x %d)*n",i,i); for(i=0;i<M;i+) for(j=0;j<M;j+)printf("%5d",cj);
43、printf("n");9.36 編寫函數(shù)打印出以下形式的乘法九九表。* A MULTIPLICATIONTABLE*(1) (2) (3) (4) (5) (6) (7) (8) (9) (1)1 23456789(2)2 46 810 12 14 16 18(3)3 69 12 15 18 21 24 27(4)4 8 12 16 20 24 2832 36(5)5 10 15 2025 303540 45(6)6 12 18 2430 3642 48 54(7)7 1421 2835 4249 56 63(8)8 1624 3250 4856 64 72(9)9 18
44、27 3645 5463 72 81程序如下#include<stdio.h>main()int i,j;clrscr();printf("* A MULTIPLICATIONTABLE*n");printf("(1) (2) (3) (4) (5) (6) (7) (8) (9)n");printf(" n");for(i=1;i<=9;i+)printf("t(%d)",i);for(j=1;j<=9;j+)printf("%4d",i*j);printf("
45、;n");printf(" n");9.37 調(diào)用隨機(jī)函數(shù)為 5 x4 的矩陣置 100 以內(nèi)的整數(shù),輸出該矩陣,求出每行元素之和并把和值最大的那一行與第一行上的元素對調(diào)。若已定義 x為int類型,調(diào)用隨機(jī)函數(shù)步驟如下: include "stdio.h". x=rand( )%100 /*產(chǎn)生 0 到 100 的隨機(jī)數(shù) */程序如下#include<stdio.h>#include<stdlib.h>void rand1(int *p)int i,j;for(i=0;i<5;i+)for(j=0;j<4;j
46、+,p+)*p=rand()%100;void exchange(int a54)int i,j,max,temp,b5=0;for(i=0;i<5;i+)for(j=0;j<4;j+)b+=aj;for(i=0;i<5;i+)if(b<bi+1)max=i+1;for(j=0,i=0;j<4;j+)temp=aj;aj=amaxj;amaxj=temp; main() int i,j,a54; clrscr();rand1(a);printf("*The origient Matrix*n"); for(i=0;i<5;i+) for(
47、j=0;j<4;j+)printf("%5d",aj); printf("n");exchange(a);printf("*The exchange Matrix*n"); for(i=0;i<5;i+) for(j=0;j<4;j+) printf("%5d",aj);printf("n"); 9.38 調(diào)用隨機(jī)函數(shù)為 5 x5 的矩陣置 100 以內(nèi)的整數(shù),輸出該矩陣,然后逆置該矩陣。 即將第一列的元素放在第一行上、第二列的元素放在第二行上、其它依次類推。程序如下#incl
48、ude<stdio.h>#include<stdlib.h>void Rand1(int *p) int i,j;for(i=0;i<5;i+)for(j=0;j<5;j+,p+) *p=rand()%100;void Reverse_Matrix(int a55)int i,j,temp;for(i=0;i<5;i+)for(j=0;j<i;j+) temp=aj;aj=aj;aj=temp;main()int i,j,a55;clrscr();Rand1(a);printf("*The Result of rand() Functi
49、on()*n");for(i=0;i<5;i+)for(j=0;j<5;j+)printf("%5d",aj);printf("n");Reverse_Matrix(a);printf("*The Result of ReverseMatrix Function()*n");for(i=0;i<5;i+)for(j=0;j<5;j+)printf("%5d",aj);printf("n");第十章 字符串10.19 請編寫函數(shù) mygets和myputs ,其功
50、能分別與 gets和puts相同,函數(shù)中用 getchar 和 putchar 讀入和輸出字符。程序如下#include<stdio.h>void mygets(char *p)char ch;while(ch=getchar()!='n')*(p+)=ch;p0=0;void myputs(char *p)char ch;while(*p!='0')putchar(*(p+);main()char *s;clrscr();mygets(s);myputs(s);10.20 請編寫函數(shù),判斷一字符串是否是回文。若是回文函數(shù)返回值為 1;否則返回值 為
51、 0 ?;匚氖琼樧x和倒讀都一樣的字符串。程序如下#include<stdio.h>main()char a200,*p;int i,j,flag=1;clrscr();scanf("%s",a);p=a;j=strlen(a);for(i=0;i<=j/2;i+,j -) if(*(p+i)!=*(p+j -1) flag=0;break;if(flag) printf("Yes");else printf("No");10.21 請編寫函數(shù),刪除字符串中指定位置上的字符。刪除成功函數(shù)返回被刪字符;否 則返回空值。程
52、序如下#include<stdio.h>#include<alloc.h>del(char *p,int n) int i;char ch;if(n<=strlen(p)ch=*(p+n -1);elsech='0'for(i=n -1;i<strlen(p);i+)*(p+i)=*(p+i+1);return ch;main()int n;char *s;clrscr();printf("*The string is *n");gets(s);printf("Enter n(0-%d)n",strle
53、n(s);scanf("%d",&n);printf("*The deleted char is*n");printf("%c",del(s,n);getch();第十一章對函數(shù)的進(jìn)一步討論11.11 編寫程序 outch ,程序讀入一行字符,根據(jù)命令行中的參數(shù)進(jìn)行不同的輸出。若有以下命令行:outch -2程序?qū)ψx入的一行字符輸出最后兩個字符。若有以下命令行:outch +6程序?qū)λx入的一行字符輸出開頭6 個字符。若命令行中沒有參數(shù),則隱含規(guī)定輸出最后 10 個字符。為簡單起見,命令行中的參數(shù)中只包含一位數(shù)字。程序如下#i
54、nclude<stdio.h>#include<string.h>main(int argc,char *argv)int i;char s64;printf("Enter a string:n");gets(s);while(argc>0)if(argc=1)for(i=strlen(s) -10;i<strlen(s);i+) printf("%c",s);break;if(argv10=' -')for(i=strlen(s) -(argv11 -'0');i<strlen(
55、s);i+) printf("%c",s);break;if(argv10='+')for(i=0;i<(argv11 -'0');i+)printf("%c",s);break;11.12 請寫遞歸函數(shù),把輸入的一個整數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)輸出。程序如下#include<stdio.h>dec_bin(int n,int a)static int i=0;if(n=0|n=1)a=n;return i;elseai+=n%2;return dec_bin(n/2,a);main()int i,j,n,a64;
56、printf("Enter n (integer)n");scanf("%d",&n);j=dec_bin(n,a);for(i=j;i>=0;i -)printf("%d",a);11.13 請用遞歸算法,求1+2+3+.n,n 由鍵盤輸入。程序如下fun(int n) int sum; if(n=1) return 1; else sum=n+fun(n -1);return sum;main() int n,sum;clrscr();printf("Enter n(1+2+3+.+n):n");
57、scanf("%d",&n);sum=fun(n);printf("sum=%d",sum);11.14 請用遞歸函數(shù),求裴波拉契級數(shù),求n 階裴波拉契級數(shù)的公式如下。程序如下#include<stdio.h> fac(int n) long t;if(n=0|n=1)return 1;else t=fac(n-1)+fac(n-2); return t;main()int n;printf("Enter n :n");scanf("%d",&n);printf("%ld&qu
58、ot;,fac(n);第十三章 編譯預(yù)處理和動態(tài)存儲分配13.10 編寫出一個宏定義 MYALPHA(C)用以判斷C是否是字母字符,若是得 1,否則得0。程序如下#include<stdio.h>#include<ctype.h>#define MYALPHA(C)isalpha(C)?1:0main()char ch;clrscr();ch=getchar();if(MYALPHA(ch)printf("%c is a alpha",ch);elseprintf("%c is not a alpha",ch);13.11 請寫出一個宏定義 swap(t,x,y)用以交換t類型的兩個參數(shù)。提示:用復(fù)合語句的形式。程序如下#include<stdio.h>#define swap(t,x,y) t=x;x=y;y=t;main()int a,b,t;clrscr();printf("Enter a and b:n");scanf("%d%d",&a,&b);swap(t,a,b);printf("a=%dnb=%d",a,b);13.12 請編寫程序,利用 malloc
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寫流轉(zhuǎn)合同范例
- 古董委托拍賣合同范本
- 內(nèi)墻涂墻合同范例
- 出售資質(zhì)合同范本
- 合同范例算合同
- 加盟超市協(xié)議合同范例
- 代買平房合同范例
- 上市公司并購合同范例
- 公司借款個人合同范例
- 出口返修合同范本
- 各元素特征X射線能量表
- 課堂觀察記錄與分析(高中數(shù)學(xué)-周渚華)
- 第九章單細(xì)胞蛋白質(zhì)飼料
- 肖申克的救贖的英語ppt
- 安裝超載限制器方案
- 《石灰吟》教學(xué)設(shè)計(課堂實(shí)錄)
- 架子工實(shí)操比賽方案(共19頁)
- X62W銑床主軸機(jī)械加工工藝規(guī)程及鉆床夾具設(shè)計
- (完整版)粉筆數(shù)量關(guān)系聽課筆記(整理版)
- 人教版七年級數(shù)學(xué)下冊:7.1.2平面直角坐標(biāo)系ppt課件
- 工程建設(shè)項目招投標(biāo)投訴書(僅供參考)
評論
0/150
提交評論