经典C语言编程100例.pdf

上传人:奔*** 文档编号:89812830 上传时间:2023-05-13 格式:PDF 页数:84 大小:6.18MB
返回 下载 相关 举报
经典C语言编程100例.pdf_第1页
第1页 / 共84页
经典C语言编程100例.pdf_第2页
第2页 / 共84页
点击查看更多>>
资源描述

《经典C语言编程100例.pdf》由会员分享,可在线阅读,更多相关《经典C语言编程100例.pdf(84页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C语言编程经典1 0 0例A:【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。2 .程序源代码:m a i n()(i n t i,j,k;p r i n t f(n );fo r(i =l;i 5;i+)/*以下为三重循环*/fo r(j=l;j 5;j+)fo r (k=l;k 5;k+)(i f(i!=k&i!=j&j!=k)/*确保 i、j、k 三位互不相同*/p r i n t f(u%d,%d,%d n ,i,j,k);)【程序2】题目:

2、企业发放的奖金根据利润提成。利润低于或等于1 0万元时,奖金可提1 0%;利润高于1 0万元,低于2 0万元时,低于1 0万元的部分按1 0%提成,高于1 0万元的部分,可可提成7.5机2 0万到4 0万之间时,高于2 0万元的部分,可提成5%;4 0万到6 0万之间时高于4 0万元的部分,可提成3乳6 0万到1 0 0万之间时,高于6 0万元的部分,可提成1.5%,高于1 0 0万元时,超过1 0 0万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。2 .程序源代码:m a i n()(l o n g i n

3、t i;i n t bo n u s l,bo n u s 2,bo n u s 4,bo n u s 6,bo n u s l O,bo n u s;s ca n f(%l d ,&i);bo n u s 1=1 0 0 0 0 0*0.1;bo n u s 2=bo n u s l+1 0 0 0 0 0*0.7 5;bo n u s 4=bo n u s 2+2 0 0 0 0 0*0.5;bo n u s 6=bo n u s 4+2 0 0 0 0 0*0.3;bo n u s 1 0=bo n u s 6+4 0 0 0 0 0*0.1 5;i f(i =1 0 0 0 0 0)b

4、o n u s=i*0.1;e l s e i f(i (=2 0 0 0 0 0)bo n u s=bo n u s l+(i-1 0 0 0 0 0)*0.0 7 5;e l s e i f(i (=4 0 0 0 0 0)bo n u s=bo n u s 2+(i-2 0 0 0 0 0)*0.0 5;e l s e i f(i (=6 0 0 0 0 0)bo n u s=bo n u s 4+(i-4 0 0 0 0 0)*0.0 3;e l s e i f(i =1 0 0 0 0 0 0)bo n u s=bo n u s 6+(i-6 0 0 0 0 0)*0.0 1 5;e

5、 l s ebo n u s=bo n u s 1 0+(1-1 0 0 0 0 0 0)*0.0 1;p r i n t f(bo n u s=%d ,bo n u s);)【程 序3】题目:一个整数,它 加 上1 0 0后是一个完全平方数,再加上1 6 8又是一个完全平方数,请问该数是多少?1.程序分析:在1 0万以内判断,先将该数加上1 0 0后再开方,再将该数加上2 6 8后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:2 .程序源代码:#i n cl u d e m a t h,h”m a i n ()l o n g i n t i,x,y,z;fo r (i=l;i

6、 1 0 0 0 0 0;i+)x=s q r t(i+1 0 0);/*x为加上1 0 0后开方后的结果*/y=s q r t(i+2 6 8);/*y为再加上1 6 8后开方后的结果*/i f(x*x=i+1 0 0&y*y=i+2 6 8)/*如果一一个数的平方根的平方等于该数,这说明此数是完全平方数*/p r i n t f(un%l d n ,i);)【程 序4】题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。2 .程序源代码:m a i n ()

7、i n t d a y,m o n t h,y e a r,s u m,l e a p;printf(unplease input year,month,dayn);scanf(a%d,%d,%d&year,&month,&day);switch(month)/*先计算某月以前月份的总天数*/(case 1:sum=0;break;case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum

8、=212;break;case 9:sum=243;break;case 10:sum=273;break;case 11:sum=304;break;case 12:sum=334;break;default:printf(udata error a);break;)sum=sum+day;/*再加上某天的天数*/if(year%400=0|(year%4二 二 0&丫 0%100!=0)/*判断是不是闰年*/leap=l;elseleap=0;if(leap=l&month)2)/*如果是闰年且月份大于2,总天数应该加一天*/sum+;printf(uIt is the%dth day.a

9、,sum);【程 序 5】题目:输入三个整数x,y,z,请把这三个数由小到大输出。1.程序分析:我们想办法把最小的数放到x 上,先 将 x 与 y 进行比较,如 果 Xy 则将x 与 y 的值进行交换,然后再用x 与 z 进行比较,如 果 xz 则 将 x 与 z 的值进行交换,这样能使x 最小。2.程序源代码:main()(int x,y,z,t;scanf(%d%d%d,&x,&y,&z);if(x)y)t=x;x=y;y=t;/*交换 x,y 的值*/if(x)z)t=z;Z=X;X=t;/*交换 X,z 的值*/if(y)z)t=y;y=z;z=t;/*交换 z,y 的值*/p r i

10、 n t f(u s m a l l t o bi g:%d%d%d n ”,x,y,z);)【程序6】题目:用*号输出字母C的图案。1.程序分析:可先用*号在纸上写出字母C,再分行输出。2.程序源代码:#i nc lu d e s t d io.h ma in()(p r int f(uH e llo C-w o r ld!n);p r int f(*n );p r int f(“*n);p r int f (“*n);p r int f(a*n );)【程序7】题目:输出特殊图案,请在c环境中运行,看一看,V e r y B e a u t if u l!1.程序分析:字符共有2 5 6个

