c语言经典程序1Word文档下载推荐.docx
《c语言经典程序1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言经典程序1Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
,x,x1,x10,x100);
/*求解一元一次方程ax2+bx+c=0的根,其中系数从键盘上输入a,b,c,a不为0*/
math.h>
floata,b,c,delta;
输入三个系数:
%f%f%f"
a,&
b,&
c);
if(a==0)
{
printf("
这不是一元二次方程!
\n"
return1;
}
delta=b*b-4*a*c;
if(delta>
=0)
delta=sqrt(delta);
if(delta)
printf("
方程有两个不同的实根:
%f%f\n"
(-b+delta)/2/a,(-b-delta)/2/a);
else
方程有两个相同的实根:
%f\n"
-b/2/a);
elseprintf("
!
/*将一个整数逆序*/
voidmain()
inta,b;
请输入一个整数:
%d"
a);
while(a/10!
b=a%10;
b);
a=a/10;
/*输入成绩,100分以下90分以上对应A,80分以上对应B,70分以上对应C,60分以上对应d,60分以下对应E*/
/*switch的表达*/
#include<
voidmain(void)
intx;
charc;
请输入成绩:
%i"
switch(int(x)/10)
case9:
c='
A'
;
printf("
对应的五分制成绩:
%c"
c);
break;
case8:
B'
对应的五分制成绩为:
case7:
C'
case6:
D'
case5:
case4:
case3:
case2:
case1:
E'
default:
此成绩无效"
/*输出9*9口诀。
*/
main()
{inti,j,result;
for(i=1;
i<
10;
i++)
{for(j=1;
j<
j++)
result=i*j;
%d*%d=%-3d"
i,j,result);
if(i<
=j){printf("
};
/*给定一个范围,输出所有素数。
intm,n,i,k,h=0,leap=1;
请输入范围"
scanf("
%i%i"
m,&
n);
for(;
m<
=n;
m++)
{k=sqrt(m+1);
for(i=2;
=k;
if(m%i==0)
{leap=0;
if(leap){printf("
%-7d"
m);
h++;
if(h%10==0)
leap=1;
/*将一个整数的所有素数因子输出,例如,当k=126时,素数银子表示为126=2*3*3*6*/
intn,i;
\npleaseinputanumber:
%d="
n);
{while(n!
=i)
{if(n%i==0)
{printf("
%d*"
i);
n=n/i;
elsebreak;
/*在歌星大奖赛中,有n个评委为参赛的选手打分,分数为1~100分。
选手最后得分为:
去掉一个最高分和一个最低分后其余n-2个分数的平均值*/
intmain()
intinteger,i,max,min,sum,n;
max=-32768;
/*先假设当前的最大值max为C语言整型数的最小值*/
min=32767;
/*先假设当前的最小值min为C语言整型数的最大值*/
sum=0;
/*将求累加和变量的初值置为0*/
一共多少个评委"
for(i=1;
Inputnumber%d="
integer);
/*输入评委的评分*/
sum+=integer;
/*计算总分*/
if(integer>
max)max=integer;
/*通过比较筛选出其中的最高分*/
if(integer<
min)min=integer;
/*通过比较筛选出其中的最低分*/
Canceledmaxscore:
%d\nCanceledminscore:
%d\n"
max,min);
Averagescore:
(sum-max-min)/(n-2));
/*输出结果*/
/*求一个数的最大约数*/
longi;
intj;
Pleaseinputnumber:
%ld"
i);
for(j=i-1;
j>
=100;
j--)
if(i%j==0)
Themaxfactorin%ldis:
%d,\n"
i,j);
/*求x的y次方的最后n位数*/
inti,x,y,last=1;
/*变量last保存求X的Y次方过程中的部分乘积的后三位*/
InputXandY(X**Y):
%d**%d"
x,&
y);
=y;
i++)/*X自乘Y次*/
last=last*x%1000;
/*将last乘X后对1000取模,即求积的后三位*/
Thelast3digitsof%d**%dis:
x,y,last%1000);
/*打印结果*/
/*求N!
的尾数有多少个零*/
inta,n,count=0;
请输入N="
for(a=5;
a<
a+=5)//循环从5开始,以5的倍数为步长,考察整数
++count;
//若为5的倍数,计数器加1
if(!
(a%25))++count;
//若为25的倍数,计数器再加1
Thenumberof0intheendof%d!
is:
%d"
n,count);
return0;
/*有n本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?
inta,b,c,count=0,n;
Howmanybooksarethere"
TherearediffrentmethodsforXMtodistributebooksto%dreaders:
for(a=1;
a++)/*穷举第一个人借5本书中的1本的全部情况*/
for(b=1;
b<
b++)/*穷举第二个人借5本书中的一本的全部情况*/
for(c=1;
a!
=b&
&
c<
c++)/*当前两个人借不同的书时,穷举第三个人借5本书
中的1本的全部情况*/
if(c!
=a&
c!
=b)/*判断第三人与前两个人借的书是否不同*/
printf(count%8?
%2d:
%d,%d,%d"
:
%d,%d,%d\n"
++count,a,b,c);
/*n行的杨辉三角形*/
intc(intx,inty)/*求杨辉三角形中第x行第y列的值*/
intz;
if((y==1)||(y==x+1))return1;
/*若为x行的第1或第x+1列,则输出1*/
z=c(x-1,y-1)+c(x-1,y);
/*否则,其值为前一行中第y-1列与第y列值之和*/
returnz;
inti,j,n=13;
N="
while(n>
12)
/*控制输入正确的值以保证屏幕显示的图形正确*/
for(i=0;
i++)/*控制输出N行*/
for(j=0;
24-2*i;
j++)printf("
"
/*控制输出第i行前面的空格*/
for(j=1;
i+2;
%4d"
c(i,j));
/*输出第i行的第j个值*/
/式*将任一整数转换为二进制形*/
voidprintb(int,int);
intx;
Inputnumber:
numberofdecimalform:
x);
it'
sbinaryform:
printb(x,sizeof(int)*8);
/*x:
整数sizeof(int):
int型在内