C语言书中习题新完整.docx

上传人:b****6 文档编号:8420984 上传时间:2023-01-31 格式:DOCX 页数:35 大小:37.63KB
下载 相关 举报
C语言书中习题新完整.docx_第1页
第1页 / 共35页
C语言书中习题新完整.docx_第2页
第2页 / 共35页
C语言书中习题新完整.docx_第3页
第3页 / 共35页
C语言书中习题新完整.docx_第4页
第4页 / 共35页
C语言书中习题新完整.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

C语言书中习题新完整.docx

《C语言书中习题新完整.docx》由会员分享,可在线阅读,更多相关《C语言书中习题新完整.docx(35页珍藏版)》请在冰豆网上搜索。

C语言书中习题新完整.docx

C语言书中习题新完整

5201

编写程序,借助中间变量,交换A,B两个整型变量的值。

例如:

a=5,b=8,输出时a=8,b=5

#include

voidmain(){

inta,b,c;

scanf("%d%d",&a,&b);

c=a;

a=b;

b=c;

printf("%d%d",a,b);

}

5202

编写程序,输入一个字符,然后顺序输出该字符的前驱字符、该字符本身和它的后继字符。

例如:

输入字符m,则输出kmn。

#include

voidmain(){

charch;

ch=getchar();

putchar(ch-1);

putchar(ch);

putchar(ch+1);

}

5203

编写程序,读入角度值,输出弧度值。

例如:

输入角度值为450,输出的值为0。

785

#include

voidmain(){

floata,b;

scanf("%f",&a);

b=a/180.0*3.14;

printf("%f",b);

}

5204

编写程序,不用中间变量,交换A,B两个整型变量的值。

例如:

a=5,b=8,输出时a=8,b=5

#include

voidmain(){

inta,b;

scanf("%d%d",&a,&b);

a=a+b;

b=a-b;

a=a-b;

printf("%d%d",a,b);

}

5205

编写程序,输入两个整数,分别求他们的和、差、积、商、余数并输出。

例如:

a=10,b=5,输出时:

15,5,50,2,0

#include

voidmain(){

inta,b,c,d,n,m,y;

scanf("%d%d",&a,&b);

c=a+b;

d=a-b;

n=a*b;

m=(float)a/b;

y=a%b;

printf("%d%d%d%d%d",c,d,n,m,y);

}

5206

编写程序,输入3个浮点数,求他们平均值并输出。

例如:

a=2.5,b=3.6,c=4.7,输出ave=3.600000

#include

voidmain(){

floata,b,c,n;

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

n=(a+b+c)/3.0;

printf("%f",n);

}

5207

编写程序,用如下公式计算∏值。

=4arctan(1/5)-arctan(1/239)

#include

#include

voidmain(){

floata,b,c;

a=4*atan(1.0/5);

b=atan(1.0/239);

c=4*(a-b);

printf("%f",c);

}

5208

已知摄氏温度C与华氏温度F的转换关系式是:

C=5/9(F-32),编一个摄氏温度与华氏温度的转换程序,输入摄氏温度C,输出华氏温度F。

例如:

输入10,输出结果为:

50

#include"stdio.h"

voidmain(){

floatc,f;

scanf("%f",&c);

f=c*9.0/5+32;

printf("%f",f);

}

5209

编写程序,输入底的半径和高,求圆柱的体积和表面积,并输出。

例如:

输入底半径为2,高为10,则输出结果表面积为150.720001,体积为125.599998

#include"stdio.h"

voidmain(){

floatr,h,v,s;

scanf("%f%f",&r,&h);

v=3.14*r*r*h;

s=(3.14*r*r*2)+(3.14*2*r*h);

printf("%f%f",v,s);

}

5210

编写程序,输入两个两位整数a、b,将其合并成一个4位整数c,规则是c的千位数字是b的个位;c的百位数字是a的十位;c的十位数字是b的十位;c的个位数字是a的个位。

例如:

a=12,b=45,则输出结果为5142。

#include"stdio.h"

voidmain(){

inta,b,c,d,e,f,m;

scanf("%d%d",&a,&b);

c=a/10;d=a%10;

e=b/10;f=b%10;

m=f*1000+c*100+e*10+d;

printf("%d",m);

}

5301

编写程序,输入某个学生本学期程序设计课程成绩,判断并输出他是否及格。

例如:

