c语言前四章例题.docx

上传人:b****5 文档编号:8333176 上传时间:2023-01-30 格式:DOCX 页数:27 大小:290.45KB
下载 相关 举报
c语言前四章例题.docx_第1页
第1页 / 共27页
c语言前四章例题.docx_第2页
第2页 / 共27页
c语言前四章例题.docx_第3页
第3页 / 共27页
c语言前四章例题.docx_第4页
第4页 / 共27页
c语言前四章例题.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

c语言前四章例题.docx

《c语言前四章例题.docx》由会员分享,可在线阅读,更多相关《c语言前四章例题.docx(27页珍藏版)》请在冰豆网上搜索。

c语言前四章例题.docx

c语言前四章例题

第一章:

分支

导例:

输入生日并显示

#include/*编译预处理命令*/

intmain()/*定义了一个名字为main的函数*/

{

intmonth,day;/*定义变量month和day*/

printf("Enterthemonthandthedayofyourbirthday:

");

scanf("%d%d",&month,&day);

printf(“Yourbirthdayis:

%d月%d日\n",month,day);

return0;

}

 

导例:

汇率换算

#include

main()

{

intrmb;/*定义整型变量,存放人民币值*/

floatrate;/*定义浮点型放汇率值*/

floatdollar;/*定义浮点型放美元值*/

rate=0.1642;/*对变量rate赋值*/

printf("rmb=");

scanf(“%d”,&rmb);/*接收用户输入*/

dollar=rmb*rate;/*汇率换算*/

printf("¥%dcanexchange$%.2f\n",rmb,dollar);

/*调用printf()函数输出结果*/

 

导例:

字符加密

#include

main()

{

charch;/*定义一个字符变量ch*/

 ch=getchar();/*调用getchar()函数,从键盘上输入一个字符,赋值给ch*/

ch=ch+3;/*为字符ch加密*/

putchar(ch);/*调用putchar()函数,输出加密后的ch*/

 putchar(‘\n’);/*输出回车换行符*/

}

导例:

考核通过了吗

#include

main()

{

intscore1,score2,score3;/*定义成绩变量*/printf("请输入三项考核成绩:

");

scanf("%d%d%d",&score1,&score2,&score3);

printf(“第一项考核果:

%d\n",score1>=60);

printf("第二项考核果:

%d\n",score2>=60);

printf("第三项考核果:

%d\n",score3>=60);

printf("综合考核结果:

%d\n",(score1>=60)&&(score2>=60)&&(score3>=60));

}

算术运算符

算术运算符用于各种数值运算,包括5个二元运算符:

加(+)、减(-)、乘(*)、除(/)、求余(%),和2个一元运算符:

自增(++)、自减(--)。

 

判断数字的奇偶性

#include

intmain(void)

{intnumber;

printf("Enteranumber:

");

scanf("%d",&number);

if(number%2==0){

printf(“偶数.\n");

}

else{

printf(“奇数.\n");

}

return0;

今年是闰年吗?

#include

main()

{

intyear;

 printf("Enteryear:

");

scanf("%d",&year);

 if(year%4==0&&year%100!

=0||year%400==0)/*闰年的条件*/

printf("YES\n");

else

printf("NO\n");

 }

 

求解一元二次方程

从键盘输入一元二次方程ax2+bx+c=0的3个系数a,b,c,编程计算该方程的解,并输出之

#include

#include

main()

{

inta,b,c,s;

doublex1,x2;

printf("Enter3integers:

");

scanf(“%d%d%d”,&a,&b,&c);

s=b*b-4*a*c;

/*条件判断,输出结果*/

}

if(s>0)

{

x1=(-b+sqrt(s))/(2*a);

x2=(-b-sqrt(s))/(2*a);

printf("x1=%f,x2=%f\n",x1,x2);

}

elseif(s==0)

{

x1=x2=(-b)/(2.0*a);

printf("x=%f\n",x1);

}

else

printf(“Nosolution\n”);

 

求解简单的四则运算表达式

输入一个形式如“操作数运算符操作数”的四则运算表达式,根据输入的运算符,做相应运算,输出运算结果。

使用if语句实现四则运算

#include

intmain(void){

doublevalue1,value2;

charop;/*定义字符型的变量*/

scanf("%lf%c%lf",&value1,&op,&value2);

if(op=='+')

printf("=%.2f\n",value1+value2);

elseif(op=='-')

printf("=%.2f\n",value1-value2);

elseif(op=='*')

printf("=%.2f\n",value1*value2);

elseif(op=='/')

printf("=%.2f\n",value1/value2);

else

printf("Unknownoperator\n");

return0;

}

使用switch语句实现四则运算

#include

intmain(void){

doublevalue1,value2;

charop;

scanf("%lf%c%lf",&value1,&op,&value2);

switch(op){

case'+':

printf("=%.2f\n",value1+value2);break;

case'-':

printf("=%.2f\n",value1-value2);break;

case'*':

printf("=%.2f\n",value1*value2);break;

case'/':

printf("=%.2f\n",value1/value2);break;

default:

printf("Unknownoperator\n");break;

}

return0;

计算存款利息

银行对整存整取存款期限不同对应的存款利率也不同,键盘输入存款本金和存期,计算到期时的利息及利息与本金的和。

当前整存整取年息利率:

一年:

3.25%二年:

3.75%三年:

4.25%五年:

4.75%

#include

main()

{

doublemoney,rate,rest,total;

inttime;

 printf("输入本金:

");

scanf("%lf",&money);

printf("请输入存期:

");

scanf("%d",&time);

 /*使用switch语句实现利率的选择*/

switch(time){

case1:

rate=0.0325;break;

case2:

rate=0.0375;break;

case3:

rate=0.0425;break;

case5:

rate=0.0475;break;

default:

rate=0;

}

rest=money*rate*time;

total=money+rest;

 printf("到期利息:

%.2f\n",rest);

printf("本息合计:

%.2f\n",total);

}

输入三条边,判断它们能否构成三角形,若能则指出是何种三角形。

方法一

#include

main()

{

floata,b,c;

printf("请输入三条边的值:

\n");

scanf("%f%f%f",&a,&b,&c);

if((a<(b+c))&&(b<(a+c))&&(c<(a+b)))

if(a==b||b==c||a==c)

if(a==b&&b==c)

printf("可以构成等边三角形!

\n");

else

printf("可以构成等腰三角形!

\n");

else

printf("可以构成不等边三角形!

\n");

else

printf("不能构成三角形!

\n");

}

方法二

#include

main()

{

floata,b,c;

printf("请输入三条边的值:

\n");

scanf("%f%f%f",&a,&b,&c);

if(((b+c)<=a)||((a+c)<=b)||((a+b)<=c))

printf("不能构成三角形!

\n");

else

if(a!

=b&&b!

=c&&a!

=c)

printf("可以构成不等边三角形!

\n");

else

if(a==b&&b==c)

printf("可以构成等边三角形!

\n");

else

printf("可以构成等腰三角形!

\n");

}

第二章:

循环

2.2求解n!

n!

=1×2×3×4×…×n

用for语句

#include

main()

{

inti,n,fact;

printf("inputn:

");

scanf("%d",&n);

fact=1;

for(i=1;i<=n;i++)

fact=fact*i;

printf(“%d!

=%d\n",n,fact);

return0;

}

用while语句

#include

main()

{

inti,n,fact;

printf("inputn:

");

scanf("%d",&n);

fact=1;i=1;

while(i<=n)

{

fact=fact*i;

i++;

}

printf(“%d!

=%d\n",n,fact);

return0;

2.1求偶数和

求解100以内所有偶数的和。

sum=2+4+6+…

#include

intmain(void)

{

inti,sum=0;

 

for(i=1;i<=100;i++)

if(i%2==0)

sum=sum+i;

printf(“%d\n",sum);

return0;

}

while和for的比较

用for

for(i=1;i<=n;i++)

sum=sum+i;

用while

i=1;//循环变量赋初值

while(i<=n){//循环条件

sum=sum+i;

i++;//循环变量的改变

}

2.3求解最大公约数

输入两个整数,求解这两个数的最大公约数。

最大公约数:

是能够同时整除这两个整数的最大的正整数。

#include

main()

{intnum1,num2;

inta,b,temp;

printf("Inputnum1&num2:

");

scanf("%d%d",&num1,&num2);

a=num1;b=num2;

while(b!

=0)

{temp=a%b;

a=b;

b=temp;

}

if(num1!

=0&&num2!

=0)

printf("%d\n",a);

}

2.5统计一个整数的位数

intmain(void)

{intcount,number;

count=0;

printf("Enteranumber:

");

scanf("%d",&number);

if(number<0)number=-number;

do{

number=number/10;

count++;

}while(number!

=0);

printf("Itcontains%ddigits.\n",count);

return0;

}

 

2.4用格里高利公式求π的近似值

#include

#include

main()

{

doubleitem,sum,pi;

intflag,i;

i=1;

flag=1;

sum=0;

item=1;

do{

sum=sum+item;

flag=-flag;

i=i+2;

item=flag*1.0/i;

}while(fabs(item)>=0.0001);

pi=sum*4;

printf("pi=%f\n",pi);

}

 

从键盘输入一批学生的成绩,计算平均成绩,并统计不及格学生的人数。

#include

Intmain(void)

{intnum;

doublegrade,total;

num=0;total=0;

printf(“Entergrades:

\n");

scanf("%lf",&grade);/*输入第1个数*/

while(grade>=0){/*输入负数,循环结束*/

total=total+grade;

num++;

if(grade<60)count++;

scanf(“%lf”,&grade);

}

if(num!

=0){

printf(“Gradeaverageis%.2f\n",total/num);

printf("Numberoffailuresis%d\n",count);

}

else

printf(“Gradeaverageis0。

\n");

return0;

}

输入一批学生的成绩,求最高分(do-while)

#include

intmain(void)

{intmark,max;

max=-1;/*给max赋一个小初值*/

printf(“Entermarks:

");

do{

scanf("%d",&mark);

if(max

max=mark;

}while(mark>=0);

printf("Max=%d\n",max);

}

输入一批学生的成绩,求最高分(for)

#include

intmain(void)

{inti,mark,max,n;

printf("Entern:

");

scanf("%d",&n);

printf("Enter%dmarks:

",n);

scanf("%d",&mark);/*读第一个成绩*/

max=mark;/*假设第一个成绩最高分*/

for(i=1;i

scanf("%d",&mark);

if(max

max=mark;

}

printf("Max=%d\n",max);

return0;

}

输入一批学生的成绩,求最高分(while)

#include

intmain(void)

{intmark,max;

printf(“Entermarks:

");

scanf("%d",&mark);/*读入第一个成绩*/

max=mark;/*假设第一个成绩最高分*/

while(mark>=0){

if(max

max=mark;

scanf("%d",&mark);

};

printf("Max=%d\n",max);

return0;

}

2.6判断素数

intmain(void)

{inti,m;

printf(“Enteranumber:

");

scanf("%d",&m);

for(i=2;i<=m/2;i++)

if(m%i==0)break;

if(i>m/2&&m!

=1)

printf("%disaprimenumber!

\n",m);

else

printf("No!

\n");

}

求100以内的全部素数,每行输出10个

#include

#include

intmain(void)

{

intcount,i,m,n;

count=0;

for(m=2;m<=100;m++)

{

n=sqrt(m);

for(i=2;i<=n;i++)

if(m%i==0)break;

if(i>n)/*如果m是素数*/

{

printf("%6d",m);

count++;

if(count%10==0)/*每行10个*/

printf(“\n”);

}

}

}

2.7求1!

+2!

+….+100!

#include

intmain(void)

{inti,j;

doubleitem,sum;

sum=0;

for(i=1;i<=100;i++){

item=1;

for(j=1;j<=i;j++)

item=item*j;

sum=sum+item;

}

printf("=%e\n",sum);

第三章:

函数

导例:

平方根表

输出100以内整数的平方根表,要求每行输出10个。

#include

#include//数学类头文件

intmain()

{

intm,n;

for(n=0;n<10;n++)

printf("%7d",n);//输出表头

printf("\n");

for(m=0;m<10;m++)

{

printf("%d",m);

for(n=0;n<10;n++)

printf("%7.4f",sqrt(m*10+n));

printf("\n");

}

return0;

}

math.h:

包含与数学相关的函数

ctype.h:

包含与字符处理有关的函数

string.h:

包含与字符串处理有关的函数

stdio.h:

包含与输入输出有关的函数

stdlib.h:

包含与动态分配存储空间和数值转换有关的函数

process.h:

包含与过程控制有关的函数

 

导例:

计算圆柱体积

#include

intmain(void)

{

doubleheight,radius,volume;

doublecylinder(doubler,doubleh);

printf("Enterradiusandheight:

");

scanf("%lf%lf",&radius,&height);

volume=cylinder(radius,height);

printf("Volume=%.3f\n",volume);

return0;

doublecylinder(doubler,doubleh)

{

doubleresult;

result=3.1415926*r*r*h;

returnresult;

 

例求两个数中的最大值

#include

voidmain()

{inta,b,c,max(intx,inty);

scanf(“%d,%d”,&a,&b);

c=max(a,b);

printf(“Maxis%d”,c);

}

intmax(intx,inty)

{intz;

if(x>y)z=x;elsez=y;

return(z);

}

4.2.1导例:

阶乘累加和

从键盘输入1个整数,计算1~n的各个数的阶乘的累加和,即1+2!

+3!

+…+n!

#include

doublefact(inti);//函数声明

intmain(void)

{

inti,n;

doublesum=0;

printf(“Enter1integers:

”);

scanf("%d",&n);

for(i=1;i<=n;i++)

sum=sum+fact(i);//函数调用

printf("1!

+…+%d!

=%.0f\n",n,sum);

return0;

}

doublefact(inti)//函数定义

{

intj;

doubleresult=1;

for(j=1;j<=i;j++)

result=result*j;

returnresult;//返回结果

}

 

导例:

判断素数的函数

#include

#include

intmain(void)

{intcount,m;

intprime(intm);

count=0;

for(m=2;m<=100;m++)

{

if(prime(m)!

=0)

{

printf("%6d",m);

count++;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1