典型程序累积_第1页
典型程序累积_第2页
典型程序累积_第3页
典型程序累积_第4页
典型程序累积_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

累加和:用π/4=1-1/3+1/5-1/7+…公式求π的近似值P131-5.7连乘积:求5!(分别用三种循环语句实现)分类统计:if()n++;P165-6.8判断是否为闰年:P105-4.8判断是否为素数:P135-5.9、P137-5.10两数交换(按顺序输出)p87例4.2、4.3求最大公约数(辗转相除法、辗转相减法)求解Fibonacci数列:p133-5.8、P146-6.2看懂求方程的根P108-4.9、计算费用P109-4.10英文大小写字母的转换:P55-3.3、p81-3.10、P99-4.4排序:冒泡法P147-6.3;选择法P196-7.12;结构体数组P301-9.4矩阵转置:P152-6.4求最值:P153-6.5、P198-7.13、P167-6.9(字符串处理函数的应用)Switch语句的应用:P104-4.7,重点完成P105的补充问题(加分项)必会的典型程序(算法)函数的嵌套调用P183-7.5函数的递归调用P187-7.7数组名作函数参数–求平均值P195-7.11,P201-7.14字符串的处理删除子串P216-7.20(改为一个C源程序文件来处理)替换子串统计子串的个数字符串指针变量应用(逆序排印字符串、判断是否回文数,见本PPT-22-28)数组元素的逆序输出:P239-8.8和8.9对比掌握对比掌握指向数组元素的指针变量和指向一维数组的指针变量:P249-8.12;

P251-8.13用指向数组的指针作函数参数:P252-8.14字符串的复制P258-8.18和8.19输出链表:P315-9.10必会的典型程序(算法)以下例题,一定详细看通其“解题思路”和“程序分析”部分。P109-4.9、4.10P121说明⑴~⑽P128-5.6(用for语句嵌套输出4*5的矩阵)P157:字符串和字符结束标志P159:字符数组的输入输出P225~230:弄懂例题8.2

~8.5的区别P255-8.16和P256-8.17及P257的说明P259-8.20及至P263的所有说明P263~P266:字符指针变量和字符数组的比较P269-8.23(理解指向函数的指针)P274-8.25、8.26(理解返回指针值的函数)P277-8.27(理解指针数组)P280-8.28和8.29(理解指向指针数据的指针)P285~286建立内存的动态分配:malloc、calloc和free函数,看懂P287-8.30P299-9.2结构体变量的引用P303-9.5和9.6(掌握结构体指针的使用)P311-9.9(建立动态链表)必须看懂的例题习题讲解目的:通过学习,提高分析程序的能力,掌握编程思想、学会编写程序。多琢磨多分析36.有以下程序:#include<stdio.h>main(){intm,n;scanf(“%d%d”,&m,&n);while(m!=n){while(m>n)m=m-n;while(m<n)n=n-m;}printf(“%d\n”,m);}程序运行后,当输入1463<回车>时,输出结果是

。经典程序累积求两个数的最大公约数7if(m<n){r=m;m=n;n=r;}r=m%n;while(r!=0){m=n;n=r;r=m%n;}printf("%d\n",n);25.以下程序的输出结果是

。#include<stdio.h>main(){intn=12345,d;while(n!=0){d=n%10;printf(“%d”,d);n/=10;}}经典程序累积逐位分离数的方法543216.以下程序的功能是计算:s=1+12+123+1234+12345。请填空。main(){intt=0,s=0,i;for(i=1;i<=5;i++){t=i+

;s=s+t;}printf(“s=%d\n”,s);}经典程序累积构造数的方法t*107.有以下程序:#include<stdio.h>main(){inti,j;for(i=1;i<4;i++)

{for(j=i;j<4;j++)printf(“%d*%d=%d”,i,j,i*j);printf(“\n”);}}

程序运行后的输出结果是()。经典程序累积九九乘法表的输出练习讲解2.#include<stdio.h>main(){intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;default:n=0;k--;case2:case4:n+=2;k--;break;}printf(“%d”,n);

}while(k>0&&n<5);}程序运行后的输出结果是(

)。

2358.#include<stdio.h>main(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf(“m=%d\n”,m);}