11、。不同字符,图形不一样。2.程序源代码:#i nc lu d e s t d io.h ma in()(c h a r a=176,b=219;p r int f (%c%c%c%c%c n”,b,a,a,a,b);p r int f (r t%c%c%c%c%c n,a,b,a,b,a);p r int f (%c%c%c%c%c n,a,a,b,a,a);p r int f (r t%c%c%c%c%c n,a,b,a,b,a);p r int f (a%c%c%c%c%c n”,b,a,a,a,b);)【程序8】题目:输出9*9 口诀。1.程序分析:分行与列考虑,共9行9列,i控制行,j

12、控制列。2.程序源代码:#i nc lu d e s t d io.h ma in()(int i,j,r e s u lt;p r int f (n);f o r (i=l;i(10;i+)f o r(j=l;j 10;j+)r e s u lt=i*j;p r int f (%d*%d=%-3d ,i,j,r e s u lt);/*-3d 表示左对齐,占 3 位*/)p r int f (“n);/*每一行后换行*/)【程序9】题目:要求输出国际象棋棋盘。1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。2.程序源代码:#i nc lu d e u

13、s t d io.h ma in()(int i,j;f o r(i=0;i 8;i+)(f o r(j=0;j 8;j+)if(i+j)%2=0)p r int f (r t%c%c “,219,219);e ls ep r int “);p r int f(“n);【程序10题目:打印楼梯,同时在楼梯上方打印两个笑脸。1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。2.程序源代码:#i nc lu d e s t d io.h ma in()(int i,j;p r int f(lln);/*输出两个笑脸*/f o r (i=l;i 11;i+)(f o r(j