输入成绩为85分,则输出"youaresuccess!

",如果输入成绩为48分,则输出"youarefail!

"

#include"stdio.h"

voidmain(){

intx;

scanf("%d",&x);

if(x>=60)

printf("youaresuccess!

");

else

printf("youarefail!

");

}

5302

编写程序,从键盘输入两个整数,求两个数中大数。

例如:

输入5和8,则输出的结果为8。

#include"stdio.h"

voidmain(){

intx,y;

scanf("%d%d",&x,&y);

if(x>y)

printf("%d",x);

else

printf("%d",y);

}

5303

编写程序,计算数学中的符号函数,1(x>0)

sign(x)=0(x=0)

-1(x<0)

例如:

输入10时,则输出1,输入0时,则输出0,输入-9时,则输出-1。

#include"stdio.h"

voidmain(){

intx;

scanf("%d",&x);

if(x>0)

printf("1");

elseif(x==0)

printf("0");

else

printf("-1");

}

5304

学校曾经组织了一次“程序设计大赛”,规定本学期程序设计课的成绩可以根据是否在大奖赛上获奖而加5分,编写程序,计算某同学的程序设计课成绩。

例如:

输入成绩85,并且获奖y,则输出成绩为90,如果输入成绩98,并且获奖y,则输出成绩为100。

#include"stdio.h"

voidmain(){

intm;

charw;

scanf("%d%c",&m,&w);

if(w=='y'||w=='Y')

m=m+5;

if(m>100)

m=100;

printf("%d",m);

}

5305

输入一个年份,判断该年是否闰年。

某年是闰年的条件是:

能被4整除,但不能被100整除;或能被400整除。

例如:

输入2000年,则输出2000isaleapyear,如果输入1998年,则输出1998isnotaleapyear。

#include"stdio.h"

voidmain(){

intm;

scanf("%d",&m);

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

=0||m%400==0)

printf("%disaleapyear",m);

else

printf("%disnotaleapyear",m);

}

5306

求一元二次方程ax2+bx+c=0的根。

5307

学校曾经组织了一次“程序设计大奖赛”,规定本学期程序设计课程的成绩可以根据大奖赛的成绩适度加分。

加分规则是参赛者加5分,三等奖加15分,二等奖加20分,一等奖加30分,总分不超过100分。

编程序,计算某同学的程序设计课成绩。

例如:

用(0:

未参加,1:

参赛,2:

三等奖,3:

二等奖,4:

一等奖),输入成绩85,并且获得一等奖输入4,则输出成绩为100,如果输入成绩78,并且参赛输入1,则输出成绩为83。

#include"stdio.h"

voidmain(){

intw,m;

scanf("%d",&m);

printf("(0:

未参加,1:

参加,2:

三等奖,3:

二等奖,4:

一等奖):

");

scanf("%d",&w);

switch(w){

case0:

break;

case1:

m=m+5;break;

case2:

m=m+15;break;

case3:

m=m+20;break;

case4:

m=m+30;break;

}

if(m>100)

m=100;

printf("%d",m);

}

5308

模拟单步计算器。

设计一个模拟单步计算器的程序,设该计算器只能作加、减、乘、除运算。

#include

voidmain(){

floata,b;

charw;

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

switch(w){

case'+':

a=a+b;break;

case'-':

a=a-b;break;

case'*':

a=a*b;break;

case'/':

a=a/b;break;}

printf("%.2f",a);}

5309

高速公路每公里的收费标准按不同种汽车收费,小汽车(car):

0.50元;卡车(truck):

1.00元;大客车(bus):

1.50元。

编程序,为某高速公路收费站计算各种车辆的收费额。

#include

voidmain(){

floatm,p;

charch;

scanf("%f%c",&m,&ch);

switch(ch){

case'x':

p=0.5;break;

case'k':

p=1.00;break;

case'd':

p=1.5;break;

}

p=p*m;

printf("p=%.2f",p);}

5310

编程序,输入三个实数a,b,c;然后按递增顺序把它们输出。

#include

voidmain(){

floata,b,c,t;

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

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{t=a;a=c;c=t;}

if(b>c)

{t=b;b=c;c=t;}

printf("%f%f%f",a,b,c);}

5311

编程序,输入一个字母,若其为小写字母,将其转换成大写,最后输出。

#include

voidmain(){

charc;

scanf("%c",&c);

if(c>='a'&&c<='z')

printf("%c",c-32);}

5312

编程序,输入一个自然数n,判断n的第四位数字是否为0。

(规定从右向左数)

#include

voidmain(){

inta,b;

scanf("%d",&a);

b=a/1000%10;

if(b==0)

printf("是0");

else

printf("不是0");}

5313

编程序,输入一个4位自然数n,判断n是否为降序数。

降序数是指对于n=d0d1d2d3有di>=di+1,i=0,1,2,3

#include

voidmain(){

inta,b,c,d,n;

scanf("%d",&n);

a=n/1000;

b=n%1000/100;

c=n%100/10;

d=n%10;

if((a>b)&&(b>c)&&(c>d))

printf("是");

else

printf("不是");}

5314

编程序,输入一个5位自然数n,判断n是否为对称数。

对称数是正序和反序读相等的整数,如96769.

#include

voidmain(){

inta,b,c,d,e,n;

scanf("%d",&n);

a=n/10000;

b=n%10000/1000;

c=n%1000/100;

d=n%100/10;

e=n%10;

if((a==e)&&(b==d))

printf("对称数");

else

printf("不是对称数");}

5315

编程序,读入三个点的坐标,确定它们是否在一条直线上。

#include

voidmain(){

inta,b,c,d,e,f,m,n,h;

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

m=(a,b);

n=(c,d);

h=(e,f);

if((d-b)/(c-a)==(f-d)/(e-c))

printf("一条直线上");

else

printf("不在一条直线上");}

5316

编程序,判断给定的三位数是否Armstrong数。

所谓Armstrong数是指其值等于它本身每位数字立方和的数。

#include

voidmain(){

inta,b,c,n;

scanf("%d",&n);

if(n>=100&&n<1000)

{a=n/100;

b=n/10%10;

c=n%10;}

if(n==a*a*a+b*b*b+c*c*c)

printf("yes");

else

printf("no");

}

如153=13+53+33

5317

编程序,读入一个点的坐标X、Y,计算:

有问题

lnX+lnY,X、Y在第一象限

z=sinX+cosY,X、Y在第二象限

e2x+e3y,X、Y在第三象限

tan(X+Y),X、Y在第四象限

#include

#include

voidmain(){

floatx,y,z;

scanf("%f%f",&x,&y);

if(z==(log(x)+log(y)))

printf("x,y在第一象限");

elseif(z==(sin(x)+cos(y)))

printf("x,y在第二象限");

elseif(z==(exp(x)*exp(x)+exp(y)*exp(y)))

printf("x,y在第三象限");

elseif(z==(tan(x)+tan(y)))

printf("x,y在第四象限");

}

5318

编程序,输入一个整数,判断它能否被3、5、7整除,并输出如下信息。

(1)能同时被3、5、7整除;

(2)能同时被两个数整除,并指明是哪两个数;

(3)能被一个数整除,并指明是哪个数;

(4)不能被所有数整除。

#include

voidmain(){

inta;

scanf("%d",&a);

if(a%3==0&&a%5==0&&a%7==0)

printf("能同时被357整除");

elseif(a%3==0&&a%5==0)

printf("能同时被35整除");

elseif(a%3==0&&a%7==0)

printf("能同时被37整除");

elseif(a%5==0&&a%7==0)

printf("能同时被57整除");

elseif(a%3==0)

printf("能被3整除");

elseif(a%5==0)

printf("能被5整除");

elseif(a%7==0)

printf("能被7整除");

elseif(a%3!

=0&&a%5!

=0&&a%7!

=0)

printf("不能被所有数整除");

}

5319

某旅游宾馆房间价格随旅游季节和团队规模浮动。

规定:

在旅游旺季(7-9月份),20房间以上团队,优惠30%;不足20房间团队,优惠15%。

在旅游淡季,20房间以上团队,优惠50%;不足20房间团队,优惠30%。

编程序,根据输入的月份、订房间数,输出总金额。

5320

某货运公司按如下公式计算运费:

运费=里程*货物重量*单价

除此之外还按表给予折扣。

编一个计算运费的程序。

重量/kg

>6

[6,12)

[12,18)

[18,24)

>=24

里程<500

0%

1%

2%

5%

8%

1000>里程>=500

1%

2%

5%

8%

12%

里程>=1000

2%

5%

8%

12%

16%

A货物重量b里程c单价

#include

voidmain(){

floata,b,c,w;

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

w=a*b*c;

if(b<500)

switch((int)(a/6)){

case0:

w;break;

case1:

w=w*(1-0.01);break;

case2:

w=w*(1-0.02);break;

case3:

w=w*(1-0.05);break;

default:

w=w*(1-0.08);break;}

if(b>500&&b<1000)

switch((int)(a/6)){

case0:

w=w*(1-0.01);break;

case1:

w=w*(1-0.02);break;

case2:

w=w*(1-0.05);break;

case3:

w=w*(1-0.08);break;

default:

w=w*(1-0.12);break;}

if(b>=1000)

switch((int)(a/6)){

case0:

w=w*(1-0.02);break;

case1:

w=w*(1-0.05);break;

case2:

w=w*(1-0.08);break;

case3:

w=w*(1-0.12);break;

default:

w=w*(1-0.16);break;}

printf("%f",w);

}

5321

某商场打折促销。

(1)购买不足200元货物,不赠代金券;

(2)购买满200元货物,赠50元代金券;

(3)购买满400元货物,赠150元代金券;

(4)购买满600元货物,赠200元代金券;

(5)购买满800元货物,赠300元代金券;

(6)购买满1000元货物,赠400元代金券;

(7)超过1000元,赠总金额50%元代金券;

编程序,求买x元商品,获得的代金券数。

#include

voidmain(){

floata,b;

scanf("%f",&a);

switch((int)(a/200)){

case0:

b=0;break;

case1:

b=50;break;

case2:

b=150;break;

case3:

b=200;break;

case4:

b=300;break;

case5:

b=400;break;

default:

b=0.5*a;}

printf("%f",b);}

5322

编写一个程序,从键盘输入一个整数,判断该数是否为偶数。

例如:

输入5,则输出“奇数”,如果输入8,则输出“偶数”。

#include

voidmain(){

inta;

scanf("%d",&a);

if(a%2==0)

printf("偶数");

else

printf("奇数");

}

5401

某评估单位要对学生的学习情况进行评估,需要计算每个学生的平均学习成绩。

编程序,从终端逐次输入一个学生n门课程的成绩,计算并输出他的平均成绩。

#include

voidmain(){

floats,a;

intk,m,n;

k=1;s=0;

scanf("%d",&n);

do{

scanf("%d",&m);

s=s+m;

k++;

}

while(k<=n);

a=s/n;

printf("%f",a);

}

5402

编程序计算数列ak=1/k(k+1)前n项和。

#include

voidmain(){

intn,i;

floatsum;

scanf("%d",&n);

sum=0;

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

sum=sum+1.0/(i*(i+1.0));

printf("%f",sum);

}

5403

编程序,输入一个年份,求该年以后的n个闰年。

#include

voidmain(){

intn,y;

scanf("%d",&y);

scanf("%d",&n);

y=(y/4+1)*4;

do{

if((y%4==0)&&(y%100!

=0)||(y%400==0)){

printf("%d",y);

n=n-1;}

y=y+4;}

while(n>0);

}

5404

编程序,按下述公式求自然对数底e的近似值。

e=1+1/1!

+1/2!

+……+1/n!

#include"stdio.h"

voidmain(){

floatsum=0,s=1,n=1;

while(1.0/n>=1e-5){

s=s*n;n=n+1;

sum=sum+(1.0/s);}

sum=sum+1;

printf("%f",sum);

}

5405

编程序,统计以100为结束符的整数输入流中-1、0、+1的出现次数并输出。

#include

voidmain(){

inti,s=1;

floatx,e=1,y=1;

scanf("%f",&x);

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

{y=y*x;

e=e+y/(s*i);}

printf("%f",e);}

5406

编程序,打印99乘法表。

#include

voidmain(){

inti,j;

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

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

printf("%2d*%2d=%2d",i,j,i*j);

printf("\n");}}老师

#include

voidmain(){

inti,j;

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

printf("%4d",i);

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

printf("%4d",i*j);

printf("\n");

}

printf("%4c",'*');

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

printf("%4d",i);

printf("\n");

}书上

5407

编程序,打印100以内的素数。

#include"stdio.h"

voidmain(){

inti,j;

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

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

if(i%j==0)break;

if(j>=i)

printf("%d",i);}

}

5408

编程序,输出斐

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

当前位置:首页 > 经管营销 > 经济市场

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

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