2022年程序编写 .pdf





《2022年程序编写 .pdf》由会员分享,可在线阅读,更多相关《2022年程序编写 .pdf(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 语言程序设计1 C 语言(典型例子和课后习题)第二章C 语言程序基础输入两个数,并互换。#include void main()int a,b,c;printf(input a,bn);scanf(%d%d,&a,&b);c=a;a=b;b=c;printf(a=%d,b=%dn,a,b);输入一个三位数,并反向输出各位数字。#include void main()int m,a,b,c;/*a 表示百位数字,b 表示十位数字,c 表示个位数字*/printf(input mn);scanf(%d,&m);a=m/100;b=(m-a*100)/10;c=m-a*100-b*10;/*c=
2、m%10;b=m/10%10;a=m/100;*/printf(%d,%d,%dn,c,b,a);输入两个圆的半径,分别求出它们的周长和面积。#define PI 3.1415926 main()float r1,r2,len1,len2,s1,s2;r1=10;r2=20;len1=2*PI*r1;s1=PI*r1*r1;printf(len1=%f s1=%fn,len1,s1);len2=2*PI*r2;s2=PI*r2*r2;printf(len2=%f s2=%fn,len2,s2);第三章选择结构P53 1.编写一个程序,从键盘输入三角形三条边的边长,求三角形的面积。#includ
3、e#include void main(void)float a,b,c,s,area;printf(请输入三角形的三边:n);scanf(%f%f%f,&a,&b,&c);if(a+bc&a+cb&b+ca)/*括号里的内容可写为a+bc&fabs(a-b)c*/s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);/*fabs(x)表示 x 的绝对值*/printf(area=%fn,area);else printf(输入数据错误!n);名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 24 页 -C 语言程序设计2 2.输入圆的半径r 和一个整
4、型数k,当 k=1 时,计算圆的面积;当k=2 时,计算圆的周长;当 k=3 时,既要求出圆的周长也要求出圆的面积。编程实现以上功能。#include void main()int k;float r,len,area;scanf(%d%f,&k,&r);if(k=1)area=3.14*r*r;printf(area=%fn,area);else if(k=2)len=2*3.14*r;printf(len=%fn,len);else if(k=3)len=2*3.14*r;area=3.14*r*r;printf(len=%f,area=%fn,len,area);else printf(
5、无结果!n);3.从键盘上输入一个年份,判断该年是否为闰年。闰年的条件是:年份能被4 整除但不能被100 整除,或者能被400 整除。#include void main()int k;printf(输入一个年份:n);scanf(%d,&k);if(k%4=0&k%100!=0|k%400=0)printf(该年是闰年!n);else printf(该年不是闰年!n);4.有一个函数,其函数关系如下,试编程求对应于每个自变量的函数值。#include#include void main(void)float x,y;printf(input xn);scanf(%f,&x);if(x=0&x
6、10)y=-0.5*x+10;else y=x-sqrt(x);printf(y=%fn,y);5.编一个程序,对于给定的一个百分制成绩,输出相应的等级。方法一:#include 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 24 页 -C 语言程序设计3 void main(void)int score;printf(请输入学生成绩:);scanf(%d,&score);if(score=0&score=100)switch(score/10)case 10:case 9:printf(优秀 n);break;case 8:printf(良好 n);break;case 7:
7、printf(中等 n);break;case 6:printf(及格 n);break;default:printf(不及格 n);break;else printf(输入数据错误!n);方法二:#include void main(void)int score;printf(请输入学生成绩:);scanf(%d,&score);if(score=90&score=80&score=70&score=60&score=0&score60)printf(不及格 n);else printf(输入数据错误!n);7.从键盘上随机输入三个英文字母,要求从小到大的顺序输出这三个字母。#include
8、 void main(void)char a,b,c,t;printf(从键盘上随机输入三个英文字母:n);scanf(%c%c%c,&a,&b,&c);if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;if(ab)t=a;a=b;b=t;printf(%c,%c,%cn,a,b,c);/*程序结束后,a 中存的最小的数,c 中存的最大的数*/8.计算一元二次方程ax*x+bx+c=0的根。设方程为:ax*x+bx+c=0,要求从键盘上输入a、名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 24 页 -C 语言程序设计4 b、c 的值求出方程的根。求解规则如
9、下:1)若 a 和 b 的值为 0,方程无解。2)若 a=0,则方程只有一个实根。3)若 b*b-4ac=0,则方程有两个实根。4)若 b*b-4ac0,则方程有两个复根。#include#include void main(void)float a,b,c,dt,x1,x2,realpart,imagpart;scanf(%f%f%f,&a,&b,&c);dt=b*b-4*a*c;if(fabs(a)=1e-6&fabs(b)=1e-6)printf(方程无解!n);else if(fabs(a)=1e-6)printf(%fn,-c/b);else if(fabs(dt)=1e-6)if(
10、dt=1e-6)x1=(-b+sqrt(dt)/(2*a);x2=(-b-sqrt(dt)/(2*a);printf(%f,%fn,x1,x2);else realpart=-b/(2*a);imagpart=fabs(sqrt(dt)/(2*a);printf(%f+%fin,realpart,imagpart);printf(%f-%fin,realpart,imagpart);输入三角形的三边长,判断能不能构成三角形。然后进一步判断它是等边,等腰,还是普通三角形。#include void main(void)float a,b,c;printf(输入三角形的三边:n);scanf(%f
11、%f%f,&a,&b,&c);if(a+bc&b+ca&a+cb)if(a=b&b=c)printf(这是一个等边三角形!n);else if(a=b|b=c|c=a)printf(这是一个等腰三角形!n);else printf(这是一个普通三角形!n);else printf(不能构成三角形!n);从键盘上输入一个字符,判断该字符是数字、大写字母、小写字母还是其他字符。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 24 页 -C 语言程序设计5#include void main(void)char c;printf(请输入一个字符:);c=getchar();if(c=0
12、&c=A&c=a&c=z)printf(是小写字母 n);else printf(是其他字符 n);从键盘输入一串字符,以 n 结束,分别统计出英文字母,空格,数字和其他字符的个数。#include void main()int letter=0,space=0,digital=0,other=0;char ch;printf(输入一串字符:);ch=getchar();while(ch!=n)if(ch=A&ch=a&ch=0&ch=9)digital+;else other+;ch=getchar();printf(letter=%d,space=%d,digital=%d,other=%
13、dn,letter,space,digital,other);输入年份year 和月份 month,求该月的天数。#include void main()int year,month,days=0;printf(输入年份year 和月份 month:);scanf(%d%d,&year,&month);switch(month)case 1:case 3:case 5:case 7:case 8:case 10:case 12:days=31;break;case 4:case 6:case 9:case 11:days=30;break;case 2:if(year%4=0&year%100
14、!=0|year%400=0)days=29;else days=28;break;default:printf(Input error!n);if(days!=0)printf(year=%d,month=%d,days=%dn,year,month,days);计算器程序。输入两个运算数和一个四则运算符,输出计算结果。#include#include void main()名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 24 页 -C 语言程序设计6 float a,b;char c;printf(输入表达式:运算数 运算数 n);scanf(%f%c%f,&a,&c,&b)
15、;switch(c)case+:printf(%fn,a+b);break;case-:printf(%fn,a-b);break;case*:printf(%fn,a*b);break;case/:if(fabs(b)=1e-6)printf(数据错误,除数不能为0!n);else printf(%fn,a/b);default:printf(运算符只能是+-*/!n);第四章循环结构程序设计猴子吃桃子问题:猴子第1 天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第 2 天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10 天早晨想再吃时,
16、只剩下一个桃子了。求第1 天共摘了多少个桃子。#include void main()int x1,x2=1,day=9;while(day0)x1=2*(x2+1);x2=x1;day-;printf(The total is%dn,x1);P88 习题 1.有 1、2、3、4 这 4 个数字,能组成多少个互不相同且无重复数字的三位数?它们都是多少?方法一:#include void main()int x=100,x1,x2,x3,i=0;while(x=1&x1=1&x2=1&x3=4&x1!=x2&x2!=x3&x3!=x1)printf(%-5d,x);i+;/*i 计数*/if(i
17、%4=0)printf(n);x+;printf(i=%-dn,i);方法二:#include void main()名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 24 页 -C 语言程序设计7 int x,i,x1,x2,x3,x4;for(x1=1;x1=4;x1+)for(x2=1;x2=4;x2+)if(x1!=x2)for(x3=1;x3=4;x3+)if(x1!=x3&x2!=x3)x=x1*100+x2*10+x3;i+;printf(%d,x);if(i%5=0)printf(n);2编写程序,求两个整数的最大公约数和最小公倍数。#include void ma
18、in()int k,g,m,n;printf(输入两个整数:n);scanf(%d%d,&m,&n);k=mn?m:n;while(m%k!=0|n%k!=0)k-;printf(最大公约数:%dn,k);g=(m*n)/k;printf(最小公倍数:%dn,g);3.把输入的整数(最多不超过5 位)按输入顺序的相反顺序输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。#include void main()long number;int count=0;printf(输入一个整数(最多不超过5 位):);scanf(%ld,&number);if(number0)nu
19、mber=-number;do printf(%d,number%10);number=number/10;count+;while(number!=0);printf(count=%dn,count);4.求 s=a+aa+aaa+aaaa+a,a 的值,其中a 是一个数字。例如2+22+222+2222+22222(此时共 5 个数相加),几个数相加又键盘控制。#include void main()int s=0,x,n,a,i=0;printf(分别输入a 和 n:);scanf(%d%d,&a,&n);名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 24 页 -C 语言
20、程序设计8 x=a;while(in)s=s+x;x=x*10+a;i+;printf(s=%dn,s);5.一个数如果恰好等于它的因子之和,这个数就成为“完数”,例如 6=1+2+3。编程找出 1000以内的所有完数。#include void main()int n,i,s;for(n=1;n=1000;n+)s=0;/*注意 s=0 的位置*/for(i=1;in;i+)if(n%i=0)s=s+i;if(n=s)printf(%dn,n);7.求 1+2!+3!+,+20!的和。#include void main()int i,n;float jc,s;for(n=1;n=20;n+
21、)for(jc=1,i=1;i=n;i+)jc=jc*i;s=s+jc;printf(s=%fn,s);8.输出 100200 之间的全部素数。#include#include void main()int n,i;for(n=100;n=200;n+)for(i=2;isqrt(n)printf(%-5d,n);9.编写程序,找出1999 之间的全部同构数。同构数是这样一组数,它出现在平方数的右边,例如:5 是 25 的右边的数,25 是 625 的右边的数,5 和 25 都是同构数。#include void main()int k,m,n;for(m=4;m=1&m=10&m=100&m
22、999)k=n%1000;if(k=m)printf(%d,m);10.输入所有大于1000 小于 10000 的四位偶数,且该偶数的各位数字两两不同。#include void main()int i,x1,x2,x3,x4;for(i=1002;i10000;i+=2)x1=i/1000;x2=i/100%10;x3=i/10%10;x4=i%10;if(x1!=x2&x1!=x3&x1!=x4&x2!=x3&x2!=x4&x3!=x4)printf(%-5d,i);13.编写程序,用牛顿迭代法求x*x-a=0 的近似根。要求前后两次求出的x 的差的绝对值小于 0.00001。#inclu
23、de#include void main()float a,x0,x1,f0,f1;printf(input a,x1:);scanf(%f%f,&a,&x1);do x0=x1;f0=x0*x0-a;f1=2*x0;x1=x0-f0/f1;while(fabs(x0-x1)1e-5);printf(x=%fn,x1);6打印出如下图案#include void main()int h=4,k,j,m;for(j=1;j=2*h-1;j+)if(j=h)m=2*j-1;else m=4*h-2*j-1;for(k=1;k=m;k+)printf(*);printf(n);名师资料总结-精品资料
24、欢迎下载-名师精心整理-第 9 页,共 24 页 -C 语言程序设计10 从键盘输入h 的值,输出如下三角形,例号h=4#include void main()int h,k,j;scanf(%d,&h);for(k=1;k=h;k+)for(j=1;j=h-k;j+)printf();for(j=1;j=2*k-1;j+)printf(*);printf(n);从键盘输入h 的值,输出h 行用*号组成的菱形,例输入h=4,输出#include void main()int h,k,j,m,n;printf(input h:);scanf(%d,&h);for(j=1;j=2*h-1;j+)i
25、f(j=h)m=h-j;n=2*j-1;else m=j-h;n=4*h-2*j-1;for(k=1;k=m;k+)printf();for(k=1;k=n;k+)printf(*);printf(n);打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如:153 是一个“水仙花数”,因为153=1 11+5 55+3 33。#include void main()int n,x1,x2,x3;printf(water flower number is:);for(n=100;n=999;n+)x1=n/100;x2=n/10%10;x3=n%10;i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年程序编写 2022 程序 编写

限制150内