14、=l;j=i;j+)p r int f (“枇枇“,219,219);p r int “n);【程 序11题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.2.程序源代码:ma in()(lo ng f l,f 2;int i;f l=f 2=l;f o r(i=l;i=20;i+)p r int f(“%121d%121dif(i%2=0)p r int f(“n );/*控制输出,每行四个*/f l=f l+f 2;/*前两个月

15、加起来赋值给第三个月*/f 2=f l+f 2;/*前两个月加起来赋值给第三个月*/【程 序12题目:判 断101-200之间有多少个素数,并输出所有素数。1.程序分析:判断素数的方法:用一个数分别去除2到s q r t (这个数),如果能被整除,则表明此数不是素数,反之是素数。2.程序源代码:#i nc lu d e ma t h,hma in()int m,i,k,h=0,le a p=l;p r int f(n);f o r(m=101;m(=200;m+)k=s q r t(m+1);f o r(i=2;i=k;i+)if(m%i=0)le a p=0;b r e a k;if (le

16、 a p)p r int f (%-4d ”,m);h+;if (h%10=0)p r int f(“n );p r int f(anT h e t o t a l is%d ”,h);【程序13题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5 的三次方+3 的三次方。1.程序分析:利用f o r 循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码:ma in()(int i,j,k,n;p r int f(w a t e r f lo w e r nu mb e r

17、is:);f o r(n=100;n 1000;n+)(i=n/100;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出个位*/if(i*100+j*10+k=i*i*i+j*j*j+k*k*k)p r int f(“强-5d ,n);)p r int f(n);【程序14题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对 n 进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。如果n k,但 n能被k 整除,则应打印出k的值,并用n除以k的商,

18、作为新的正整数你n,重复执行第一步。(3)如果n 不能被k 整除,则用k+1作为k的值,重复执行第一步。2.程序源代码:/*zh e n g i n t i s d i v i d e d yi n s h u*/m a i n()(i n t n,i;p ri n t f(un p l e a s e i n p ut a n um b e r:n );s c a n f(%d ,&n);p ri n t f (%d=,n);f o r(i=2;i =n;i+)(w h i l e(n!=i)(i f(n%i=O)p ri n t f(“%d*“,i);n=n/i;)e l s eb re

19、a k;)p ri n t f(%d ,n);【程序15 题目:利用条件运算符的嵌套来完成此题:学习成绩)=9 0分的同学用A表示,6 0-8 9分之间的用B表示,6 0分以下的用C表示。1.程序分析:(ab)?a:b这是条件运算符的基本例子。2.程序源代码:m a i n()(i n t s c o re;c h a r g ra d e;p ri n t f(p l e a s e i n p ut a s c o re n );s c a n f(u%d u,&s c o re);g ra d e=s c o re)=9 0?A :(s c o re)=6 0?B :C );p ri n

20、 t f(u%d b e l o n g s t o%c u,s c o re,g ra d e);)【程序16 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。1.程序分析:利用辗除法。2.程序源代码:m a i n ()i n t a,b,n um l,n um 2,t e m p;p ri n t f(p l e a s e i n p ut t w o n um b e rs:n );s c a n f (/d,%d ”,&n um l,&n um 2);i f(n um l t e m p=n um l;n um l=n um 2;n um 2=t e m p;)a=n um

21、 l;b=n um 2;w h i l e(b!=0)/*利用辗除法,直到b为0为止*/(t e m p=a%b;a=b;b=t e m p;)p ri n t f(g o n g yue s h u:%d n ”,a);p ri n t f(g o n g b e i s h u:%d n ”,n um l*n um 2/a);)【程 序17 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。L程序分析:利 用w h i l e语句,条件为输入的字符不为n .2.程序源代码:#i n c l ud e “s t d i o.h m a i n()c h a r c;i

22、n t l e t t e rs=0,s p a c e=0,d i g i t=0,o t h e rs=0;p ri n t f(p l e a s e i n p ut s o m e c h a ra c t e rs n );w h i l e(c=g e t c h a r()!=,n )(i f(c)=a&c=z|c=A&c 仁 V )l e t t e rs+;e l s e i f(c=,)s p a c e+;e l s e i f(c)=O&c 二9 )d i g i t+;e l s eo t h e rs+;)p ri n t f(a l l i n a l l:c

23、h a r=%d s p a c e=%d d i g i t=%d o t h e rs=%d n u,l e t t e rs,s p a c e,d i g i t,o t h e rs);)【程 序18 题 目:求s=a+a a+a a a+a a a a+a a.a的值,其 中a是一个数字。例如2+22+222+2222+22222(此时共 有5个数相加),几个数相加有键盘控制。1.程序分析:关键是计算出每一项的值。2.程序源代码:m a i n ()i n t a,n,c o un t=l;l o n g i n t s n=0,t n=0;p ri n t f(p l e a s

24、 e i n p ut a a n d n n );s c a n f(u%d,%d ,&a,&n);p ri n t f (a=%d,n=%d n a,n);w h i l e(c o un t (=n)(t n=t n+a;s n=s n+t n;a=a*10;+c o un t;)p ri n t f(a+a a+.=%l d n ,s n);)【程 序 19 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例 如 6=1+2+3.编程找 出 1000以内的所有完数。1.程序分析:请 参 照 程 序 一上页程序14.2.程序源代码:m a i n()s t a t i c i

