《C语言复习(好).pdf》由会员分享,可在线阅读,更多相关《C语言复习(好).pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、程序设计语言 C 复习第 1 页 共 19 页第一章 C 语言概述程序设计题:1编写一个 C 程序,输入 a、b、c 三个数,输出其中最大者。#niclude”stdio.h”Void main()int a,b,c;Scanf(“%d%d%d”,&a,&b,&c);if(ab)&(ac)printf(“%d”,a);elsa if(ba)&(bc)printf(“%d”,b);else if(cb)&(ca)printf(“%d”,c);else printf(“error”);第二章 算法用 NS图表示下列问题:1有两个瓶子 A 和 B,分别盛放醋和酱油,要求将它们互换。#include“
2、stdio.h”void main()inta,b,temp;scanf(“%d%d”,&a,&b);temp=a;a=b;b=temp;printf(“%d%d”,a,b);程序设计语言 C 复习第 2 页 共 19 页2依次将 10 个数输入,要求将其中最大的数打印出来。#include“stdio.h”void main()int I;int a10,max;for(i=0;i10;i+)scanf(“%d”,ai);max=a0;for(i=1;i10;i+)if(maxai)max=ai;printf(“%d”,max);3有 3 个数 a、b、c,要求按从大到小的顺序把它们打印出来
3、。#include“stdio.h”void main()int a3,temp,i,j;for(i=0;i3;i+)scanf(“%d”,ai);for(i=1;i3;i+)for(j=0;j2;j+)if(ajaj+1)temp=aj;aj=aj+1;aj+1=aj;4求 1+2+3+,+100。程序设计语言 C 复习第 3 页 共 19 页#include“stdio.h”void main()int i,sum;for(i=1;i=100;i+)sum+=i;printf(“%d”,sum);5判断一个数 n 能否同时被 3 和 5 除。#include“stdio.h”void ma
4、in()int n;scanf(“%d”,&n);if(n%3=0)&(n%5=0)printf(“%d”,n);6将 100200 之间的素数打印出来。#include“stdio.h”#include“math.h”void main()int i,k;for(i=101;i200;i+=2)k=sqrt(i);for(j=2;jk;j+)if(i%j=0)break;printf(“%d”,i);7求两个整数 m 和 n 的最大公约数。程序设计语言 C 复习第 4 页 共 19 页#include“stdio.h”void main()int n,m,r;scanf(“%n%m”,&n,
5、&m);while(r!=0)r=n%m;n=m;m=r;printf(“%d”,m);8求方程ax2+bx+c=0 的根;分别考虑有两个不等的实根和有两个相等的实根的情况。#include#include Void main()float a,b,c,x1,x2,m;scanf(“%f%f%f”,&a,&b,&c);if(a=b=c=0)printf(“any value”);else if(a=0)&(b!=0)printf(“x1=x2=%f”,-c/b);else m=b*b-4*a*c;if(m=0)x1=(-b+sprt(m)/(2*a);x2=(-b-sprt(m)/(2*a);
6、printf(“x1=%fn”,x1);printf(“x2=%fn”,x2);第三章 数据类型、运算符与表达式程序设计语言 C 复习第 5 页 共 19 页第四章 顺序程序设计程序设计题:2编写程序,输入两个整数1500 和 350,求出它们的商和余数并进行输出。#includde“stdio.h”Viod main()int a,b,x,y;scanf(“%d%d”,&a,&b);x=a/b;y=a%b;printf(“%d%d”,x,y);3编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果。void main()doub
7、le a,b,c,aver;Int m,s;scanf(“%df%df%df”,&a,&b,&c);aver=(a+b+c)/3;m=sizeof(aver);s=(int)(aver*1000);if(s%10050)printf(“%(m-5)f”,aver+0.1);程序设计语言 C 复习第 6 页 共 19 页4输入一个华氏温度,要求输出摄氏温度。公式为:c=5(f-32)/9。#include“stdio.h”Void main()int f,c;scanf(“%d”f);c=5*(f-32)/9;printf(“%d”,c);第五章 选择结构程序设计程序设计题:1从键盘输入一个字母
8、,若是大写字母,要求改用小写字母输出。#include main()char c1,c2;c=getchar();c2=c1+32;putchar(c2);2求 ax2+bx+c=0 的根。a、b、c 由键盘输入,设 b2-4ac=0.#incldue main()int a,b,c;程序设计语言 C 复习第 7 页 共 19 页int x,y;scanf(“%d%d%d”,&a,&b,&c);if(b*b-4ac=0)x=-b/a;y=c/a;printf(“%d%d”,x,y);第六章 循环控制程序设计题:1编写程序,求 1-3+5-7+,-99+101 的值。#include main(
9、)int i,b;int s=0,n=0;for(i=1;i102;i=+2)k=i*(-1)n;n+;s+=k;printf(“%d”,s);程序设计语言 C 复习第 8 页 共 19 页 2求 1+2+3+,+100的值。#include main()int i;Int s=0;for(i=1;i101;i+)s+=i;print(“%d”,s)3把 100200 之间的不能被 3 整除的数输出。#include”stdio.h”main()int i;for(i=100;i201,i+)if(i%3!=0)程序设计语言 C 复习第 9 页 共 19 页print(“%d”,i)4求 Fi
10、bonacci 数列前 40 个数。#include”stdio.h”main()int fn;int f1=0,f2=1;fn=f1+fn;while(fn=40)f1=f2;f2=fn;fn=f1+f2;print(“%d”,fn)5打印 1000以内的所有素数。#include”stdio.h”main()int I,half;程序设计语言 C 复习第 10 页 共 19 页int j;for(i=0;i1001;i+)half=i/2;for(j=2;jhalf)k=i;print(“%d”,k)第七章 数组程序设计题:1编写程序打印九九乘法表。#include void main()
11、int x=1,y=1;while(x=9)程序设计语言 C 复习第 11 页 共 19 页 y=1;while(y=x)printf(%d*%d=%dt,y,x,x*y);y+;printf(n);x+;2用随机函数产生20 个 100 以内的整数,用选择法对它们排序。#include int main()int i80,a=0,b=0,temp,k;for(a=20;a101;a+)程序设计语言 C 复习第 12 页 共 19 页for(a=0;a9;a+)k=a;for(b=a+1;bik)k=b;if(k!=a)temp=ia;ia=ik;ik=temp;printf(从小到大排序:)
12、;for(a=0;a10;a+)printf(%dt,ia);printf(n);3用随机函数产生50 个 200 以内的整数,用冒泡法对它们排序。#include”stdio.h”程序设计语言 C 复习第 13 页 共 19 页Main()int i,j;for(int j=0;jaj+1)temp=aj;aj=aj+1;aj+1=temp;printf(“%d”,max);4打印杨辉三角形的前10 行。#include Void main()Int I,j;For(i=0;i10;i+)ai0=1;aii=1;for(i=2;i10;i+)for(j=1;ji:j+)aij=ai-1j+a
13、i-1j-1;程序设计语言 C 复习第 14 页 共 19 页for(i=0;i10:i+)for(j=0;j=I;j+)printf(“%d”,aij);printf(”n”)5有一篇文章,共有 3 行文字,每行有 80 个字符。要求统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。#include int main()int i,j,upp,low,dig,spa,oth;char text380;upp=low=dig=spa=oth=0;for(i=0;i3;i+)printf(please input line%d:n,i+1);gets(texti);for(j=0;
14、j=A&textij=a&textij=0&textij=9)dig+;else if(textij=)spa+;else oth+;printf(nupper case:%dn,upp);printf(lower case:%dn,low);printf(digit:%dn,dig);printf(space:%dn,spa);printf(other:%dn,oth);return 0;6输入一行数字字符,请用数组元素作为计数器来统计每个字符的个数。用下标为0 的元素统计字符“1”的个数,下标为1 的元素统计字符“2”的个数,依次类推。程序设计语言 C 复习第 16 页 共 19 页#in
15、clude main()char c,*str;int i,a10;for(i=0;i10;i+)ai=0;/静态数组初始化printf(input a string please:);/提示语句scanf(%s,str);/输入动态数组定义的字符串while(*str)/字符串*str 不为空,循环继续;c=*str;/把从*str 数组中提出的元素赋值给c,用于操作for(i=0;i10;i+)if(i=(int)c-48)/把字符 c 转化为 int 数据与 i 比较0的ASCII 编码为 48,1,2依次为 49,50ai+;/数到某个字符,表示该字符的数组元素加1;*str+;/原字
16、符串数组元素向后一位;for(i=0;i10;i+)printf(nt%dt%d,i,ai);/打印程序设计语言 C 复习第 17 页 共 19 页getch();第八章 函数程序设计题:2用递归法求 n!。#include void main()int n;int f(int i);scanf(%d,&n);printf(%dn,f(n);int f(int i)if(i=0|i=1)return 1;else return i*f(i-1);程序设计语言 C 复习第 18 页 共 19 页 3用递归法求 1+2+,+n。#include int calc(int x)if(x 1)return-1;if(x=1)return 1;else if(x=2)return 3;else return(x+1)*calc(x-1)-x*calc(x-2);程序设计语言 C 复习第 19 页 共 19 页int main(int argc,char*argv)for(int i=1;i=10;i+)printf(=i=%d=n,i);printf(calc=%dnn,calc(i);return 0;