📄 经典c程序100例==11--20.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0044)file://D:\777\aaa\经典c程序100例==11--20.htm -->
<!-- saved from url=(0041)http://www.vcok.com/class/list.asp?id=204 --><HTML><HEAD><TITLE>经典c程序100例==11--20</TITLE>
<META content="MSHTML 6.00.2600.0" name=GENERATOR>
<META content="铁岭师专beck&杜博 制作 http://www.vcok.com" name=keywords><LINK
href="经典c程序100例==11--20.files/new.css" rel=stylesheet>
<STYLE>.skin0 {
BORDER-RIGHT: black 2px solid; BORDER-TOP: black 2px solid; VISIBILITY: hidden; BORDER-LEFT: black 2px solid; WIDTH: 130px; CURSOR: default; LINE-HEIGHT: 20px; BORDER-BOTTOM: black 2px solid; FONT-FAMILY: Verdana; POSITION: absolute; BACKGROUND-COLOR: menu; TEXT-ALIGN: left
}
.skin1 {
BORDER-RIGHT: buttonhighlight 2px outset; BORDER-TOP: buttonhighlight 2px outset; FONT-SIZE: 9pt; VISIBILITY: hidden; BORDER-LEFT: buttonhighlight 2px outset; WIDTH: 110px; CURSOR: default; BORDER-BOTTOM: buttonhighlight 2px outset; FONT-FAMILY: 宋体, Arial, Helvetica, sans-serif; POSITION: absolute; BACKGROUND-COLOR: menu; TEXT-ALIGN: left
}
.menuitems {
PADDING-RIGHT: 10px; PADDING-LEFT: 15px
}
</STYLE>
<STYLE type=text/css>TD {
FONT-SIZE: 9pt
}
BODY {
FONT-SIZE: 9pt; COLOR: #000000; LINE-HEIGHT: 150%
}
A:link {
COLOR: #000000; TEXT-DECORATION: none
}
A:visited {
COLOR: #000000; TEXT-DECORATION: none
}
A:active {
COLOR: #000000; TEXT-DECORATION: none
}
A:hover {
COLOR: #ff0000; TEXT-DECORATION: underline
}
</STYLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<SCRIPT language=JavaScript>
<!--
var text=">>>> [ w w w . v c o k . c o m ] <<<< "
var speed2=180
var x=0
function s2b()
{var a=text.substring(0,x)
var b=text.substring(x,x+1).toUpperCase()
var c=text.substring(x+1,text.length)
window.status=a+b+c
if(x==text.length){x=0}
else{x++}setTimeout("s2b()",speed2)}
s2b();
//-->
</SCRIPT>
<STYLE type=text/css>A.link-a:hover {
COLOR: #f7f3f7; TEXT-DECORATION: none
}
A.link-a:visited {
COLOR: #ffffff; TEXT-DECORATION: none
}
A.link-a:link {
COLOR: #ffffff; TEXT-DECORATION: none
}
</STYLE>
<META content="Microsoft FrontPage 5.0" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff leftMargin=0
background=经典c程序100例==11--20.files/bg.gif topMargin=0
onload="MM_preloadImages('images/print2.png','images/save2.png','images/re_write2.gif','images/home2.png')">
<P align=left> </P>
<DIV align=center>
<CENTER>
<TABLE id=AutoNumber1 style="BORDER-COLLAPSE: collapse" borderColor=#111111
cellSpacing=0 cellPadding=0 width="80%" border=1>
<TBODY>
<TR>
<TD align=middle width="80%">
<P align=left><FONT color=#ff9933><B><FONT color=#3300cc
size=5>经典c程序100例==11--20</FONT></B></FONT></P>
<P align=left><FONT
color=#990000>【程序11】</FONT><BR>题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月<BR> 后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?<BR>1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....<BR>2.程序源代码:<BR>main()<BR>{<BR>long
f1,f2;<BR>int i;<BR>f1=f2=1;<BR>for(i=1;i<=20;i++)<BR> { printf("%12ld
%12ld",f1,f2);<BR> if(i%2==0) printf("\n");/*控制输出,每行四个*/<BR> f1=f1+f2;
/*前两个月加起来赋值给第三个月*/<BR> f2=f1+f2;
/*前两个月加起来赋值给第三个月*/<BR> }<BR>}<BR>==============================================================<BR><FONT
color=#990000>【程序12】</FONT><BR>题目:判断101-200之间有多少个素数,并输出所有素数。<BR>1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,<BR> 则表明此数不是素数,反之是素数。
<BR>2.程序源代码:<BR>#include "math.h"<BR>main()<BR>{<BR> int
m,i,k,h=0,leap=1;<BR> printf("\n");<BR> for(m=101;m<=200;m++)<BR> {
k=sqrt(m+1);<BR> for(i=2;i<=k;i++)<BR> if(m%i==0)<BR> {leap=0;break;}<BR> if(leap)
{printf("%-4d",m);h++;<BR> if(h%10==0)<BR> printf("\n");<BR>
}<BR> leap=1;<BR> }<BR> printf("\nThe total is
%d",h);<BR>}<BR>==============================================================<BR><FONT
color=#990000>【程序13】</FONT><BR>题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数<BR> 本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。<BR>1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。<BR>2.程序源代码:<BR>main()<BR>{<BR>int
i,j,k,n;<BR>printf("'water flower'number
is:");<BR> for(n=100;n<1000;n++)<BR> {<BR> i=n/100;/*分解出百位*/<BR> j=n/10%10;/*分解出十位*/<BR> k=n%10;/*分解出个位*/<BR> if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)<BR> {<BR> printf("%-5d",n);<BR> }<BR> }<BR>printf("\n");<BR>}<BR>==============================================================<BR><FONT
color=#990000>【程序14】</FONT><BR>题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。</P>
<P align=left>程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
<BR>(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。<BR>(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,<BR> 重复执行第一步。<BR>(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。</P>
<P align=left>2.程序源代码:<BR>/* zheng int is divided
yinshu*/<BR>main()<BR>{<BR>int n,i;<BR>printf("\nplease input a
number:\n");<BR>scanf("%d",&n);<BR>printf("%d=",n);<BR>for(i=2;i<=n;i++)<BR> {<BR> while(n!=i)<BR> {<BR> if(n%i==0)<BR> {
printf("%d*",i);<BR> n=n/i;<BR> }<BR> else<BR> break;<BR> }<BR>}<BR>printf("%d",n);}<BR>==============================================================<BR><FONT
color=#990000>【程序15】</FONT><BR>题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,<BR> 60分以下的用C表示。<BR>1.程序分析:(a>b)?a:b这是条件运算符的基本例子。<BR>2.程序源代码:<BR>main()<BR>{<BR> int
score;<BR> char grade;<BR> printf("please input a
score\n");<BR> scanf("%d",&score);<BR> grade=score>=90?'A':(score>=60?'B':'C');<BR> printf("%d
belongs to
%c",score,grade);<BR>}<BR>==============================================================<BR><FONT
color=#990000>【程序16】</FONT><BR>题目:输入两个正整数m和n,求其最大公约数和最小公倍数。<BR>1.程序分析:利用辗除法。</P>
<P align=left>2.程序源代码:<BR>main()<BR>{<BR> int
a,b,num1,num2,temp;<BR> printf("please input two
numbers:\n");<BR> scanf("%d,%d",&num1,&num2);<BR> if(num1<NUM2)
*交换两个数,使大数放在num1上* <br> {
temp=num1;<BR> num1=num2; <BR> num2=temp;<BR> }<BR>a=num1;b=num2;<BR>while(b!=0)/*利用辗除法,直到b为0为止*/<BR> {<BR> temp=a%b;<BR> a=b;<BR> b=temp;<BR> }<BR>printf("gongyueshu:%d\n",a);<BR>printf("gongbeishu:%d\n",num1*num2/a);<BR>}<BR>==============================================================<BR><FONT
color=#990000>【程序17】</FONT><BR>题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。<BR>1.程序分析:利用while语句,条件为输入的字符不为'\n'.<BR> <BR>2.程序源代码:<BR>#include
"stdio.h"<BR>main()<BR>{char c;<BR> int
letters=0,space=0,digit=0,others=0;<BR> printf("please input some
characters\n");<BR> while((c=getchar())!='\n')<BR> {<BR> if(c>='a'&&c<='z'||c>='A'&&c<='Z')<BR> letters++;<BR> else
if(c==' ')<BR> space++;<BR> else
if(c>='0'&&c<='9')<BR> digit++;<BR> else<BR> others++;<BR>}<BR>printf("all
in all:char=%d space=%d digit=%d
others=%d\n",letters,<BR>space,digit,others);<BR>}<BR>==============================================================<BR><FONT
color=#990000>【程序18】</FONT><BR>题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时<BR> 共有5个数相加),几个数相加有键盘控制。<BR>1.程序分析:关键是计算出每一项的值。<BR>2.程序源代码:<BR>main()<BR>{<BR> int
a,n,count=1;<BR> long int sn=0,tn=0;<BR> printf("please input a and
n\n");<BR> scanf("%d,%d",&a,&n);<BR> printf("a=%d,n=%d\n",a,n);<BR> while(count<=n)<BR> {<BR> tn=tn+a;<BR> sn=sn+tn;<BR> a=a*10;<BR> ++count;<BR> }<BR>printf("a+aa+...=%ld\n",sn);<BR>}<BR>==============================================================<BR><FONT
color=#990000>【程序19】</FONT><BR>题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程<BR> 找出1000以内的所有完数。<BR>1.
程序分析:请参照程序<--上页程序14. <BR>2.程序源代码:<BR>main()<BR>{<BR>static int
k[10];<BR>int
i,j,n,s;<BR>for(j=2;j<1000;j++)<BR> {<BR> n=-1;<BR> s=j;<BR> for(i=1;i<J;I++)<BR>
{<BR> if((j%i)==0)<BR> { n++;<BR> s=s-i;<BR> k[n]=i;<BR> }<BR> }<BR> if(s==0)<BR> {<BR> printf("%d
is a wanshu",j);<BR> for(i=0;i<N;I++)<BR>
printf("%d,",k[i]);<BR> printf("%d\n",k[n]);<BR> }<BR>}<BR>}<BR>==============================================================
<BR><FONT
color=#990000>【程序20】</FONT><BR>题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在<BR> 第10次落地时,共经过多少米?第10次反弹多高?<BR>1.程序分析:见下面注释<BR>2.程序源代码:<BR>main()<BR>{<BR>float
sn=100.0,hn=sn/2;<BR>int
n;<BR>for(n=2;n<=10;n++)<BR> {<BR> sn=sn+2*hn;/*第n次落地时共经过的米数*/<BR> hn=hn/2;
/*第n次反跳高度*/<BR> }<BR>printf("the total of road is
%f\n",sn);<BR>printf("the tenth is %f meter\n",hn);<BR>}</P>
<P align=left> </P></TD></TR></TBODY></TABLE></CENTER></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -