c语言前四章例题.docx
- 文档编号:8333176
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:27
- 大小:290.45KB
c语言前四章例题.docx
《c语言前四章例题.docx》由会员分享,可在线阅读,更多相关《c语言前四章例题.docx(27页珍藏版)》请在冰豆网上搜索。
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++;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 前四章 例题
![提示](https://static.bdocx.com/images/bang_tan.gif)