还剩37页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
第章程序设计和语言I C1什么是计算机程序
1.11什么是计算机语言L21语言的开展及其特点L3C3最简单的语言程序
1.4C5最简单的语言程序举例
1.
1.1C6语言程序的构造
1.
4.2c10运行程序的步骤与方法程序设
1.5C12L6计的任务141-5#include stdio.hint mainprintfn VeryGood!\n\nn;pnntf”**************************•东*******print f”******************\n•return0;l-6#include stdio.hint main{int a,b,c,max;printfnplease inputa,b,c:\nn;scanf%d,%d,%d”,a,b,c;max=a;if maxb二max b;if maxcmax=c;printfnThe largestnumber is%d\nn,max;return0;第章算法——程序的灵魂216」什么是算法216简单的算法举例
2.217算法的特性
2.321怎样表示一个算法
2.422用自然语言表示算法
2.
4.122用流程图表示算法
2.
4.222三种根本构造和改良的流程图
2.
4.326用流程图表示算法244N S28用伪代码表示算法24531用计算机语言表示算法
2.
4.632{y=2*x-l;printfnx=%d,y=2*x-1=%d\nn,x,y;else/*x=10*/{y=3*x-l1;printfnx=%d,y=3*x-l l=%d\rT,x,y;return0;4-7-1#include stdio.hint mainint x,y;printfHenter x:n;scanfn%dH,x;y=-i;ifx!=0ifx0y=i;elsey=0;printf”x=%d,y=%d\n”,x,y;return0;4-7-2#include stdio.hint mainintx,y;printfnplease enterx:n;scanf”%d”,x;y=0;ifx=0ifx0y=l;else y=-l;printfMx=%d,y=%d\nn,x,y;return0;4-8#include stdio.hint main{float score;char grade;”请输入学生成绩:;printfscanfH%f\score;while score100||score0{printfH\n输入有误,请重输scanfH%fn,score;switchintscore/10{case10:case9:grade=Af;break;case8:grade=B;break;case7:grade=C;break;case6:grade=D;break;case5:case4:case3:case2:case0:grade=E;printf成绩是%
5.lf,相应的等级是%c\nscore,grade;return0;4-9#include stdio.h#include math.hint main{//分别代表个位,十位,百位,int num,indiv,ten,hundred,thousand,ten_thousand,place;千位,万位和位数printf请输入一个整数0-99999:”;scanfH%dn,num;if num9999place=5;else if num999place=4;else if num99place=3;else if num9place=2;else place=l;位数:%小门卬血©;printf每位数字为:;printften_thousand=num/10000;thousand=intnum-ten_thousand:1:10000/1000;hundred=intnum-ten_thousand^10000-thousand*1000/100;ten=intnum-ten_thousand*10000-thousand*1000-hundred^100/10;indiv=intnum-ten_thousand*10000-thousand^1000-hundred*100-ten*10;switchplace{case5:printfn%d,%d,%d,%d,%dH,ten_thousand,thousand,hundred,ten,indiv;printfn\n反序数字为:;printfn%d%d%d%d%d\nH,indiv,ten,hundred,thousand,ten_thousand;break;case4:printf,%d,%d,%d,%d,thousand,hundred,ten,indiv;printfn\n反序数字为:;printf%d%d%d%d\n,indiv,ten,hundred,thousand;break;case3:printf,,%d,%d,%dn,hundred,ten,indiv;反序数字为:;printf\nprintfn%d%d%d\nn,indiv,ten,hundred;break;case2:printfH%d,%dn,ten,indiv;printfn\n反序数字为:;printfM%d%d\nn,indiv,ten;break;case1:printfn%dn,indiv;printfn\n反序数字为:;printfH%d\nH,indiv;break;}return0;4-10-1#include stdio.hint mainint i;double bonus,bon1,bon2,bon4,bon6,bon10;bon1=100000*
0.1;bon2=bon1+100000*
0.075;bon4=bon2+100000*
0.05;bon6=bon4+100000*
0.03;bon10=bon6+400000*
0.015;printf请输入利润i:n;scanf”%d”,i;if i=100000bonus=i*
0.1;else ifi=200000bonus=bonl+i-l00000*
0.075;else ifi=400000bonus=bon2+i-200000*
0.05;else ifi=600000bonus=bon4+i-400000*
0.03;else ifi=1000000bonus=bon6+i-600000*
0.015;elsebonus=bon10+i-l000000*
0.01;奖金是printf%
10.2f\n”,bonus;return0;4-10-2#include stdio.hint mainint i;double bonus,bon1,bon2,bon4,bon6,bon10;int branch;bonl=100000*
0.1;bon2=bon1+100000*
0.075;bon4=bon2+200000*
0.05;bon6=bon4+200000*
0.03;bon10=bon6+400000*
0.015;printf请输入利润i:;scanf%d\i;branch=i/l00000;if branch10branch=10;switchbranch{case0:bonus=i*0,1;break;case l:bonus=bonl+i-100000*
0.075;break;case1:bonus=bon2+i-200000*
0.05;break;case2:bonus=bon4+i-400000*
0.03;break;case3:bonus=bon6+i-600000*
0.015;break;二case4:bonus bon10+i-1000000*
0.01;printf奖金是%
10.2f\nH,bonus;return0;4-11#include stdio.hint main{int t,a,b,c,d;printf请输入四个数:;scanf%d,%d,%d,%d”,a,b,c,d;printfna=%d,b=%d,c=%d,d=%d\n\a,b,c,d;if ab{t=a;a=b;b=t;}if ac{t=a;a=c;c=t;}if ad{t=a;a=d;d=t;}if bc{t=b;b=c;c=t;}if bd{t=b;b=d;d=t;}if cd{t=c;c=d;d=t;}printf排序结果如下:\n;printfH%d%d%d%d\n”,a,b,c,d;return0;4-12#include stdio.hint maininth=10;float x l=2,yl=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;请输入一个点printf x,y:;scanfn%f,%f,x,y;d1=x-x4*x-x4+y-y4*y-y4;/*求该点到各中心点间隔*/d2=x-x1*x-x l+y-y l*y-y1;d3=x-x2*x-x2+y-y2*y-y2;d4=x-x3*x-x3+y-y3*y-y3;/*判断该点是否在塔外*/ifdlld2ld3ld4l h=0;该点高度为printff%d\n”,h;return0;第章循环构造程序设计5114为什么需要循环控制
5.1114用语句实现循环
5.2while115用语句实现循环
5.3do...while117用语句实现循环
5.4for120循环的嵌套
5.5124几种循环的比拟
5.6125改变循环执行的状态
5.7125用语句提早终止循环
5.
7.1break126用语句提早完毕本次循环
5.
7.2continue127语句和语句的区别
5.
7.3break continue128循环程序举例
5.8131习题1405-2#include stdio.h//程序中用到数学函数应包含头文件#include math.h fabs,math.nint main用来表示数值的符号,用来统计循环次数int sign=l,count=0;//sign count开场代表多项式的值,最后代表兀的double pi=
0.0,n=
1.0,term=
1.0;//pi值,代表分母,代表当前项的值n termwhilefabsterm=1e-8//检查当前项term的绝对值是否大于或等于10的-6//把当前项累加到中pi=pi+term;term pi是下一项的分母n=n+2;//n+2sign—sign;〃sign代表符号,下一项的符号与上一项符号相反term=sign/n;//求出下一项的值termcount++;累加//count1pi=pi*4;//多项式的和乘以才是兀的近似值pi4,printf,,pi=%
10.8f\n,,,pi;//输出兀的近似值printfncount=%d\nn,count;//输出循环次数return0;5-3#include stdio.hint mainintp,r,n,m,temp;printf请输入两个正整数n,m:n;scanfn%d,%d;\n,m;if nmtemp=n;n=m;m=temp;p=n*m;whilem!=0r=n%m;n=m;m=r;它们的最大公约数为printf:%d\n”,n;它们的最小公约数为printf:%d\n”,p/n;return0;5-4#include stdio.hint main{char c;int Ietters=0,space=0,digit=0,other=0;请输入一行字符符printfwhilec=getchar!=\n,if c=ac=z||c二Acv二Z letters++;else if space++;else if c=0cv=9digit++;elseother++;printf字母数:%d\n空格数:%d\n数字数:%d\n其它字符数:%d\n,letters,space,digit,other;return0;5-5#include stdio.hint mainint a,n,i=1,sn=0,tn=0;printfna,n=:n;scanfn%d,%dn,a,n;while i=n/*赋值后的为个组成数的值*/tn=tn+a;tn i a赋值后的为多项式前项之和*/sn=sn+tn;/*sn ia=a*10;++i;printfa+aa+aaa+...=%d\nn,sn;return0;5-6#include stdio.hint main{double s=O,t=1;int n;for n=l;n=20;n++t=t*n;s=s+t;printf!+2!+…+20!=%
22.15e\n,s;return0;5-7#include stdio.hint mainint nl=l00,n2=50,n3=10;double k,sl=0,s2=0,s3=0;/*计算至的和*/for k=1;k=n1;k++1U100{sl=sl+k;}/*计算到各数的平方和*/for k=l;k=n2;k++150{s2=s2+k*k;}/*计算至的各倒数和*/for k=l;k=n3;k++1U10{s3=s3+l/k;}printfsum=%
15.6f\nn,s1+s2+s3;return0;5-8#include stdio.hint mainint i,j,k,n;printfHparcissus numbersare;for n=100;n1000;n++i=n/100;j=n/10-i*10;k=n%10;if n==i*i*i+j*j*j+k*k*k printfn%d\n;printfH\nn;return0;5-9-1#define M1000/*定义寻找范围*/#include stdio.h int mainintkl,k2,k3,k4,k5,k6,k7,k8,k9,kl0;int i,a,n,s;是之间的整数,检查它是否完数*/for a=2;a=M;a++/*a2-1000{n=0;/*n用来累计a的因子的个数*/s=a;/*s用来存放尚未求出的因子之和,开场时等于a*/for i=l;ia;i++/*检查i是否a的因子刃if%i==0a{n++;/*n加1,表示新找到一个因子*//*假如是的因子*/ia减去已找到的因子,的新值是尚未求出的因子之和*/s=s-i;/*s s/*将找到的因子赋给或switchn kl…k9,klO*/{case1:/*找出的笫个因子赋给kl=i;break;1kl*/case2:k2=i;break;/*找出的笫2个因子赋给k2*/case3:k3=i;break;case4:k4=i;break;/*找出的笫个因子赋给3k3*//*找出的笫个因子赋给4k4*//*找出的笫个因子赋给k5=i;break;5k5*//*找出的笫个因子赋给k6=i;break;6k6*/case7:/*找出的笫个因子赋给k7=i;break;7k7*/case8:/*找出的笫个因子赋给k8=i;break;8k8*/case9:/*找出的笫个因子赋给k9=i;break;9k9*/case10:/*找出的笫个因子赋给kl0=i;break;10klO*/ifs=0printfH%d,Its factorsare”,a;ifn1printfn%d,%d\k l,k2;/*nl表示a至少有2个因子*/ifn2printfn,%dn,k3;表示至少有个因子,故应再输出一个/*n23因子*/表示至少有个因子,故应再输出一个ifn3printf,,,%dH,k4;/*n34因子*//*以下类似*/if n4printf\%dn,k5;ifn5printfn,%dn,k6;if n6printf,,,%d,,k7;ifn7printfn,%dn,k8;ifn8printf,%d,k9;ifn9printf,%d,klO;printfn\nn;return0;构造化程序设计方法
2.534习题36第章最简单的程序设计——顺序程序设计C37顺序程序设计举例
3.137数据的表现形式及其运算
3.239常量和变量32139数据类型
3.
2.142整型数据
3.
2.244字符型数据32447浮点型数据
3.
2.549怎样确定常量的类型
3.
2.651运算符和表达式
3.
2.752语句
3.3C57语句的作用和分类
3.
3.1C57最根本的语句——赋值语句
3.
3.259数据的输入输出
3.465输入输出举例
3.
4.165有关数据输入输出的概念3A267用函数输出数据343printf68用函数输入数据
3.
4.4scanf75字符数据的输入输出
3.
4.578习题823-1#include stdio.h#include math.hint main{float p,r,n;r=
0.1;n=10;p=powl+r,n;printfnp=%f\n,,p;return0;3-2-1#include stdio.h#include math.hint main{float r5,r3,r2,rl,r0,p,p1,p2,p3,p4,p5;p=1000;5-9-2#include stdio.hint main{intm,s,i;for m=2;m1000;m++{s=0;for i=l;im;i++if m%i==0s=s+i;ifs==m{printfn%d,its factorsare n,m;for i=l;im;i++if m%i==0printfn%d n,i;printfH\nn;return0;5-10#include stdio.hint mainint i,n=20;double a=2,b=l,s=0,t;for i=l;i=n;i++s=s+a/b;t=a,a=a+b,b=t;printfHsum=%
16.10f\nH,s;return0;5-11#include stdio.h int maindouble sn=100,hn=sn/2;int n;for n=2;n=10;n++/*第次落地时共经过的米数*/sn=sn+2*hn;nhn=hn⑵/*第n次反跳高度*/第次落地时共经过%£米printf10\n”,sn;第次反弹%£米\/printf10m11;return0;5-12#include stdio.hint mainintday,xl,x2;day=9;x2=l;whileday0/*第天的桃子数是第天桃子数加后的倍.*/{xl=x2+l*2;1212x2=xl;day—;printfHtotal=%d\nH,x1;return0;5-13#include stdio.h#include math.hint mainfloat a,x0,xl;printfnenter apositive number:1;scanf%F,a;x0=a/2;xl=x0+a/x0/2;do{x0=xl;xl=x0+a/x0/2;}whilefabsxO-x1=1e-5;printfHThe squareroot of%
5.2f is%
8.5f\nn,a,xl;return0;5-14#include stdio.h#include math.hint main{double xl,xO,f,fl;xl=
1.5;do{xO=xl;f=2*x0-4*x0+3*x0-6;fl=6*x0-8*x0+3;xl=xO-f/fl;}whilefabsx l-xO=1e-5;printfHThe rootof equationis%
5.2f\nn,xl;return0;5-15#include stdio.h#include math.hint main{float x0,x l,x2,fx0,fx l,fx2;do{printfnenter xlx2:n;scanfu%f,%r,xl,x2;fxl=xl*2*xl-4*xl+3-6;fx2=x2*2*x2-4*x2+3-6;}whilefx1*fx20;do{x0=xl+x2/2;fx0=x0*2*x0-4*x0+3-6;iffx0*fxl0{x2=x0;fx2=fx0;else{xl=x0;fxl=fxO;}whilefabs fx0=le-5;printf,x=%
6.2f\n,,x0;return0;5-16#include stdio.hint main{int i,j,k;for i=0;i=3;i++{forj=0;j=2-i;j++”;printsfor k=0;k=2*i;k++*;printfprintfCAn1;for i=0;i=2;i++{forj=0;j=i;j++printfn n;for k=0;k=4-2*i;k++printfC*;printf,\nn;return0;5-17#include stdio.hint main/*是的对手;是的对手;是的对手*/char ij,k;a jb kcfor i=,x,;i-z*;i++for j-x,;j=,z,;j++ifi!=jfor k=x;k=z;k++ifi!=k j!=kifi!=xk!=Y k!=2printfnA-%c\nB-%c\nC-%c\nH,ij,k;return0;第章利用数组处理批量数据6142定义和引用一维数组
1.
1.1142怎样定义一维数组
6.
1.1143怎样引用一维数组元素
6.
1.2144一维数组的初始化
6.
1.3145一维数组程序举例
6.L4146定义和引用二维数组
1.
1.2148怎样定义二维数组
6.
2.1149怎样引用二维数组的元素
6.
2.2150二维数组的初始化
6.
2.3151二维数组程序举例
6.
2.4152数组
1.
1.3154样定义字符数组
1.
1.4154字符数组的初始化
6.
3.2155怎样引用字符数组中的元素
6.
3.3155字符串和字符串完毕标志
6.
3.4156字符数组的输入输出
6.
3.5159使用字符串处理函数
6.
3.6161字符数组应用举例
6.
3.7165习题1686-1#include stdio.h#include math.hint main{int i,j,n,a
[101];for i=l;i=100;i++a[i]=i;a[l]=0;for i=2;isqrt100;i++for j=i+l;j=100;j++{ifa[i]!=0a[j]!=Oif a[j]%a[i]==0a[j]=O;printf\n;for i=2,n=0;i=100;i++{ifa[i]!=0{printfn%5dM,a[i];n++;ifn==10{printfn\nn;n=0;printf”\n;return0;6-2#include stdio.hint main{int i,j,min,temp,a[ll];printfHenter data:\nn;for i=l;i=10;i++{printfna[%d]=H,i;scanfn%dn,a[i];printf,,\nn;printfHThe orginalnumbers:/;for i=l;i=10;i++printf”%5d”,a[i];printf,\nH;for i=l;i=9;i++{min=i;for j=i+l;jv=10;j++if a[min]a[j]min=j;temp=a[i];a[i]=a[min];a|min|=temp;printfH\nThe sortednumbers:\nn;for i=l;i=10;i++printfn%5dn,a[i];printfH\nn;return0;6-3#include stdio.hint mainint a
[3]
[3],sum=0;int i,j;printfHenter data:\nH;for i=0;i3;i++〈for j=0;j3;j++scanfM%3dn,a[i]|j];for i=0;i3;i++sum=sum+a[i|[ij;printfn sum=%6d\nu,sum;return0;6-4#include stdio.h int main{inta[ll]={1,4,6,9,13,16,19,28,40,100};int temp1,temp2,number,end,ij;printfnarray a:\nn;for i=0;i10;i++printfn%5dn,a[i];printfn\nn;printfinsert data:*;scanfH%dn,number;end=a
[9];if numberenda
[10]=number;else{for i=0;i10;i++{if a|i]number{tempi=a[i];a[i]=number;for j=i+l;jll;j++{temp2=a|jl;a[j]=templ;templ=temp2;}break;printfnNow array a:\n;for i=0;ill;i++printf“%5d”,a[i];printfn\nn;return0;6-5#include stdio.h#define N5int main{int a[N],i,temp;printfnenter arraya:\nn;for i=0;iN;i++scanfn%dn,a[i];printfnarray a:\nn;for i=0;iN;i++printf,%4d,,,a[i];〃循环的作用是将对称的元素的值互换for i=0;iN/2;i++{temp=a[i];a[i]=a[N-i-l];a[N-i-l]=temp;printfn\nNow,arraya:\n;for i=0;iN;i++printf,%4d\a[i];printfn\nn;return0;6-6#include stdio.h#define N10int main{int iJ,a[N][N];for i=0;iN;i++{a[i][i]=l;a[i]
[0]=l;for i=2;iN;i++a[i]UJ=a[i-l][j-l]4-a[i-l]U];for i=0;iN;i++{for j=O;j=i;j++printf”%6d”,a[i皿;printfn\nn;printfn\n;return0;6-7#include stdio.hint main{int a
[15]
[15],ij,k,p,n;p=l;whilep==l{printfenter nn=l—15:n;scanfn%d,n;ifn!=0n=15n%2!=0p=0;for i=l;i=n;i++for j=l;j=n;j++a[i]U]=0;j=n/2+l;a[UUM;for k=2;k=n*n;k++{i=i-l;j=j+l;ifiljn{i=i+2;j寸1;else{if ili=n;if jnj=l;ifa[i][j]==Oa[i][j]=k;else{i=i+2;a[i][j]=k;for i=l;i=n;i++{forj=l;jv=n;j++printf”%5d”,a[i皿;printfn\nn;return0;6-8#include stdio.h#define N4#define M5/*数组为4行5列*/int mainfor i=0;iN;i++/*输入数组*/for j=O;jM;j++scanfn%d;a[i][j];for i=0;iN;i++/*开场时假设最大*/{max=a[i]
[0];a[i][O]maxj=0;/*将列号0赋给maxj保存*/for j=O;jM;j++/*找出第i行中的最大数*/if a[i][j]max/*将本行的最大数存放在中*/{max=a[i][j];max/*将最大数所在的列号存放在中*/maxj=j;maxj/*先假设是鞍点,以为代表*/flag1flag=l;for k=0;kN;k++/*将最大数和其同列元素相比*/if maxa[k][maxjl/*假如max不是同列最小,表示不是鞍点令flagl为0*/{flag=0;continue;}/*假如为表本是鞍点*/flagl1ifflagint ij,k,a[N][M],max,maxj,flag;printfnplease inputmatrix:\n;{printfHa[%d][%d]=%d\nn,i,maxj,max;/*输出鞍点的值和所在行列号*/break;/*假如为表示鞍点不存在*/flagif!flagprintfnIt isnot exist!\nn;return0;6-9#include stdio.h#define N15int main{int i,number,top,bott,mid,loca,a[NI,flag=l,sign;char c;printfHenter data:\nn;scanfH%dn,a
[0];i=l;whileiN{scanfn%dn,a[i];r5=
0.0585;r3=
0.054;r2=
0.0468;r1=
0.0414;r0=
0.0072;pl=p*l+r5*5;//一次存5年期p2=p*l+2*r2*l+3*r3;〃先存2年期,到期后将本息再存3年期p3=p*1+3*r3*1〃先存年期,到期后将本息再存年期32+2*r2;p4=p*powl+rl,5;//存年期,到期后将本息存再存年期,连11p5=p*pow1+r0/4,4*5;续存5次printfnpl=%f\nH,pl;//存活期存款活期利息每一季度结算一次printfnp2=%f\n\p2;〃输出按第方案得到的本息和1printfnp3=%f\nn,p3;〃输出按第方案得到的本息和2printfp4=%An”,p4;//输出按第方案得到的本息和3printfnp5=%f\nn,p5;〃输出按第方案得到的本息和4〃输出按第方案得到的本息和5return0;3-2-2#include stdio.h#include math.hint main{double r5,r3,r2,rl,rO,p,pl,p2,p3,p4,p5;p=1000;r5=
0.0585;r3=
0.054;r2=
0.0468;l=
0.0414;rr0=
0.0072;pl=p*l+r5*5;//一次存5年期p2=p*l+2*r2*l+3*r3;〃先存年期,到期后将本息再存年期23p3=p*l+3*r3*l+2*r2;〃先存年期,到期后将本息再存年期32p4=p*powl+rl,5;//存年期,到期后将本息存再存年期,连11p5=p*pow1+r0/4,4*5;续存次5printfnpl=%f\nH,pl;//存活期存款活期利息每一季度结算一次printfnp2=%f\nH,p2;〃输出按第方案得到的本息和1printfnp3=%f\nn,p3;〃输出按第方案得到的本息和2printfnp4=%f\n,,p4;〃输出按第方案得到的本息和3printfnp5=%f\nn,p5;〃输出按第方案得到的本息和4〃输出按第方案得到的本息和5return0;3-2-3ifa[i]=a[i-l]i++;elseprintfnenter thisdata again:\n;printfn\n,,;for i=O;iN;i++printfH%5dn,a[i];printfn\nn;whileflag{printfinput numberto lookfor:*;scanfn%dn,number;sign=0;是查找区间的起始位置top=0;//top是查找区间的最末位置bott=N-l;//bott〃要查的数不在查找区间内if numbera[O]||numbera[N-l]//表示找不到loca—1;while!signtop=bott{mid=bott+top/2;if number==a[mid]{loca=mid;printfHHas found%d,its positionis%d\nH,number,loca+1;signal;else ifnumbera[mid]bott=mid-1;elsetop=mid+l;if!sign||loca==-lprintfHcannot find%d.\nn,number;;pMntfcontinu ornotY/Nn;scanfn%cn,c;ifc=-N|||c==,n,flag=0;return0;6-10#include stdio.hint main{inti,j,upp,low,dig,spa,oth;char text
[3]
[80];upp=low=dig=spa=oth=0;for i=0;i3;i++{printfnplease inputline%d:\nn,i+l;getstext[i];for j=0;j80text[i][j]!=,\0;j4-4-{iftext[i][j]=,A,text[i][j]=,Z upp++;else iftext[i][j]-a*text[i][j]=z low++;else iftext[i][j]=,0,text[i][j]=9dig++;else iftext[i][j]=-*spa++;elseoth++;}printf\nupper case:%d\nn,upp;printfnlower case:%d\nn,low;printfHdigit:%d\nn,dig;printfC*space:%d\nn,spa;printfnother:%d\nn,oth;return0;6-11#include stdio.hint main{charint i,j,k;char space=;for i=0;i5;i++{printfn\nn;printfC1;for j=l;j=i;j++printf%c”,space;for k=0;k5;k++printfH%cn,a[k];}printf”\n;return0;6-12a-c#include stdio.hint main{intj,n;char ch
[80],tran|80];printfninput ciphercode:11;getsch;printfn\ncipher code:%s”,ch;j=0;while ch[j]!=\0{if chU]=Wch[jk=Z tran[j]=155-ch[j];else ifch[j]=ach[jk=z tran[j]=219-ch[j];elsetran|j]=ch[j];j++;n=j;printfH\noriginal text:;for j=O;jn;j++putchartranfj];printfH\nn;return0;6-12b#include stdio.hint main{intj,n;char ch|80|;printfninput ciphercode:\nn;getsch;printfH\ncipher code:%s\nn,ch;j=0;while ch[j]!=\0{ifch|j]=A,chjk=Z ch[j]=155-ch[j];else ifch[j]=ach[j]=z ch|j]=219-chU];elsech[j]=ch[j];j++;n=j;printfnoriginal text:;for j=O;jn;j++putcharch[j];printfn\nn;return0;6-13#include stdio.hint main{charsl
[80],s2
[40];inti=0,j=0;printfHinput string1:M;scanfH%sn,sl;printfninput string:11;scanfn%sn,s2;while sl[i]!=\0i++;whiles2[j]!=,\0,sl[i++]=s2[j++];sl[i]=\0;printfH\nThe newstring is:%s\nH,sl;return0;6-14#include stdio.hint main{inti,resu;charsl
[100],s2
[100];printfninput string1:M;getssl;printfH\ninput string2:n;getss2;i=0;while«sl[i]==s2[i]sl[i]!=0i++;ifsl[i]==,\0,s2[i]==,\0,resu=O;elseresu=sl[i]-s2[i];pri ntf\nresult:%d.\nn,resu;return0;6-15#include stdio.h#include string.h int main{charsl
[80],s2
[80];inti;printfninput s2:H;scanfn%sn,s2;for i=0;i=strlens2;i++sl[i]=s2[i];printf,,sl:%s\nM,sl;return0;第章用函数实现模块化程序设计7170为什么要用函数
7.1170怎样定义函数
7.2172为什么要定义函数
7.
2.1172定义函数的方法722173调用函数73174函数调用的形式
1.
1.1174函数调用时的数据传递
1.
2.2175函数调用的过程
7.3,3177函数的返回值
73.4178被调用函数的声明和函数原型
73.5179数的嵌套调用
73.6182数的递归调用
73.7184组作为函数参数
73.8192组元素作函数实参
73.
8.1193组名作函数参数
73.
8.2194维数组名作函数参数
73.
8.3197分变量和全局变量
73.9199部分变量781199全局变量200的存储方式和生存期
73.10204存储方式与静态存储方式
73.
10.1204变量的存储类别
73.
10.2205变量的存储类别
73.
10.3208类别小结
73.
10.4212于变量的声明和定义
73.11214部函数和外部函数
73.12215部函数
73.
12.1215部函数习题
73.
12.22152187-1-1#include stdio.hint main{int hcfint,int;int lcdint,int,int;int u,v,h,l;scanfn%d,%dn,u,v;h=hcfu,v;printf,,H.C.F=%d\nM,h;l=lcdu,v,h;printfnL.C.D=%d\nM;return0;int hcfint u,int v血t,r;if vu{t=u;u=v;v=t;}while r=u%v!=0{u=v;v=r;}returnv;int lcdintu,int v,int hreturnu*v/h;7-1-2#include stdio.hint Hcf,Lcd;intmain{void hcfint,int;void lcdint,int;intu,v;scanf%d,%d\u,v;hcfu,v;lcdu,v;printfHH.C.F=%d\nn,Hcf;printfnL.C.D=%d\nn,Lcd;return0;void hcfintu,int v{int t,r;if vu{t=u;u=v;v=t;}while r=u%v!=0{u=v;v=r;Hcf=v;void lcdintu,int vLcd=u*v/Hcf;7-2#include stdio.h#include math.hfloat xl,x2,disc,p,q;intmain{void greater_than_zerofloat,float;void equal_to_zerofloat,float;void smaller_than_zerofloat,float;float a,b,c;printfn inputa,b,c:n;scanfn%f,%f,%r,a,b,c;printfnequation:%
5.2f*x*x+%
5.2f*x+%
5.2f=0\n,a,b,c;disc=b*b-4*a*c;printfnroot:\nn;if disc0greater_than_zeroa,b;printfnx1=%f\t\tx2=%f\nH,xl,x2;else ifdisc==O{eq uaLto_zeroa,b;printfnx1=%f\t\tx2=%f\nn,x1,x2;else{smaller_than_zeroa,b;printfHx l=%f+%fi\tx2=%f-%fi\n\p,q,p,q;return0;void greater_than_zerofloat a,float b{x1=-b+sqrtdisc/2*a;x2=-b-sqrtdisc/2*a;void equal_to_zerofloat a,float bxl=x2=-b/2*a;void smaller_than_zerofloat a,float bp=-b/2*a;q=sqrt-disc/2*a;7-3#include stdio.hint main{int primeint;intn;printfHinput aninteger:11;scanf%d\n;if primenprintfn%d isa prime.\nn,n;elseprintfn%d isnot aprime.\nn,n;return0;int primeintn{int flag=l,i;for i=2;in/2flag==l;i++ifn%i==0flag=0;retumflag;7-4#include stdio.h#define N3int array[N][N];intmain{void convertintarray[]
[3];int ij;printfninput array:\nH;for i=0;iN;i++for j=O;jN;j++scanfn%dn,array[i][j];printfn\noriginal array:\nH;fori=0;iN;i++{for j=0;jN;j+4-printfn%5dn,array[i][j];printf,,\nu;convertarray;printfnconvert an*ay:\nn;fori=0;iN;i++{forj=0;jN;j++printfn%5dn,array[i][j];printfn\nn;return0;void convertintarray|]
[3]{intfor i=0;iN;i++for j=i+l;jN;j++{t=array[i][j];array[i][j]=array[j][i];#include stdio.h#include math.hint main{float r5,r3,r2,rl,r0,p,pI,p2,p3,p4,p5;p=1000;r5=
0.0585;r3=
0.054;r2=
0.0468;rl=
0.0414;pl=p*l+r5*5;/一次存5年期/p2=p*l+2*r2*l+3*r3;先存2年期,到期后将本息再存3年期/p3=p*l+3*r3*l+2*r2;先存年期,到期后将本息再存年期32p4=p*powl+rl,5;//存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow1+r0/4,4*5;//存活期存款活期利息每一季度结算一次printfnpl=%
10.2f\nn,pl;/输出按第1方案得到的本息和printfnp2=%
10.2f\nn,p2;/输出按第2方案得到的本息和printfHp3=%
10.2f\nn,p3;/输出按第3方案得到的本息和printfHp4=%
10.2i\nn,p4;/输出按第4方案得到的本息和printfp5=%
10.2NT,p5;/输出按第5方案得到的本息和/return0;//r0=
0.0072;//3-
3.#include stdio.h#include math.hint main{float d=300000,p=6000,r=
0.01,m;m=log10p/p-d*r/log10l+r;printfnm=%
6.2f\nH,m;return0;3-4#include stdio.h intmain{int cl,c2;cl=197;c2=198;printfnc l=%c,c2=%c\n\c1,c2;printfnc l=%d,c2=%d\n\c1,c2;return0;3-5#include stdio.hint main{inta,b;float x,y;char cl,c2;scanfna=%d b=%d,a,b;scanfn%f%en,x,y;scanfn%c%cn,cl,c2;printfna=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c\nn,a,b,x,y,cl,c2;return0;3-6#include stdio.hint main{char c1=C\c2-h,c3=,i,,c4=,n,,c5-a1;cl=cl+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printfnpasswor is%c%c%c%c%c\nn,cl,c2,c3,c4,c5;return0;3-7#include stdio.hint main{float h,r,l,s,sq,vq,vz;float pi=
3.141526;printf请输入圆半径r,圆柱高h”;scanfH%f,%f;r,h;〃要求输入圆半径r和圆柱高h//计算圆周长l=2*pi*r;1〃计算圆面积s=r*r*pi;s〃计算圆球外表积〃计算圆球体积sq=4*pi*r*r;sqvq=
3.0/
4.0*pi*r*r*r;vq〃计算圆柱体积vz=pi*r*r*h;vzprintf圆周长为l=%
6.2f\nl;圆面积为:s=%
6.2f\nn,s;printfsq=%
6.2f\n,sq;圆球外表积为:printfv=%
6.2f\nn,vq;printfn圆球体积为vz=%
6.2f\nn,vz;圆柱体积为printfreturn0;3-8-1#include stdio.hint main〃整型定义intcl,c2;printf请输入两个整数cl,c2:n;scanfH%d,%dn,cl,c2;按字符输出结果果printfprintf,,%c,%c\n,,c l,c2;按码输出结果为:printf ASCII\nprintfn%d,%d\nn,cl,c2;return0;3-8-2#include stdio.hint mainchar cl,c2;〃定义字符型变量int il,i2;〃定义整型变量printf”请输入两个字符cl,c2:n;scanfn%c,%cn,cl,c2;il=cl;〃赋值给整型变量i2=c2;按字符输出结果果printfprintfn%c,%c\nu,il,i2;按整数输出结果:printf\n;printf%d,%d\n”,cl,c2;return0;3-8-3#include stdio.h intmaincharcl,c2;〃定义为字符型int il,i2;〃定义为整型printff请输入两个整数il,i2:n;scanfH%d,%d\il,i2;cl=il;〃将整数赋值给字符变量c2=i2;按字符输出结果:printf\n;printf,,%c,%c\nH,c l,c2;按整数输出结果:printff\n;printfn%d,%d\nH,cl,c2;return0;3-8#include stdio.hint maincharcl,c2;printf”请输入两个字符cl,c2:n;cl=getchar;c2=getchar;用语句输出结果为printf putcharputcharcl;putcharc2;printfn\nn;用语句输出结果为:;printfC printfprintfn%c%c\nn,cl,c2;return0;第章选择构造程序设计485选择构造和条件判断
4.185用语句实现选择构造
4.2if87用语句处理选择构造举例
4.
2.1if87语句的一般形式
4.
2.21f89关系运算符和关系表达式
4.391关系运算符及其优先次序
4.
3.191关系表达式
4.
3.292逻辑运算符和逻辑表达式
4.492逻辑运算符及其优先次序
4.
4.193逻辑表达式
4.
4.294逻辑型变量
4.
4.396条件运算符和条件表达式
4.597选择构造的嵌套
4.699用语句实现多分支选择构造
4.7switch102选择构造程序综合举例
4.8105习题1114-4-1#include stdio.hint maininta,b,c;”请输入三个整数:;printfscanf%d,%d,%d;a,b,c;if abifbcprintfnmax=%d\nH,c;elseprintfn max=%d\n*,b;else ifacprintfn max=%d\n”,c;elseprintfn max=%d\nn,a;return0;4-4-2#include stdio.hint main{inta,b,c,temp,max;”请输入三个整数printfscanf%d,%d,%d”,a,b,c;/*将和中的大者存入中*/temp=aba:b;a btemp/*将和中的大者与比拟,取最大者*/max=tempctemp:c;a bcprintf三个整数的最大数是%血n,max;return0;4-5-2#include stdio.h#include math.h#define M1000int maininti,k;请输入一个小于的整数printf%dscanfC%dn,i;while iM{printf输入的数不符合要求,请重新输入一个小于%1的整数i M;scanfn%dH,i;k=sqrti;printfn%d的平方根的整数部分是%d\n\i,k;return0;4-5#include stdio.h#include math.h#define M1000int maininti,k;请输入一个小于的整数printf%dscanfn%dH,i;ifiM{printf输入的数不符合要求,请重新输入一个小于%d的整数scanfn%dn,i;k=sqrti;printfn%d的平方根的整数部分是%d\n”,i,k;return0;4-
6.#include stdio.h intmain{intx,y;printf输入x:n;scanf%d\x;ifxl/*X1*/{y=x;printfnx=%3d,二%y=x d\rT,x,y;〈/*l=vx10*/。