程序的运行结果是()。m=1练习讲解10.#include<stdio.h>voidmain(){inta=1,b;for(b=1;b<=10;b++){if(a>=8)break; if(a%2==1) {a+=5; continue;} a-=3;}printf("b=%d,a=%d\n",b,a);}b=4,a=8练习讲解22.以下程序的输出结果是()。main(){inta=0,i;for(i=0;i<5;i++){switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}printf(“%d\n”,a);}练习讲解4123.设j为int型变量,则下面for循环语句的执行结果是()。for(j=10;j>3;j--){if(j%3)j--;--j;--j;}printf(“%d”,j);练习讲解324.有以下程序main(){intx,i;for(i=1;i<=50;i++){x=i;if(x%2==0)if(x%3==0)if(x%7==0)printf(“%d”,i);}}输出结果是()。A.28B.27C.42D.41练习讲解C12326.有以下程序段,且变量已正确定义和赋值。for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf(“s=%f\n\n”,s);请填空,使下面程序段的功能与之完全相同s=1.0;k=1;while(

【1】

){s=s+1.0/(k*(k+1));

【2】;}printf(“s=%f\n\n”,s);练习讲解k<=nk++或k=k+1求s=?27.以下程序的输出结果是()。main(){ints,i;for(s=0,i=1;i<3;i++,s+=i);printf(“%d\n”,s);}练习讲解529.有以下程序:main(){intx,y=0;for(x=1;x<=20;x++)if(x%2&&x%3)y=y+x;printf(“%d\n”,y);}执行后输出结果是

。7332.有以下程序:#include<stdio.h>voidmain(){intx=4,y;do{y=x;if(!y)printf(“x”);elseprintf(“y”);x--;}while(x);}程序的输出结果是()。练习讲解yyyy33.有以下程序的输出结果是

。#include<stdio.h>main(){inti;for(i=’a’;i<’f’;i++,i++)printf(“%c”,i-‘a’+’A’);printf(“\n”);}练习讲解ACE35.有以下程序:#include<stdio.h>main(){inta=1,b=2;for(;a<8;a++){b+=a;a+=2;}printf(“%d,%d\n”,a,b);}程序运行后的输出结果是()。A、9,18B、8,11C、7,11D、10,14练习讲解D有以下程序main(){chars[]={“aeiou”},*ps;ps=s;printf(“%c\n”,*ps+4);}程序运行后输出的结果是A)aB)eC)uD)

元素s[4]的地址二级真题B有以下程序

main()

{chars[]="159",*p;

p=s;

printf("%c",*p++);printf("%c",*p++);

}

程序运行后的输出结果是______。

A)15B)16C)12D)59

A二级真题逆序打印字符串算法分析:(定义p、q两指针)设p指向串首;令q指向串尾;打印字符*q,并将q前移;重复3,直到q指向串首。字符串指针变量应用voidmain(){char*q,*p=“Language”;for(q=p;*q!=‘\0’;)q++;

for(q--;q>=p;q--)putchar(*q);putchar(“\n”);}//intn=strlen(p);q=p+n;已知:字符串指针变量p(作参数)结果:是(1)或否(0)(返回值)算法分析:定义指针q,令q指向最后一个字符;若*p==*q,则两指针向里靠拢,直到p>=q,则return1,否则return0。编写一个函数判断一个字符串是否回文(顺读或逆读相同)编写一个函数判断一个字符串是否回文(顺读或逆读相同)intishuiwen(char*p){char*q=p;while(*q!=‘\0’)q++;q--;while(p<q)

if(*p==*q){p++;q--;}elsereturn0;return1;}intishuiwen(char*p){char*q=p;while(*q)q++;q--;while(p<q)

if(*p++!=*q--)return0;return1;}若*p==*q,则两指针向里靠拢,直到p>=q,则return1,否则return0。编写一个函数将一维数组倒置存放函数定义:voidinverse(inta[],intn)

或voidinverse(int*p,intn)算法分析:设置两个指针p、q;令p指向数组的开始,q指向结束;交换两单元的内容;两指针向中间靠拢;重复3、4,直到p>=q。#include<stdio.h>voidinverse(int*p,intn){int*q,t;

q=p+n-1;while(p<q){t=*p;*p=*q;*q=t;p++;q--;}}voidmain(){inta[]={1,3,5,7,9};int*p,k;inverse(a,5);for(p=a,k=0;k<5;k++)printf(“%4d”,*p++);}编写一个函数将一维数组倒置存放函数定义:voidinverse(inta[],intn)

或voidinverse

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论