《C語(yǔ)言程序設(shè)計(jì)》課后習(xí)題答案第四版譚浩強(qiáng)_第1頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》課后習(xí)題答案第四版譚浩強(qiáng)_第2頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》課后習(xí)題答案第四版譚浩強(qiáng)_第3頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》課后習(xí)題答案第四版譚浩強(qiáng)_第4頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》課后習(xí)題答案第四版譚浩強(qiáng)_第5頁(yè)
已閱讀5頁(yè),還剩107頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

{printf("**************************\n\n");printf("VeryGood!\n\n");printf("**************************\n");}}——2.2簡(jiǎn)單的算法舉例172.3算法的特性212.4怎樣表示一個(gè)算法222.4.1用自然語(yǔ)言表示算法222.4.2用流程圖表示算法222.4.3三種基本結(jié)構(gòu)和改進(jìn)的流程圖262.4.4用流程圖表示算法282.4.5用偽代碼表示算法312.4.6用計(jì)算機(jī)語(yǔ)言表示算法322.5結(jié)構(gòu)化程序設(shè)計(jì)方法34第章最簡(jiǎn)單的C程序設(shè)計(jì)——順序程序設(shè)計(jì)373.1順序程序設(shè)計(jì)舉例373.2數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算393.2.1常量和變量393.2.2數(shù)據(jù)類型423.2.3整型數(shù)據(jù)443.2.4字符型數(shù)據(jù)473.2.5浮點(diǎn)型數(shù)據(jù)493.2.6怎樣確定常量的類型513.2.7運(yùn)算符和表達(dá)式523.3.1C語(yǔ)句的作用和分類573.3.2最基本的語(yǔ)句——賦值語(yǔ)句593.4數(shù)據(jù)的輸入輸出653.4.1輸入輸出舉例653.4.2有關(guān)數(shù)據(jù)輸入輸出的概念673.4.4用scanf函數(shù)輸入數(shù)據(jù)753.4.5字符數(shù)據(jù)的輸入輸出78printf("p=%f\n",p);}p2=p*(1+2*r2)*(1+3*r3);//先存2年期,到期后將本息再存3年期p3=p*(1+3*r3)*(1+2*r2);//先存3年期,到期后將本息再存2年期//存活期存款。活期利息每一季度結(jié)算一次//輸出按第1方案得到的本息和//輸出按第2方案得到的本息和//輸出按第3方案得到的本息和//輸出按第4方案得到的本息和//輸出按第5方案得到的本息和}p2=p*(1+2*r2)*(1+3*r3);//先存2年期,到期后將本息再存3年期p3=p*(1+3*r3)*(1+2*r2);//先存3年期,到期后將本息再存2年期//存活期存款?;钇诶⒚恳患径冉Y(jié)算一次//輸出按第1方案得到的本息和//輸出按第2方案得到的本息和//輸出按第3方案得到的本息和//輸出按第4方案得到的本息和//輸出按第5方案得到的本息和}p2=p*(1+2*r2)*(1+3*r3);//先存2年期,到期后將本息再存3年期p3=p*(1+3*r3)*(1+2*r2);//先存3年期,到期后將本息再存2年期//存活期存款?;钇诶⒚恳患径冉Y(jié)算一次//輸出按第1方案得到的本息和//輸出按第2方案得到的本息和//輸出按第3方案得到的本息和//輸出按第4方案得到的本息和}//輸出按第5方案得到的本息和}}}}scanf("%f,%f",&r,&h);//要求輸入圓半徑r和圓柱高h(yuǎn)l=2*pi*r;//計(jì)算圓周長(zhǎng)ls=r*r*pi;//計(jì)算圓面積ssq=4*pi*r*r;//計(jì)算圓球表面積sqvq=3.0/4.0*pi*r*r*r;//計(jì)算圓球體積vqvz=pi*r*r*h;//計(jì)算圓柱體積vzprintf("圓周長(zhǎng)為:l=%6.2f\n",l);printf("圓球體積為:v=%6.2f\n",vq);printf("圓柱體積為:vz=%6.2f\n",vz);}{printf("請(qǐng)輸入兩個(gè)整數(shù)c1,c2:");printf("按字符輸出結(jié)果:\n");printf("按ASCII碼輸出結(jié)果為:\n");}{charc1,c2;//定義字符型變量inti1,i2;//定義整型變量printf("請(qǐng)輸入兩個(gè)字符c1,c2:");i1=c1;//賦值給整型變量printf("按字符輸出結(jié)果:\n");printf("按整數(shù)輸出結(jié)果:\n");}{inti1,i2;printf("請(qǐng)輸入兩個(gè)整數(shù)i1,i2:");printf("按字符輸出結(jié)果:\n");printf("按整數(shù)輸出結(jié)果:\n");}//定義為字符型//定義為整型//將整數(shù)賦值給字符變量{printf("請(qǐng)輸入兩個(gè)字符c1,c2:");printf("用putchar語(yǔ)句輸出結(jié)果為:");printf("\n");printf("用printf語(yǔ)句輸出結(jié)果為:");}第4章選擇結(jié)構(gòu)程序設(shè)計(jì)854.1選擇結(jié)構(gòu)和條件判斷854.2用if語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)874.2.1用if語(yǔ)句處理選擇結(jié)構(gòu)舉例874.2.2if語(yǔ)句的一般形式894.3關(guān)系運(yùn)算符和關(guān)系表達(dá)式914.3.1關(guān)系運(yùn)算符及其優(yōu)先次序914.3.2關(guān)系表達(dá)式924.4邏輯運(yùn)算符和邏輯表達(dá)式924.4.1邏輯運(yùn)算符及其優(yōu)先次序934.4.2邏輯表達(dá)式944.4.3邏輯型變量964.5條件運(yùn)算符和條件表達(dá)式974.6選擇結(jié)構(gòu)的嵌套994.7用switch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)1024.8選擇結(jié)構(gòu)程序綜合舉例105{printf("請(qǐng)輸入三個(gè)整數(shù):");if(b<c)}printf("請(qǐng)輸入三個(gè)整數(shù):");printf("三個(gè)整數(shù)的最大數(shù)是%d\n",max);}{inti,k;printf("請(qǐng)輸入一個(gè)小于%d的整數(shù)i:",M);while(i>M){printf("輸入的數(shù)不符合要求,請(qǐng)重新輸入一個(gè)小于%d的整數(shù)i:",M);}printf("%d的平方根的整數(shù)部分是:%d\n",i,k);}{inti,k;printf("請(qǐng)輸入一個(gè)小于%d的整數(shù)i:",M);if(i>M){printf("輸入的數(shù)不符合要求,請(qǐng)重新輸入一個(gè)小于%d的整數(shù)i:",M);}printf("%d的平方根的整數(shù)部分是:%d\n",i,k);}{intx,y;printf("輸入x:");if(x<1)/*x<1*/{y=x;}{y=2*x-1;printf("x=%d,y=2*x-1=%}{y=3*x-11;}}{if(x!=0)if(x>0)}{if(x>=0)if(x>0)y=1;}printf("請(qǐng)輸入學(xué)生成績(jī):");{printf("\n輸入有誤,請(qǐng)重輸");}}}{位,萬(wàn)位和位數(shù)printf("請(qǐng)輸入一個(gè)整數(shù)(0-99999):");//分別代表個(gè)位,十位,百位,千printf("每位數(shù)字為:");printf("\n反序數(shù)字為:");printf("\n反序數(shù)字為:");printf("\n反序數(shù)字為:");printf("\n反序數(shù)字為:");printf("\n反序數(shù)字為:");printf("%d\n",indiv);} }{inti;printf("請(qǐng)輸入利潤(rùn)i:");}{inti;printf("請(qǐng)輸入利潤(rùn)i:");}}printf("請(qǐng)輸入四個(gè)數(shù):");if(b>c){t=b;b=c;c=t;}if(b>d){t=b;b=d;d=t;}if(c>d){t=c;c=d;d=t;}printf("排序結(jié)果如下:\n");}{printf("請(qǐng)輸入一個(gè)點(diǎn)(x,y):");scanf("%f,%f",&x,&y);d1=(x-x4)*(x-x4)+(y-y4)*(y-y4);/*求該點(diǎn)到各中心點(diǎn)距離*/d2=(x-x1)*(x-x1)+(y-y1)*(y-y1);d3=(x-x2)*(x-x2)+(y-y2)*(y-y2);d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);if(d1>1&&d2>1&&d3>1&&d4>1)h=0;/*判斷該點(diǎn)是否在塔外*/printf("該點(diǎn)高度為%d\n",h);}第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)1145.1為什么需要循環(huán)控制1145.2用while語(yǔ)句實(shí)現(xiàn)循環(huán)1155.6幾種循環(huán)的比較1255.7改變循環(huán)執(zhí)行的狀態(tài)1255.7.1用break語(yǔ)句提前終止循環(huán)1265.7.2用continue語(yǔ)句提前結(jié)束本次循環(huán)1275.7.3break語(yǔ)句和continue語(yǔ)句的區(qū)別128{{pi=pi+term;sign=-sign;//sign代表符號(hào),下一項(xiàng)的符號(hào)與上一項(xiàng)符號(hào)相反}pi=pi*4;//多項(xiàng)式的和pi乘以4,才是π的近似值printf("pi=%10.8f\n",pi);//輸出π的近似值}{printf("請(qǐng)輸入兩個(gè)正整數(shù)n,m:");if(n<m){}{}printf("它們的最大公約數(shù)為:%d\n",n);printf("它們的最小公約數(shù)為:%d\n",p/n);}{printf("請(qǐng)輸入一行字符:\n");{if(c>='a'&&c<='z'||c>='A'&&c<='Z')digit++;}}{printf("a,n=:");{tn=tn+a;/*賦值后的tn為i個(gè)a組成數(shù)的值*/++i;}}{t=t*n;}}{for(k=1;k<=n2;k++)/*計(jì)算1到50各數(shù)的平方和*/{s2=s2+k*k;}}{inti,j,k,n;{j=n/10-i*10;if(n==i*i*i+j*j*j+k*k*k)}printf("\n");}{for(i=1;i<a;i++)/*a是2-1000之間的整數(shù),檢查它是否完數(shù)*//*n用來(lái)累計(jì)a的因子的個(gè)數(shù)*//*s用來(lái)存放尚未求出的因子之和,開(kāi)始時(shí)等于a*//*檢查i是否a的因子*//*如果i是a的因子*/{n++;/*n加1,表示新找到一個(gè)因子*/s=s-i;/*s減去已找到的因子,s的新值是尚未求出的因子之和*/k1=i;break;/*找出的笫1個(gè)因子賦給k1*/k2=i;break;/*找出的笫2個(gè)因子賦給k2*/k3=i;break;/*找出的笫3個(gè)因子賦給k3*/k4=i;break;/*找出的笫4個(gè)因子賦給k4*/k5=i;break;/*找出的笫5個(gè)因子賦給k5*/k6=i;break;/*找出的笫6個(gè)因子賦給k6*/k7=i;break;/*找出的笫7個(gè)因子賦給k7*/k8=i;break;/*找出的笫8個(gè)因子賦給k8*/k9=i;break;/*找出的笫9個(gè)因子賦給k9*/}}{if(n>1)printf("%d,%d",k1,k2);if(n>2)printf(",%d",k3);/*n>2表示至少有3個(gè)因子,故應(yīng)再輸出一個(gè)if(n>3)printf(",%d",k4);/*n>3表示至少有4個(gè)因子,故應(yīng)再輸出一個(gè)if(n>4)printf(",%d",k5);/*以下類似*/if(n>5)printf(",%d",k6);if(n>6)printf(",%d",k7);if(n>7)printf(",%d",k8);if(n>8)printf(",%d",k9);if(n>9)printf(",%d",kprintf("\n");}}}for(i=1;i<m;i++)for(i=1;i<m;i++)if(m%i==0)printf("%d",i);printf("\n");}}}{for(i=1;i<=n;i++){}}{{sn=sn+2*hn;/*第n次落地時(shí)共經(jīng)過(guò)的米數(shù)*/hn=hn/2;/*第n次反跳高度*/}}{{x1=(x2+1)*2;/*第1天的桃子數(shù)是第2天桃子數(shù)加1后的2倍.*/}}#include<math.h>{}#include<math.h>f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x1=x0-f/f1;}#include<math.h>{printf("enterx1&x2:");scanf("%f,%f",&x1,&x2);fx1=x1*((2*x1-4)*x1+3)-6;fx2=x2*((2*x2-4)*x2+3)-6;}while(fx1*fx2>0);fx0=x0*((2*x0-4)*x0+3)-6;if((fx0*fx1)<0)fx2=fx0;}fx1=fx0;}printf("x=%6.2f\n",x0);}{inti,j,k;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf("");for(k=0;k<=2*i;k++)printf("*");printf("\n");}for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf("");for(k=0;k<=4-2*i;k++)printf("*");printf("\n");}}{for(i='x';i<='z';i++)for(j='x';j<='z';j++)if(i!=j)if(i!=k&&j!=k)if(i!='x'&&k!='x'&&k!='z')printf("A--%c\nB--%c\nC--%c\n}第6章利用數(shù)組處理批量數(shù)據(jù)1426.1怎樣定義和引用一維數(shù)組1426.1.1怎樣定義一維數(shù)組1436.1.2怎樣引用一維數(shù)組元素1446.1.3一維數(shù)組的初始化1456.1.4一維數(shù)組程序舉例1466.2怎樣定義和引用二維數(shù)組1486.2.1怎樣定義二維數(shù)組1496.2.2怎樣引用二維數(shù)組的元素1506.2.3二維數(shù)組的初始化1516.2.4二維數(shù)組程序舉例1526.3.1怎樣定義字符數(shù)組1546.3.2字符數(shù)組的初始化1556.3.3怎樣引用字符數(shù)組中的元素1556.3.4字符串和字符串結(jié)束標(biāo)志1566.3.5字符數(shù)組的輸入輸出1596.3.6使用字符串處理函數(shù)1616.3.7字符數(shù)組應(yīng)用舉例165a[i]=i;for(j=i+1;j<=100;j++){if(a[i]!=0&&a[j]!=0)if(a[j]%a[i]==0)a[j]=0;}printf("\n");{if(a[i]!=0){printf("%5d",a[i]);}{printf("\n");}}printf("\n");}for(i=1;i<=10;i++){printf("a[%d]=",i);scanf("%d",&a[i]);}printf("\n");for(i=1;i<=10;i++)printf("%5d",a[i]);printf("\n");for(i=1;i<=9;i++){min=i;for(j=i+1;j<=10;j++)if(a[min]>a[j])min=j;a[i]=a[min];}for(i=1;i<=10;i++)printf("%5d",a[i]);printf("\n");}{inti,j;for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%3d",&a[i][j]);for(i=0;i<3;i++)}for(i=0;i<10;i++)printf("%5d",a[i]);printf("\n");{for(i=0;i<10;i++)for(j=i+1;j<11;j++)}}}}for(i=0;i<11;i++)printf("%5d",a[i]);printf("\n");}for(i=0;i<N;i++)for(i=0;i<N;i++)printf("%4d",a[i]);for(i=0;i<N/2;i++)//循環(huán)的作用是將對(duì)稱的元素的值互換a[i]=a[N-i-1];}for(i=0;i<N;i++)printf("%4d",a[i]);printf("\n");}{inti,j,a[N][N];for(i=0;i<N;i++){a[i][i]=1;a[i][0]=1;}for(i=2;i<N;i++)for(j=1;j<=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=0;i<N;i++){for(j=0;j<=i;j++)printf("%6d",a[i][j]);printf("\n");}printf("\n");}if((n!=0)&&(n<=15)&&(n%2!=0))}for(i=1;i<=n;i++)for(j=1;j<=n;j++)a[i][j]=0;a[1][j]=1;{i=i-1;j=j+1;if((i<1)&&(j>n)){i=i+2;j=j-1;}{if(i<1)i=n;if(j>n)j=1;}if(a[i][j]==0)a[i][j]=k;{i=i+2;j=j-1;a[i][j]=k;}}for(i=1;i<=n;i++){for(j=1;j<=n;j++)printf("%5d",a[i][j]);printf("\n");}}{inti,j,k,a[N][M],max,maxj,flag;for(i=0;i<N;i++)for(j=0;j<M;j++)scanf("%d",&a[i][j]);for(i=0;i<N;i++){max=a[i][0];for(j=0;j<M;j++)if(a[i][j]>max){max=a[i][j];}if(max>a[k][maxj])if(flag)/*輸入數(shù)組*//*開(kāi)始時(shí)假設(shè)a[i][0]最大*//*將列號(hào)0賦給maxj保存*//*找出第i行中的最大數(shù)*//*將本行的最大數(shù)存放在max中*//*將最大數(shù)所在的列號(hào)存放在maxj中*//*先假設(shè)是鞍點(diǎn),以flag為1代表*//*將最大數(shù)和其同列元素相比*//*如果max不是同列最小,表示不是鞍點(diǎn)令flag1為0*//*如果flag1為1表示是鞍點(diǎn)*/{printf("a[%d][%d]=%d\n",i,maxj,max);/*輸出鞍點(diǎn)的值和所在行列號(hào)*/}}if(!flag)/*如果flag為0表示鞍點(diǎn)不存在*/}while(i<N){scanf("%d",&a[i]);if(a[i]>=a[i-1])i++;}printf("\n");for(i=0;i<N;i++)printf("%5d",a[i]);printf("\n");bott=N-1;//bott是查找區(qū)間的最末位置}}}}for(i=0;i<3;i++)for(j=0;j<80&&text[i][j]!='\0';j++){if(text[i][j]>='A'&&text[i][j]<='Z')elseif(text[i][j]>='a'&&text[i][j]<='z')low++;elseif(text[i][j]>='0'&&text[i][j]<='9')elseif(text[i][j]=='')}}printf("digit:%d\n",dig);}{chara[5]={'*','*','*','*','*'};inti,j,k;for(i=0;i<5;i++){printf("\n");printf("");for(j=1;j<=i;j++)printf("%c",a[k]);}printf("\n");}{intj,n;j=0;while(ch[j]!='\0'){if((ch[j]>='A')&&(ch[j]<='Z'))tran[j]=155-ch[j];elseif((ch[j]>='a')&&(ch[j]<='z'))tran[j]=219-ch[j];tran[j]=ch[j];j++;}printf("\noriginaltext:");for(j=0;j<n;j++)printf("\n");}{intj,n;j=0;while(ch[j]!='\0'){if((ch[j]>='A')&&(ch[j]<='Z'))ch[j]=155-ch[j];elseif((ch[j]>='a')&&(ch[j]<='z'))ch[j]=219-ch[j];ch[j]=ch[j];j++;}printf("originaltext:");for(j=0;j<n;j++)printf("\n");}while(s1[i]!='\0')i++;while(s2[j]!='\0')}while((s1[i]==s2[i])&&(s1[i]!='\0'))i++;if(s1[i]=='\0'&&s2[i]=='\0')}inti;s1[i]=s2[i];}第7章用函數(shù)實(shí)現(xiàn)模塊化程序設(shè)計(jì)1707.1為什么要用函數(shù)1707.2.1為什么要定義函數(shù)1727.2.2定義函數(shù)的方法1737.3.2函數(shù)調(diào)用時(shí)的數(shù)據(jù)傳遞1757.4對(duì)被調(diào)用函數(shù)的聲明和函數(shù)原型1797.7數(shù)組作為函數(shù)參數(shù)1927.7.1數(shù)組元素作函數(shù)實(shí)參1937.7.2數(shù)組名作函數(shù)參數(shù)1947.7.3多維數(shù)組名作函數(shù)參數(shù)1977.8局部變量和全局變量1997.8.2全局變量2007.9變量的存儲(chǔ)方式和生存期2047.9.1動(dòng)態(tài)存儲(chǔ)方式與靜態(tài)存儲(chǔ)方式2047.9.2局部變量的存儲(chǔ)類別2057.9.3全局變量的存儲(chǔ)類別2087.9.4存儲(chǔ)類別小結(jié)2127.10關(guān)于變量的聲明和定義2147.11內(nèi)部函數(shù)和外部函數(shù)2157.11.2外部函數(shù)215{inthcf(int,int);intlcd(int,int,intprintf("L.C.D=%d\n",l);}{intt,r;if(v>u){t=u;u=v;v=t;}{u=v;v=r;} }{}{voidhcf(int,int);printf("L.C.D=%d\n",Lcd);}{intt,r;if(v>u){t=u;u=v;v=t;}{u=v;}Hcf=v;}{Lcd=u*v/Hcf;}scanf("%f,%f,%f",&a,&b,&c);printf("root:\n");{printf("x1=%f\t\tx2=%f\n",x1,x2);}printf("x1=%f\t\tx2=%f\n",x1,x2);}printf("x1=%f+%fi\tx2=%f-%fi\n",p,q,p,q);}}}{}{}}{intflag=1,i;for(i=2;i<n/2&&flag==1;i++)if(n%i==0) }intarray[N][N];inti,j;for(i=0;i<N;i++)for(j=0;j<N;j++)scanf("%d",&array[i][j]);for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%5d",array[i][j]);printf("\n");}for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%5d",array[i][j]);printf("\n");}}{inti,j,t;for(i=0;i<N;i++)for(j=i+1;j<N;j++){t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}}}inti,j;{t=str[i];str[i]=str[j-1];str[j-1]=t;}}}{inti,j;for(i=0;string1[i]!='\0';i++)string[i]=string1[i];for(j=0;string2[j]!='\0';j++)string[i+j]=string2[j];string[i+j]='\0';}printf("inputstring}{inti,j;for(i=0,j=0;s[i]!='\0';i++){c[j]=s[i];j++;}c[j]='\0';}printf("inputfourdigits:"}{inti;{str[2*i]=str[i];str[2*i-1]='';}}printf("string:");}{inti;for(i=0;str[i]!='\0';i++)if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))elseif(str[i]>='0'&&str[i]<='9')digit++;}inti;printf("%c",line[i]);printf("\n");}{if((c>='a'&&c<='z')||(c>='A'&&c<='z'))}if(flag){point=i;}}}}inti,flag;{printf("inputstring:\n");}for(i=0;i<N;i++)printf("%c",str[i]);printf("\n");}{inti,j;for(j=1;j<N;j++)for(i=0;(i<N-j)&&(str[i]!='\0');i++)if(str[i]>str[i+1]){t=str[i];str[i]=str[i+1];}}scanf("%f,%f,%f,%f",&a,&b,&c,&d);}{x0=x;f=((a*x0+b)*x0+c)*x0+d;f1=(3*a*x0+2*b)*x0+c;x=x0-f/f1;}}{inti,j;for(i=0;i<N;i++)for(j=0;j<M;j++)printf("%8.2f",score[i][j]);}for(j=0;j<M;j++)printf("%8.2f",a_couprintf("\n");}{inti,j;for(i=0;i<N;i++)for(j=0;j<M;j++)scanf("%f",&score[i][j]);}}{inti,j;for(i=0;i<N;i++){for(j=0,s=0;j<M;j++)a_stu[i]=s/5.0;}}{inti,j;for(j=0;j<M;j++)for(i=0;i<N;i++)}}inti,j;for(i=0;i<N;i++)for(j=0;j<M;j++)if(score[i][j]>high){high=score[i][j];r=i+1;}}{inti;for(i=0;i<N;i++)}}{inti,j;for(i=0;i<N;i++)for(j=0;j<M;j++)printf("%8.2f",score[i][j]);}for(j=0;j<M;j++)printf("%8.2f",a_couprintf("\n");}{inti,j;for(i=0;i<N;i++)for(j=0;j<M;j++)scanf("%f",&score[i][j]);}}{inti,j;for(i=0;i<N;i++){for(j=0,s=0;j<M;j++)a_stu[i]=s/5.0;}}{inti,j;for(j=0;j<M;j++)for(i=0;i<N;i++)}}inti,j;for(i=0;i<N;i++)for(j=0;j<M;j++)if(score[i][j]>high){high=score[i][j];r=i+1;}}{inti;for(i=0;i<N;i++)}}}}{inti;for(i=0;i<N;i++){printf("inputNO.:");}}for(i=0;i<N-1;i++){min=i;for(j=i;j<N;j++)if(num[min]>num[j])min=j;num[i]=num[min];}for(i=0;i<N;i++)}if(n==num[mid])}}}chart[MAX];while((c=getchar())!='\0'&&i<MAX&&flag1){if(c>='0'&&c<='9'||c>='a'&&c<='f'||c>='A'&&c<='F')t[i++]=c;}{t[i]='\0';}}}}{inti,n;for(i=0;s[i]!='\0';i++){if(s[i]>='0'&&s[i]<='9')if(s[i]>='a'&&s[i]<='f')if(s[i]>='A'&&s[i]<='F')}}printf("output:");{putchar('-');putchar('');/*先輸出一個(gè)‘-’號(hào)和空}printf("\n");}{inti;if((i=n/10)!=0)}//*調(diào)用函數(shù)leap*/}inti;day+=day_tab[i];/*累加所在月之前天數(shù)*/}/*函數(shù)leap:判斷是否為閏年*/}第8章善于利用指針2208.1指針是什么2208.2指針變量2228.2.1使用指針變量的例子2228.2.2怎樣定義指針變量2238.2.3怎樣引用指針變量2248.2.4指針變量作為函數(shù)參數(shù)2268.3通過(guò)指針引用數(shù)組2308.3.1數(shù)組元素的指針2308.3.2在引用數(shù)組元素時(shí)指針的運(yùn)算2318.3.3通過(guò)指針引用數(shù)組元素2338.3.4用數(shù)組名作函數(shù)參數(shù)2378.3.5通過(guò)指針引用多維數(shù)組2458.4通過(guò)指針引用字符串2558.4.1字符串的引用方式2558.4.2字符指針作函數(shù)參數(shù)2598.4.3使用字符指針變量和字符數(shù)組的比較2638.5指向函數(shù)的指針2668.5.1什么是函數(shù)指針2668.5.2用函數(shù)指針變量調(diào)用函數(shù)2668.5.3怎樣定義和使用指向函數(shù)的指針變量2688.5.4用指向函數(shù)的指針作函數(shù)參數(shù)2708.6返回指針值的函數(shù)2748.7指針數(shù)組和多重指針2778.7.1什么是指針數(shù)組2778.7.2指向指針數(shù)據(jù)的指針2808.7.3指針數(shù)組作main函數(shù)的形參2828.8動(dòng)態(tài)內(nèi)存分配與指向它的指針變量2858.8.1什么是內(nèi)存的動(dòng)態(tài)分配2858.8.2怎樣建立內(nèi)存的動(dòng)態(tài)分配2858.8.3void指針類型2878.9有關(guān)指針的小結(jié)288int*p1,*p2,*p3;}{intp;}}}{voidinput(int*);}{inti;for(i=0;i<10;i++)}}{int*p;printf("%d",*p);printf("\n");}for(i=0;i<n;i++)for(i=0;i<n;i++)printf("\n");}*p=*(p-1);}for(i=0;i<n;i++)*(p+i)=i+1;{if(*(p+i)!=0)k++;if(k==3){*(p+i)=0;}i++;if(i==n)i=0;}}}{intn;while(*p!='\0'){n++;}}printf("inputstringprintf("inputerror!");}}{intn;{n++;}{*p2=*p1;}}p=&s[0];while(*p!='\n'){if(('A'<=*p)&&(*p<='Z'))elseif(('a'<=*p)&&(*p<='z'))elseif((*p<='9')&&(*p>='0'))++digit;}}inta[3][3],*p,i;printf("inputmatrix:\n");for(i=0;i<3;i++)scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);p=&a[0][0];printf("Now,matrix:\n");for(i=0;i<3;i++)printf("%d%d%d\n",a[i][0],a[i][1],a[i][2]);}{inti,j,t;for(i=0;i<3;i++)for(j=i;j<3;j++){t=*(pointer+3*i+j);*(pointer+3*i+j)=*(pointer+3*j+i);*(pointer+3*j+i)=t;}}inta[5][5],*p,i,j;printf("inputmatrix:\n");for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);p=&a[0][0];printf("Now,matrix:\n");for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%d",a[i][j]);printf("\n");}}for(i=0;i<5;i++)for(j=i;j<5;j++){if(*pmax<*(p+5*i+j))pmax=p+5*i+j;if(*pmin>*(p+5*i+j))pmin=p+5*i+j;}*p=*pmin;for(i=0;i<5;i++)for(j=0;j<5;j++)if(((p+5*i+j)!=p)&&(*pmin>*(p+5*i+j)))pmin=p+5*i+j;*pmin=*(p+4);for(i=0;i<5;i++)for(j=0;j<5;j++)if(((p+5*i+j)!=(p+4))&&((p+5*i+j)!=p)&&(*pmin>*(p+5*i+j)))pmin=p+5*i+j;for(i=0;i<5;i++)for(j=0;j<5;j++)&&if(((p+5*i+j)!=p)&&((p+5*i+j)!=(p+4))&&((p+5*i+j)!=(p+20))(*pmin>*(p+5*i+j)))&&pmin=p+5*i+j;}inta[5][5],*p,i,j;printf("inputmatrix:\n");for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);p=&a[0][0];printf("Now,matrix:\n");for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%d",a[i][j]);printf("\n");}}for(i=0;i<5;i++)//找最大值和最小值的地址,并賦給pmax,pminfor(j=i;j<5;j++){if(*pmax<*(p+5*i+j))pmax=p+5*i+j;if(*pmin>*(p+5*i+j))pmin=p+5*i+j;}temp=*(p+12);//將最大值與中心元素互換temp=*p;//將最小值與左上角元素互換*p=*pmin;//將a[0][1]的地址賦給pmin,從該位置開(kāi)始找最小的元素for(i=0;i<5;i++)//找第二最小值的地址賦給pminfor(j=0;j<5;j++){if(i==0&&j==0)continue;if(*pmin>*(p+5*i+j))pmin=p+5*i+j;}temp=*pmin;//將第二最小值與右上角元素互換*pmin=*(p+4);for(i=0;i<5;i++)//找第三最小值的地址賦給pminfor(j=0;j<5;j++){if((i==0&&j==0)||(i==0&&j==4))continue;if(*pmin>*(p+5*i+j))pmin=p+5*i+j;}temp=*pmin;//將第三最小值與左下角元素互換for(i=0;i<5;i++)//找第四最小值的地址賦給pminfor(j=0;j<5;j++){if((i==0&&j==0)||(i==0&&j==4)||(i==4&&j==0))continue;if(*pmin>*(p+5*i+j))pmin=p+5*i+j;}temp=*pmin;//將第四最小值與右下角元素互換}inti;for(i=0;i<10;i++)for(i=0;i<10;i++)printf("%s\n",str[i]);}{inti,j;for(i=0;i<9;i++)for(j=0;j<9-i;j++)}}inti;for(i=0;i<10;i++)for(i=0;i<10;i++)printf("%s\n",str[i]);}{inti,j;for(i=0;i<9;i++)for(j=0;j<9-i;j++)}}inti;for(i=0;i<10;i++)p[i]=str[i];for(i=0;i<10;i++)for(i=0;i<10;i++)printf("%s\n",p[i]);}{inti,j;for(i=0;i<9;i++)for(j=0;j<9-i;j++)*(s+j)=*(s+j+1);}}}{inti;for(i=1;i<=n;i++){x=x+h;}} printf("inputn:");for(i=0;i<n;i++)p=&num[0];for(i=0;i<n;i++)printf("%d",num[i]);printf("\n");}{inti;for(i=0;i<m/2;i++)}}for(i=0;i<5;i++)printf("NO.");for(i=0;i<5;i++)printf("\n");for(i=0;i<4;i++)for(j=0;j<5;j++)}printf("\n\n");printf("\n\n");printf("\n\n");}//求出每個(gè)學(xué)生的平均成績(jī)//求出第一門(mén)課的平均成績(jī)//找出成績(jī)好的學(xué)生{inti,j;for(i=0;i<4;i++)for(j=0;j<5;j++)}//累計(jì)每個(gè)學(xué)生的各科成績(jī)//計(jì)算平均成績(jī)}{inti;for(i=0;i<4;i++)}//找兩門(mén)以上課程不及格的學(xué)生的函數(shù)printf("NO.");for(i=0;i<5;i++)for(i=0;i<4;i++)for(j=0;j<5;j++){printf("%d",num[i]);printf("%11.2f",*(pscoprintf("%11.2f\n",aver[}}}//找成績(jī)優(yōu)秀學(xué)生(各門(mén)85以上或平均90分以上)的函數(shù){inti,j,k,n;printf("NO.");for(i=0;i<5;i++)for(i=0;i<4;i++)for(j=0;j<5;j++){printf("%d",num[i]);printf("%11.2f",*(pscorprintf("%11.2f\n",aver[}}}{pstr=&str[0];/*字符指針pstr置于數(shù)組str首地址*/pa=&a[0];/*指針pa置于a數(shù)組首地址*/ndigit=0;/*ndigit代表有多少個(gè)整數(shù)*/i=0;/*代表字符串中的第幾個(gè)字符*/j=0;while(*(pstr+i)!='\0'){if((*(pstr+i)>='0')&&(*(pstr+i)<='9'))j++;{if(j>0){digit=*(pstr+i-1)-48;/*將個(gè)數(shù)位賦予digit*/while(k<j)/*將含有兩位以上數(shù)的其它位的數(shù)值累計(jì)于digit*/digit=digit+(*(pstr+i-1-k)-48)*e10;/*將該位數(shù)的數(shù)值\累加于digit*/k++;/*位數(shù)K自增*/}*pa=digit;/*將數(shù)值賦予數(shù)組a*/pa++;/*指針pa指向a數(shù)組下一元素*/j=0;}} i++;}if(j>0)/*以數(shù)字結(jié)尾字符串的最后一個(gè)數(shù)據(jù)*/{digit=*(pstr+i-1)-48;/*將個(gè)數(shù)位賦予digit*/while(k<j)/*將含有兩位以上數(shù)的其它位的數(shù)值累加于digit*/digit=digit+(*(pstr+i-1-k)-48)*e10;/*將該位數(shù)的數(shù)值累加于digit*/k++;/*位數(shù)K自增*/}*pa=digit;/*將數(shù)值賦予數(shù)組a*/j=0;}j=0;for(j=0;j<ndigit;j++)/*打印數(shù)據(jù)*/printf("%d",*(pa+j));printf("\n");}}{inti;while(*(p1+i)==*(p2+i))if(*(p1+i++)=='\0')return(0);//相等時(shí)返回結(jié)果0return(*(p1+i)-*(p2+i));//不等時(shí)返回結(jié)果為第一個(gè)不等字符ASCII碼的差值}if((n<=12)&&(n>=1))printf("Itiswrong.\n"}針}return(NULL);}//指定開(kāi)辟存區(qū)的最大容量//定義字符數(shù)組newbuf//定義指針變量newp,指向可存區(qū)的始端//定義開(kāi)辟存區(qū)的函數(shù)new,開(kāi)辟存儲(chǔ)區(qū)后返回指//開(kāi)辟區(qū)未超過(guò)newbuf數(shù)組的大小//返回一個(gè)指針,它指向存區(qū)的開(kāi)始位置//當(dāng)存區(qū)不夠分配時(shí),返回一個(gè)空指針}#defineLINEMAX20/*定義字符串的最大長(zhǎng)度*/{inti;char**p,*pstr[5],str[5][LINEMAX];for(i=0;i<5;i++)pstr[i]=str[i];/*將第i個(gè)字符串的首地址賦予指針數(shù)組pstr的第i個(gè)元素*/for(i=0;i<5;i++)for(i=0;i<5;i++)printf("%s\n",pstr[i]);}sort(char**p)/*冒泡法對(duì)5個(gè)字符串排序函數(shù)*/{inti,j;for(i=0;i<5;i++){for(j=i+1;j<5;j++){if(strcmp(*(p+i),*(p+j))>0)/*比較后交換字符串地址*/{temp=*(p+i);*(p+i)=*(p+j);}}}}{voidsort(int**p,intn);printf("inputn:\n");for(i=0;i<n;i++)pstr[i]=&data[i];//將第i個(gè)整數(shù)的地址賦予指針數(shù)組pstr的第i個(gè)元素for(i=0;i<n;i++)for(i=0;i<n;i++)printf("%d",*pstr[i]);printf("\n");}{inti,j,*temp;for(i=0;i<n-1;i++){for(j=i+1;j<n;j++){if(**(p+i)>**(p+j))//比較后交換整數(shù)地址{temp=*(p+i);*(p+i)=*(p+j);}}}}第9章用戶自己建立數(shù)據(jù)類型2939.1定義和使用結(jié)構(gòu)體變量2939.1.2定義結(jié)構(gòu)體類型變量2959.1.3結(jié)構(gòu)體變量的初始化和引用2979.2使用結(jié)構(gòu)體數(shù)組3009.2.1定義結(jié)構(gòu)體數(shù)組3009.2.2結(jié)構(gòu)體數(shù)組的應(yīng)用舉例3019.3結(jié)構(gòu)體指針3039.3.1指向結(jié)構(gòu)體變量的指針3039.3.2指向結(jié)構(gòu)體數(shù)組的指針3049.3.3用結(jié)構(gòu)體變量和結(jié)構(gòu)體變量的指針作函數(shù)參數(shù)3069.4用指針處理鏈表3099.4.1什么是鏈表3099.4.2建立簡(jiǎn)單的靜態(tài)鏈表3109.4.3建立動(dòng)態(tài)鏈表3119.4.4輸出鏈表3159.5共用體類型3179.5.1什么是共用體類型3179.5.2引用共用體變量的方式3189.5.3共用體類型數(shù)據(jù)的特點(diǎn)3199.6使用枚舉類型3239.7用typedef聲明新類型名326 }}}}}}} }}stu[N];inti,j;for(i=0;i<N;i++)printf("NO.:");for(j=0;j<3;j++)}printf("\n");}}{inti,j;for(i=0;i<N;i++)for(j=0;j<3;j++)printf("\n");}}}stu[N];}{inti,j;for(i=0;i<N;i++)printf("NO.:");for(j=0;j<3;j++)}printf("\n");}}{inti,j;\n");for(i=0;i<N;i++)for(j=0;j<3;j++)printf("\n");}}stu[N];{inti,j,maxi;for(i=0;i<N;i++)printf("NO.:");for(j=0;j<3;j++)}}for(i=0;i<N;i++)for(j=0;j<3;j++)}}for(i=0;i<N;i++)for(j=0;j<3;j++)printf("%9.2f",stu[i].score[j]printf("%8.2f\n",stu[i].avr);}}}link[N+1];for(i=1;i<=N;i++){if(i==N)link[i].nextp=1;link[i].nextp=i+1;link[i].number=i;}printf("\n");{i=0;while(i!=3)if(link[h].number)i++;}}for(i=1;i<=N;i++)if(link[i].number)printf("%3d",link[i].number);printf("\n");}};if(head==NULL)//是空表{printf("\nlistnull!\n");}while(num!=p1->num&&p1->next!=NULL)//p1指向的不是所要找的結(jié)點(diǎn)且后面還有結(jié)點(diǎn)*/}}};//使p1指向第一個(gè)結(jié)點(diǎn)//指向要插入的結(jié)點(diǎn)//原來(lái)的鏈表是空表//使p0指向的結(jié)點(diǎn)作為頭結(jié)點(diǎn){p2=p1;//使p2指向剛才p1指向的結(jié)點(diǎn)}//p1后移一個(gè)結(jié)點(diǎn)}p0->next=NULL;//插到最后的結(jié)點(diǎn)之后}}n=n+1;//結(jié)點(diǎn)數(shù)加1}};}}}{printf("\nlistnull!\n");}}}}}}}if(head!=NULL)}while(p!=NULL);}};}}}{printf("\nlistnull!\n");}}}}}}}if(head!=NULL)}while(p!=NULL);}};}}}}{printf("\nlistnull!\n");return}}}}}if(head!=NULL)}while(p!=NULL);}};printf("inputlistb:\n");}if(n==1)}}}}}while((pa1->next!=NULL)||(pa1==NULL&&pb1!=NULL));if((pb1!=NULL)&&(pb1-}if(p!=NULL)}while(p!=NULL);}}a[LA],b[LB];{structstudenta[LA]={{101,"Wang"},{102,"Li"},{105,"Zhang"},{106,"Wei"}};structstudentb[LB]={{103,"Zhang"},{104,"Ma"},{105,"Chen"},{107,"Guo"},{108,"lui"}};inti;printf("listA:\n");{if(i<LA)p1->next=a+i;}printf("\nlistB:\n");{if(i<LB)p2->next=b+i;}while(p1!=NULL)}}while(p1!=NULL)}}intfind=0;//找到待刪除元素find=1,否則find=0{printf("inputlengthof}//建立鏈表if(i==0)printf("NO.:");}while(p!=NULL)}//刪除printf("inputage:");//輸入待刪年齡}elsewhile(pt!=NULL)}}if(!find)while(p!=NULL)}}第10章對(duì)文件的輸入輸出33110.1C文件的有關(guān)基本知識(shí)33110.2打開(kāi)與關(guān)閉文件33510.2.1用fopen函數(shù)打開(kāi)數(shù)據(jù)文件33510.2.2用fclose函數(shù)關(guān)閉數(shù)據(jù)文件33710.3順序讀寫(xiě)數(shù)據(jù)文件33810.3.1怎樣向文件讀寫(xiě)字符33810.3.2怎樣向文件讀寫(xiě)一個(gè)字符串34110.3.3用格式化的方式讀寫(xiě)文件34410.3.4用二進(jìn)制方式向文件讀寫(xiě)一組數(shù)據(jù)34510.4隨機(jī)讀寫(xiě)數(shù)據(jù)文件34910.4.1?募恢帽曇羌捌潿ㄎ?34910.5文件讀寫(xiě)的出錯(cuò)檢測(cè)353習(xí)題354第11章常見(jiàn)錯(cuò)誤分析355附錄370附錄A在Vi附錄B常用字符與ASCII代碼對(duì)照表377附錄CC語(yǔ)言中的關(guān)鍵字378附錄EC語(yǔ)言常用語(yǔ)法提要380參考文獻(xiàn)390{FILE*fp;if((fp=fopen("a1","w"))==NULL)}while(str[i]!='!'){if(str[i]>='a'&&str[i]<='z')str[i]=str[i]-32;fputc(str[i],fp);i++;}}{FILE*fp;

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論