课堂C语言.docx
《课堂C语言.docx》由会员分享,可在线阅读,更多相关《课堂C语言.docx(13页珍藏版)》请在冰豆网上搜索。
课堂C语言
教材P36
/******计算圆的面积和周长******/
#defineR2.0
doublecalcuArea(doubler);
doublecalcuCircum(doubler);
intmain()
{
printf("area=%f",calcuArea(R));
printf("\tcircumference=%f\n",calcuCircum(R));
return0;
}
doublecalcuArea(doubler)
{
return(pi*r*r);
}
doublecalcuCircum(doubler)
{
return(2.0*pi*r);
}
教材P37
/******计算圆的面积和周长******(规范编程)/
#include"stdio.h"
#definepi3.141592654
#defineR2.0
doublecalcuArea(doubler);
doublecalcuCircum(doubler);
intmain()
{
printf("area=%f",calcuArea(R));
printf("\tcircumference=%f\n",calcuCircum(R));
return0;
}
doublecalcuArea(doubler)
{
return(pi*r*r);
}
doublecalcuCircum(doubler)
{
return(2.0*pi*r);
}
P38/******符号位变为数据的最高位和最高为变为符号位******/
#include"stdio.h"
intmain()
{
unsignedshortus1=32767,us2=65535,us;
signedshortss=-7;
us=ss;
printf("
(1)ss=%d,us=%d\n",ss,us);
ss=us1;
printf("
(2)us1=%d,ss=%d\n",us1,ss);
ss=us2;
printf("(3)us2=%d,ss=%d\n",us2,ss);
return0;
}
P40数据转换型例子
#include"stdio.h"
intmain()
{
doublea=123456.789098765;
floatb;
longc;
shorti,j;
b=a;c=a;i=a;j=c;
printf("a=%f,b=%f,c=%d,i=%d,j=%d\n",a,b,c,i,j);
return0;
}
P45长度修正符的用法
#include"stdio.h"
intmain()
{
printf("%12.5f\n",123.1234567);
printf("%12f\n",123.1234567);
printf("%12.5g\n",123.1234567);
printf("%5.10s%s\n","abcdefghigklm","a");
printf("%12.8d\n",12345);
return0;
}
P46美国各州面积表
#include"stdio.h"
intmain()
{
doublear,por,perc;
printf("%-12s%12s%12s%\n","State","Area","Forest","Percent");
printf("-------------------------------------------------\n");
ar=50750;por=33945;perc=por/ar*100;
printf("%-12s%12.0f%12.0f%10.2f%%\n","Alabama",ar,por,perc);
ar=59;por=20;perc==por/ar*100;
printf("%-12s%12s%12s%\n","Alaska",ar,por,perc);
}
P512.16
#include"stdio.h"
intmain()
{
inta;
floatb,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("a=%d,b=%f,c=%f",a,b,c);
return0;
}
P74/*三个数最大*/
#include"stdio.h"
floatmax3(floatx,floaty,floatz)
{
floatmax=x;
if(z>y)
{
if(z>x)
max=z;
}
else
{
if(y>x)
max=y;
}
printf("Themaxis:
%f",max);
}
intmain()
{
floata,b,c;
printf("Input3realnumbers:
\n");
scanf("%f%f%f",&a,&b,&c);
max3(a,b,c);
return0;
}
P75
/*求一元二次方程的解*/
#include"stdio.h"
#include"math.h"
voidsolv_quadr_equa(floata,floatb,floatc)
{
if(a==0.0)
if(b==0.0)
printf("noanswerduetoinputerror\n");
else
printf("thesignglerootis%f\n",-c/b);
else
{
doubledisc,twoa,term1,term2;
disc=b*b-4*a*c;
twoa=2*a;
term1=-b/twoa;
term2=sqrt(fabs(disc))/twoa;
if(disc<0.0)
printf("complexroot:
\nrealpart=%f,imagpart=%f\n",term1,term2);
else
printf("realroot:
\nroot1=%f,root2=%f\n",term1+term2,term1-term2);
}
}
voidmain()
{
floata,b,c;
printf("Input3realsnumbers:
\n");
scanf("%f%f%f",&a,&b,&c);
solv_quadr_equa(a,b,c);
return0;
}
/*按成绩分等级*/
#include"stdio.h"
voidmain()
{
intscore;
printf("Inputascore:
");
scanf("%d",&score);
if(score>=80)
printf("%disA\n",score);
elseif(score>=70)
printf("%disB\n",score);
elseif(score>=60)
printf("%disC\n",score);
else
printf("%disD\n",score);
return0;
}
P80
/*测试字符型*/
#include"stdio.h"
voidtest_char(charc)
{
switch(c)
{
case'0':
case'1':
case'2':
case'3':
case'4':
case'5':
case'6':
case'7':
case'8':
case'9':
printf("it\'sadigit\n");
break;
case'':
case'\t':
case'\n':
printf("it\'sawhite\n");
break;
default:
printf("it\'sachar\n");
break;
}
}
voidmain()
{
charc;
printf("Inputc:
\n");
scanf("%c",&c);
test_char(c);
return0;
}
/*求十年之后的人口*/
#include"stdio.h"
intmain()
{
doublem=13;
inti=1;
while(i<=10)
{
m=m*(1+0.002);
i++;
}
printf("Populationtenyearslateris:
%f\n",m);
return0;
}
/*计算Fibonacci数*/
#include"stdio.h"
voidmain()
{
intfib1=1,fib2=1,fib,i=3;
while(i<=12)
{
fib=fib1+fib2;
fib1=fib2;
fib2=fib;
i++;
}
printf("TheFibonaccinumberafter1yearis:
%d\n",fib);
}
/*计算Fibonacci数*/
#include"stdio.h"
voidmain()
{
intfib1=1,fib2=1,fib,i=3;
while(i<=12)
{
fib=fib1+fib2;
fib1=fib2;
fib2=fib;
printf("TheFibonaccinumberafter%dis:
%d\n",i,fib);
i++;
}
}
/*用梯形法求数值积分*/
#include"stdio.h"
doublef(doublex);
intmain()
{
floata,b;
doubles,h;
intn,i;
printf("inputintegralareaa&b:
");
scanf("%f,%f",&a,&b);
printf("inputn:
");
scanf("%d",&n);
h=(b-a)/n;
s=0.5*h*(f(a)+f(b));
for(i=1;i<=n-1;i++)
s=s+f(a+i*h)*h;
printf("\nthevalueis:
%lf\n",s);
return0;
}
#include"math.h"
doublef(doublex)
{
return(sqrt(4.0-x*x));
}
/*验证素数*/
#include"stdio.h"
voidmain()
{
intm,n,flag=1;
printf("请输入要测试的整数:
");
scanf("%d",&n);
for(m=2;m<=n/2;m++)
if(n%m==0)
{
flag=0;
break;
}
flag?
printf("%d是素数\n",n):
printf("%d是非素数\n",n);
}
/*输出100~200之间的所有素数*/
#include"stdio.h"
voidmain()
{
intm,n,flag;
printf("\ntheprimersfrom100to200is:
\n");
for(n=101;n<=200;n+=2)
{
flag=1;
for(m=2;m<=n/2;m++)
{
if(n%m==0)
{
flag==0;
break;
}
}
if(flag==0)
continue;
printf("%d,",n);
}
printf("\n");
}
/*打印九九乘法表*/
#include"stdio.h"
intmain()
{
inti,j;
for(i=1;i<=9;i++);
printf("%4d",i);
printf("\n");
for(i=1;i<=36;i++)
printf("%c",'-');
printf("\n");
for(i=1;i<=9;i++)
{
for(j=1;j<=9;j++)
printf("%4d",i*j);
printf("\n");
}
return0;
}