25、 n t k 10;i n t i,j,n,s;f o r(j=2;j (1000J+)(n=-l;s=j;f o r(i=l;i i f(j%i)=O)n+;s=s-i;k n =i;)i f(s=0)(p ri n t f(%d i s a w a n s h u”,j);f o r(i=0;i p ri n t f(%d,k i );p ri n t f(u%d n ,k n );【程序20题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10次落地时,共经过多少米?第 10次反弹多高?1.程序分析:见下面注释2.程序源代码:m a i n()(f l o

26、 a t s n=100.0,h n=s n/2;i n t n;f o r(n=2;n (=10;n+)(s n=s n+2*h n;/*第n次落地时共经过的米数*/h n=h n/2;/*第 n次反跳高度*/p ri n t f(t h e t o t a l o f ro a d i s%f n u,s n);p ri n t f(t h e t e n t h i s%f m e t e rn ,h n);)【程序21题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。

27、到第1 0 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。1 .程序分析:采取逆向思维的方法,从后往前推断。2 .程序源代码:m a i n ()(i n t d a y,x l,x 2;d a y=9;x 2=l;w h i l e(d a y)0)x l =(x 2+l)*2;/*第一天的桃子数是第2 天桃子数加1 后的2倍*/x 2=x l;d a y 一;)pri n t f(rtt h e t ot a l i s%d n u,x l);)【程序2 2 题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c 三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛

28、的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。2.程序源代码:main()(char i,j,k;/*i是a的对手,j是b的对手,k是c的对手*/for(i=,x;i =z;i+)for(j=x;j =z;j+)(if(i!=j)for(k=,x;k 仁 z;k+)if(i!=k&j!=k)if(i!=,x&k!=x&k!=z,)printf(order is a-%ctb%ctc一%cn”,i,j,k);)【程 序23题目:打印出如下图案(菱形)*1.

29、程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。2.程序源代码:main()(int i,j,k;for(i=0;i=3;i+)for(j=0;j=2-i;j+)pri n t f();f or(k=0;k=2*i;k+)pri n t f(“*“);pri n t f(K n );)f or(i=0;i =2;i+)(f or(j=0;j =i;j+)pri n t f(“);f or(k=0;k (=4-2*i;k+)pri n t f(“*“);pri n t f(n );)【程序2 4 题目:有一分数序列:2/1,3/

30、2,5/3,8/5,1 3/8,2 1/1 3.求出这个数列的前2 0项之和。1.程序分析:请抓住分子与分母的变化规律。2 .程序源代码:m a i n()(i n t n,t,n u m b e r=2 0;f l oa t a=2,b=l,s=0;f or(n=l;n=n u m b e r;n+)(s=s+a/b;t=a;a=a+b;b=t;/*这部分是程序的关键,请读者猜猜t的作用*/)pri n t f (s u m i s%9.6 f n ,s);【程序2 5 题目:求 l+2!+3!+.+2 0!的和1.程序分析:此程序只是把累加变成了累乘。2 .程序源代码:m a i n ()

31、(f l oa t n,s=0,t=l;f or(n=l;n (=2 0;n+)(t*=n;s+=t;pri n t f(4 l+2!+3!.+2 0!=%e n ,s);)【程序2 6 题目:利用递归方法求5!。1.程序分析:递归公式:f n=f n _ l*4!2 .程序源代码:#i n c l u d e s t d i o.h m a i n()(i n t i;i n t f a c t ();f or(i=0;i (5;i+)pri n t f (4 0:%d!=%d n ”,i,f a c t (i);)i n t f a c t(j)i n t j;i n t s u m;i

32、f(j=0)s u m=l;e l s es u m=j*f a c t(j-1);re t u rn s u m;)【程序2 7题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。1.程序分析:2 .程序源代码:#i n c l u d e “s t d i o.h m a i n()(i n t i=5;v oi d pa l i n(i n t n);pri n t f(4 0:);pa l i n(i);pri n t f(n );)v oi d pa l i n(n)i n t n;(c h a r n e x t;i f (n =1)n e x t=g e t c

33、h a r();pri n t f(“n 0:“);pu t c h a r(n e x t);)e l s e(n e x t=g e t c h a r();pa l i n(n-l);pu t c h a r(n e x t);)【程 序2 8 题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他 说 是1 0岁。请问第五个人多大?1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第 一 人(1

34、 0岁),再往回推。2.程序源代码:a g e(n)i n t n;(i n t c;i f(n=l)c=1 0;e l s e c=a g e(n-l)+2;re t u rn(c);)m a i n ()pri n t f(%d u,a g e(5);)【程 序2 9 题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。1 .程序分析:学会分解出每一位数,如下解释:(这里是一种简单的算法,师专数0 0 2班赵鑫提供)2.程序源代码:m a i n()l o n g a,b,c,d,e,x;s c a n f(%l d ,&x);a=x/1 0 0 0 0;/*分

35、解出万位*/b=x%1 0 0 0 0/1 0 0 0;/*分解出千位*/c=x%l 0 0 0/1 0 0;/*分解出百位*/d=x%1 0 0/1 0;/*分解出十位*/e=x%1 0;/*分解出个位*/i f (a!=0)p r i n t f(a t h e r e a r e 5,%l d%l d%l d%l d%l d n ”,e,d,c,b,a);e l s e i f (b!=0)p r i n t f(wt h e r e a r e 4,%l d%l d%l d%l d n ”,e,d,c,b);e l s e i f (c!=0)p r i n t f(t h e r e

36、 a r e 3,%l d%l d%l d n u,e,d,c):e l s e i f (d!=0)p r i n t f(Kt h e r e a r e 2,%l d%l d n ”,e,d);e l s e i f (e!=0)p r i n t f (a t h e r e a r e 1,%l d n ,e);【程 序 3 0 题目:一 个 5位数,判断它是不是回文数。即 1 23 21 是回文数,个位与万位相同,十位与千位相同。1 .程序分析:同 29例2.程序源代码:ma i n()(l o n g g e,s h i,q i a n,w a n,x;s c a n f(%l

37、d ,&x);w a n=x/1 0 0 0 0;q i a n=x%l 0 0 0 0/1 0 0 0;s h i=x%1 0 0/1 0;g e=x%1 0;i f (g e=w a n&s h i=q i a n)/*个位等于万位并且十位等于千位*/p r i n t f(t h i s n u mb e r i s a h u i w e n n );e l s ep r i n t f(t h i s n u mb e r i s n o t a h u i w e n n );)【程 序 3 1 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个

38、字母。1 .程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或i f 语句判断第二个字母。2.程序源代码:#i n c l u d e (s t d i o.h)v o i d ma i n()c h a r l e t t e r;p r i n t f(p l e a s e i n p u t t h e f i r s t l e t t e r o f s o me d a y n );w h i l e (l e t t e r=g e t c h()!=Y )/*当所按字母为 Y 时才结束*/s w i t c h (l e t t e r)c a s e S :

39、p r i n t f(p l e a s e i n p u t s e c o n d l e t t e r n );i f (l e t t e r=g e t c h()=,a)p r i n t f(aSa t u r d a y n );e l s e i f (l e t t e r=g e t c h()=,u,)p r i n t f(a s u n d a y n );e l s e p r i n t f(ud a t a e r r o r n );b r e a k;c a s e F :p r i n t f(r tf r i d a y n u);b r e a

40、 k;c a s e M :p r i n t f (umo n d a y n );b r e a k;c a s e T :p r i n t f(p l e a s e i n p u t s e c o n d l e t t e r n );i f (l e t t e r=g e t c h()=?u,)p r i n t f(t u e s d a y n );e l s e i f (l e t t e r=g e t c h()=,h)p r i n t f(Ut h u r s d a y n );e l s e p r i n t f(ud a t a e r r o r

41、 n );b r e a k;c a s e 旷:p r i n t f(uw e d n e s d a y n u);b r e a k;d e f a u l t:p r i n t f(d a t a e r r o r n );)【程 序 3 2题目:P r e s s a n y ke y t o c h a n g e c o l o r,d o y o u w a n t t o t r y i t.P l e a s e h u r r yu p!1 .程序分析:2.程序源代码:#i n c l u d e (c o n i o.h)v o i d ma i n(v o i

42、d)(i n t c o l o r;f o r (c o l o r =0;c o l o r 8;c o l o r+)(t e x t b a c kg r o u n d (c o l o r);/*设置文本的背景颜色*/c p r i n t f (Th i s i s c o l o r%d r n ”,c o l o r);c p r i n t f(P r e s s a n y ke y t o c o n t i n u e r n );g e t c h O ;/*输入字符看不见*/)【程 序 3 3 题目:学 习 g o t o x y ()与 c l r s c r(

43、)函数1 .程序分析:2.程序源代码:#i n c l u d e (c o n i o.h)v o i d ma i n(v o i d)(c l r s c r ();/*清屏函数*/t e x t b a c kg r o u n d(2);g o t o x y(1,5);/*定位函数*/c p r i n t f (O u t p u t a t r o w 5 c o l u mn l n );t e x t b a c kg r o u n d(3);g o t o x y (20,1 0);c p r i n t f(O u t p u t a t r o w 1 0 c o

44、l u mn 20 n );)【程 序3 4 题目:练习函数调用1 .程序分析:2.程序源代码:#i n c l u d e (s t d i o.h)v o i d h e l l o _w o r 1 d(v o i d)(p r i n t f(uHe l l o,w o r l d!n );)v o i d t h r e e _h e l l o s(v o i d)(i n t c o u n t e r;f o r (c o u n t e r =1;c o u n t e r =3;c o u n t e r+)h e l l o _w o r l d ();/*调用此函数*/

45、)v o i d ma i n(v o i d)(t h r e e h e l l o s();/*调用此函数*/【程 序3 5 题目:文本颜色设置1.程序分析:2.程序源代码:#i n c l u d e (c o n i o.h)v o i d ma i n(v o i d)i n t c o l o r;f o r (c o l o r =1;c o l o r 1 6;c o l o r+)t e x t c o l o r (c o l o r);/*设置文本颜色*/c p r i n t f (Th i s i s c o l o r%d r n ”,c o l o r);)t

46、e x t c o l o r(1 28+1 5);c p r i n t f(Th i s i s b l i n ki n g r n );【程 序 3 6题目:求 1 0 0 之内的素数1 .程序分析:2.程序源代码:#i n c l u d e (s t d i o.h)#i n c l u d e ma t h,h d e f i n e N 1 0 1ma i n()i n t i,j,l i n e,a N;f o r(i=2;i N;i+)a i =i;f o r(i=2;i s q r t(N);i+)f o r (j=i+l;j N;j+)(i f (a i!=0&a j!

47、=0)i f (a j%a i=0)a j=0;p r i n t f(n );f o r(i=2,l i n e=0;i N;i+)(i f (a i !=0)p r i n t f(%5 d u,a i);1 i n e+;i f (l i n e=1 0)p r i n t f(an);l i n e=0;)【程 序 3 7题目:对 1 0 个数进行排序1 .程序分析:可以利用选择法,即从后9 个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8 个进行比较,并进行交换。2.程序源代码:d e f i n e N 1 0ma i n()i n t i,j,mi n

48、,t e m,a N;/*i n p u t d a t a*/p r i n t f(p l e a s e i n p u t t e n n u m:n );f o r(i=O;i N;i+)(p r i n t f (ua%d=,i);s c a n f(u%d&a i);p r i n t f(n );f o r(i=0;i N;i+)p r i n t f(%5 d ,a i);p r i n t f(n );As o r t t e n n u m*/f o r (i=0;i N T ;i+)mi n=i;f o r(j=i+l;j N;j+)i f(a mi n)a j)mi

49、n=j;t e m=a i;a i=a mi n;a mi n=t e m;)/*o u t p u t d a t a*/p r i n t f(uAf t e r s o r t e d n );f o r(i=0;i N;i+)p r i n t f(u%5 d【程 序 3 8题目:求一个3*3 矩阵对角线元素之和1 .程序分析:利用双重f o r 循环控制输入二维数组,再 将 累 加 后 输 出。2.程序源代码:ma i n()(f l o a t a 3 3,s u m=0;i n t i,j;p r i n t f(p l e a s e i n p u t r e c t a n

50、 g l e e l e me n t:n );f o r(i=0;i 3;i+)f o r (j=0;j 3;j+)s c a n f (f ”,&a i j);f o r(i=0;i 3;i+)s u m=s u m+a i i;p r i n t f(d u i j i a o x i a n h e i s%6.2f s u m);【程 序3 9题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。1 .程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。2.程序源代码:ma i n()(i n t a

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com