c语言经典习题与解答Word文档下载推荐.docx

上传人:b****1 文档编号:14258118 上传时间:2022-10-21 格式:DOCX 页数:29 大小:32.96KB
下载 相关 举报
c语言经典习题与解答Word文档下载推荐.docx_第1页
第1页 / 共29页
c语言经典习题与解答Word文档下载推荐.docx_第2页
第2页 / 共29页
c语言经典习题与解答Word文档下载推荐.docx_第3页
第3页 / 共29页
c语言经典习题与解答Word文档下载推荐.docx_第4页
第4页 / 共29页
c语言经典习题与解答Word文档下载推荐.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

c语言经典习题与解答Word文档下载推荐.docx

《c语言经典习题与解答Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言经典习题与解答Word文档下载推荐.docx(29页珍藏版)》请在冰豆网上搜索。

c语言经典习题与解答Word文档下载推荐.docx

请输入卷面成绩:

"

mark);

scanf("

%d"

&

mark);

getchar();

请输入是否获奖,是y,否n:

);

m=getchar();

if(m=='

y'

mark=mark+5;

if(mark>

100)

mark=100;

你的最后成绩:

%d\n"

}

2.编写一个程序,用户输入年份及月份两个数据,程序输出该月份的天数。

(提示:

对2月要考虑是否闰年,闰年年份要么能被4整除且不能被100整除,要么能被400整除,除此之外都不是闰年)。

intyear,month;

intdays(intyear,intmonth)

{intk;

if((year%4==0)&

&

(year%100!

=0)||(year%400==0))

{

if(month==2)k=1;

if(month==4||month==6||month==9||month==11)k=2;

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)k=3;

else

if(month==2)k=4;

if(month==4||month==6||month==9||month==11)k=5;

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)k=6;

switch(k)

case1:

29days\n"

break;

case2:

30days\n"

case3:

31days\n"

case4:

28days\n"

case5:

case6:

return0;

pleaseinputtheyearandmonth:

year,month);

%d%d"

year,&

month);

days(year,month);

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

(要考虑a、b、c三个系数不同的取值)

#include<

stdio.h>

math.h>

floata,b,c,delta;

printf("

inputthethreecoefficientsoftheequation(A,B,C):

"

scanf("

%f%f%f"

a,&

b,&

c);

if(a!

=0){

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

if(delta>

0)

printf("

x1=%f,x2=%f\n"

(-b+sqrt(delta))/(2*a),(-b-sqrt(delta))/(2*a));

else

if(delta==0)

printf("

x1=x2=%f\n"

-b/(2*a));

else

x1=%f+%fi,x2=%f-%fi\n"

-b/(2*a),sqrt(-delta)/(2*a),-b/(2*a),sqrt(-delta)/(2*a));

}else

if(b!

=0)

x=%f\n"

-c/b);

if(c==0)

0=0!

\n"

%f=0\n"

c);

getchar();

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

加分规则是:

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

编程序,输入某同学的考试成绩,回答在竞赛中获奖等级,计算并输出该某同学的程序设计课成绩。

intwin;

voidmain(void){

输入你的考试成绩:

请选择你参加程序设计大奖赛情况\n"

(0:

未参赛,1:

参赛,2:

三等奖,3:

二等奖,4:

一等奖):

win);

switch(win){

case0:

break;

case1:

mark=mark+5;

case2:

mark=mark+15;

case3:

mark=mark+20;

case4:

mark=mark+30;

}

if(mark>

100)

mark=100;

你的最后成绩是:

getchar();

5.高速公路每公里的收费标准按不同种类汽车如下:

小汽车(car)0.50元

卡车(truck)1.00元

大客车(bus)1.50元

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

#include"

enumtsort{car,truck,bus}sort;

inti;

floatmileage,price;

voidmain(){

printf("

pleasechoose(0.car1.truck2.bus):

);

scanf("

&

i);

switch(i){

case0:

sort=car;

break;

case1:

sort=truck;

case2:

sort=bus;

pleaseinputmileage:

scanf("

%f"

mileage);

switch(sort){

casecar:

price=0.50;

casetruck:

price=1.00;

casebus:

price=1.50;

printf("

cost=%.2f\n"

price*mileage);

}

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

用户输入形如

m#n

的算式,其中m、n为运算数,#为运算符。

(需考虑运算符不合法,及除数为0的情况)

floata,b;

charw;

pleaceinpute#e:

a);

%c"

w);

b);

switch(w){

case'

+'

:

a=a+b;

break;

-'

a=a-b;

*'

a=a*b;

/'

a=a/b;

%.2f\n"

a);

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

降序数是指对于n=d1d2…dk有:

d1≥d2≥…≥dk

intnumber,a,b,c,d;

pleaseinputanumber:

number);

number);

a=number/1000;

b=(number/100)%10;

c=(number%100)/10;

d=number%10;

if((a>

=b)&

(b>

=c)&

(c>

=d))

这个数是降序数"

else

这个数不是降序数"

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

对称数是指正序和反序读都相等的整数,如96769为对称数。

booljudge(intnumber[]){

inti,j;

j=0;

while(number[j+1]!

=0)j++;

i=0;

while(i<

j){

if(number[i]!

=number[j])

returnfalse;

i++;

j--;

returntrue;

main(){

inti,number[5];

boolflag;

pleaseanumber:

for(i=0;

i<

=4;

i++){

number[i]);

flag=judge(number);

if(flag=true)printf("

y"

elseprintf("

n"

9.编写程序,判断给定的3位数是否为Armstrong数。

Armstrong数是指其值等于它每位数字立方和的数,如153就是一个Armstrong数。

math.h"

intnumber,a,b,c;

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

当前位置:首页 > 医药卫生 > 基础医学

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

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