最新C语言编程个人真情奉献答案.docx

上传人:b****7 文档编号:10616355 上传时间:2023-02-21 格式:DOCX 页数:41 大小:43.81KB
下载 相关 举报
最新C语言编程个人真情奉献答案.docx_第1页
第1页 / 共41页
最新C语言编程个人真情奉献答案.docx_第2页
第2页 / 共41页
最新C语言编程个人真情奉献答案.docx_第3页
第3页 / 共41页
最新C语言编程个人真情奉献答案.docx_第4页
第4页 / 共41页
最新C语言编程个人真情奉献答案.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

最新C语言编程个人真情奉献答案.docx

《最新C语言编程个人真情奉献答案.docx》由会员分享,可在线阅读,更多相关《最新C语言编程个人真情奉献答案.docx(41页珍藏版)》请在冰豆网上搜索。

最新C语言编程个人真情奉献答案.docx

最新C语言编程个人真情奉献答案

 1.4小明上小学一年级了,老师已经教会了他们进行整数的+、-、*、/、%计算,下面老师开始出题,给出一个简单的算术表达式,请小明给出计算结果。

输入:

接受两个整数,每个整数之间使用空格分隔。

例如输入格式为:

123 444

输出:

分别输出进行+、-、*、/、*之后的运行结果。

#include

#include

intmain()

{

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

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

g=a+b;

c=a-b;

d=a*b;

e=a/b;

f=a%b;

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

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

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

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

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

return0;}

3.2钟面上的时针和分针之间的夹角总是在0度~359度之间。

举例来说,在十二点的时候两针之间的夹角为0度,而在六点的时候夹角为180度,在三点的时候为90度。

本题要解决的是计算0:

00到12:

00之间任意一个时间的夹角。

输入:

 

每组测试数据包含两个数字:

第一个数字代表小时(大于等于0小于等于12),第二个数字代表分(在区间[0,59]上)。

 

输出:

 

对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。

友情提示:

以表中心到12点的连线为基准,分针每走1分钟是6度,时针与基准的夹角每个小时也是30度,从整点开始,每过1分钟时针再增加0.5度。

提示:

时钟夹角计算公式|5.5m-30h|,h为时针,m为分针。

求浮点型绝对值的函数为fabs,需要包含math.h头文件

#include

#include

#include

intmain()

{

intm,h;

doublea;

scanf("%d%d",&h,&m);

printf("At%d:

%02d",h,m);

a=fabs(5.5*m-30*h);

if(a>180)

a=360-a;

printf("theangleis%.1fdegrees.\n",a);

return0;}

3.3如果已知圆柱的底面半径r,以及高h,则可计算出圆柱的侧面积s=2πrh,体积v=πr2h。

其中π=3.1415926

输入

第一行输入圆柱的底面半径r

第二行输入圆柱的高h

输出

s=<圆柱的侧面积>,v=<圆柱的体积>

要求

1.所有变量都定义为双精度类型

2.结果精确到小数点后两位

#include

#include

#include

#definePI3.1415926

intmain()

{

doubleh,r,s,v;

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

s=2*PI*r*h;

v=PI*r*r*h;

printf("%6.2lf,v=%6.2lf\n",s,v);

return0;

}

 3.4 任意从键盘上输入一个三位正整数,要求正确地分离出它的个位、十位和百位,并分别在屏幕上输出。

     比如输入的三位正整数

#include

#include

#include

#definePI3.1415926

intmain()

{

inta,b,c,d;

scanf("%d",&a);

b=a/100;

c=a%100/10;

d=a%100%10;

printf("b=%d,c=%d,d=%d",b,c,d);

return0;

}

3.5已知笼中有头h个,有脚f条,问笼中鸡兔各有多少只?

输入:

头和脚的数目

输出:

兔子和鸡的数目(输出语句为:

printf("rabbit=%d,chicken=%d",rabbit,chicken);)

Sample

输入:

1020

输出:

      rabbit=0,chicken=10

#include

#include

#include

#definePI3.1415926

intmain()

{

inth,f,a,b;

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

b=f/2-h;

a=h-b;

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

return0;

4.1经常出国旅行的驴友都知道,需要时时了解当地的气温状况,但不少国家采用了不同的温度计量单位:

有些使用华氏温度标准(F),有些使用摄氏温度(C)。

现在,请你根据温度转换公式设计一个温度转换程序,可以进行温度转换。

如果输入摄氏温度,显示转换的华氏温度;如果输入华氏温度,显示转换的摄氏温度。

温度转换的公式为:

F=(C×9/5)+32;C=(F-32)×5/9;式中F--华氏温度,C--摄氏温度。

输入:

第一个数据(1或2)确定转换的类型:

华氏转摄氏

(1);摄氏转华氏

(2);

第二个数据是相应需要转换的温度值。

输出:

相应的转换后的温度值(保留小数点后2位)。

(1法)#include

#include

#include

#definePI3.1415926

intmain()

{

intc;

doubleC,F,a;

scanf("%d%lf",&c,&a);

if(c==1)

{

C=(a-32)*5/9;

printf("%5.2f",C);

}

elseif(c==2)

{

F=(a*9/5)+32;

printf("%5.2f",F);

}

return0;

}

1.

(2)法#include   

2.int main()  

3.{  

4.   int a;  

5.   double f,c;  

6.   scanf("%d",&a);  

7.   if(a==1)  

8.   {  

9.     scanf("%lf",&f);  

10.   c=(f-32)*5/9;  

11.   printf("The Centigrade is %.2f\n",c);  

12.   }  

13.  

14.   else{  

15.   scanf("%lf",&c);  

16.   f=(c*9/5)+32;  

17.   printf("The Fahrenheit is %.2f\n",f); }  

18.   return 0;  

19.}

 

有一分段函数,y=f(x)。

当x小于6时,y=x-12;当x大于等于6且小于15时,y=3x-1;当x大于等于15时,y=5x+9.从键盘上输入一个整数x,输出对应的y值。

(1)法#include

#include

#include

#definePI3.1415926

intmain()

{

intx,y;

scanf("%d",&x);

if(x<6)

{

y=x-12;

}

elseif(x>=6&&x<15)

{

y=3*x-1;

}

else

{

y=5*x+9;

}

printf("%d",y);

return0;

}

(2)法#include

#include

#include

#definePI3.1415926

intmain()

{

intx,y;

scanf("%d",&x);

if(x<6)

{

y=x-12;

}

if(x>=6&&x<15)

{

y=3*x-1;

}

if(x>=15)

{

y=5*x+9;

}

printf("%d",y);

return0;

}

4.4输入一个四位数,判断千位、百位、十位和个位数字之和是否为偶数,如果是,输出Yes,如果不是,输出No;如果不是四位数,输出Invaliddata。

#include

#include

intmain()

{

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

scanf("%d",&a);

if(a<999||a>9999)

{printf("involide");}

else

{

b=a/1000;

c=a%1000/100;

d=a%1000%100/10;

e=a%1000%100%10;

f=b+c+d+e;

if(f%2==0)

printf("yes");

if(f%2!

=0)

printf("no");

}

return0;

}

4.5输入三角型的三条边,判断三角形的形状。

假设输入的三边边长均>0。

输入:

三角型的3条边的长度(int型)。

输出:

等边三角形:

equilateraltriangle.

等腰三角形:

isocelestriangle.

不构成三角形:

non-triangle.

一般三角形:

triangle.

1.#include  

2.#include   

3.  

4.int main()  

5.{  

6.     float a,b,c;  

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

8.     if(a+b

9.          printf("non-triangle.\n");  

10.     else if(a==b&&b==c)  

11.          printf("equilateral triangle.\n");  

12.     else if(a==b||b==c||a==c)  

13.          printf("isoceles triangle.\n");  

14.     else  

15.          printf("triangle.\n");  

16.     return 0;  

17.}  

4.6一年有365天,有的月份有31天,有的有30天,2月份闰年的时候是29天,非闰年的时候是28天。

现在要求从键盘上输入一个年份和月份,输出其对应的天数。

#include

#include

intmain()

{

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

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

if(b==1||b==3||b==5||b==7||b==8||b==10||b==12)

{

printf("31");

}

if(b==4||b==6||b==9||b==11)

{

printf("30");

}

if(b==2&&a%4==0&&a%100!

=0||a%400==0)

{printf("29");}

if(b==2&&a%4!

=0||a%100==0)

{

printf("28");

}

return0;

}

4.7你去邮局给朋友寄礼物。

发现邮局对邮寄包裹的费用是这样规定的:

如果包裹长宽高任意一个尺寸超过1米,或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费0.2元,不同重量的邮资按下表计算:

重量(千克)

收费标准(元)

小于10

0.80

大于等于10但不超过20

0.75

大于等于20但不超过30

0.70

编写程序,输入包裹的长、宽、高尺寸和重量,输出所需的邮资(输出结果中包含两位小数即可),超出尺寸或重量的输出"Error”.

#include

#include

intmain()

{intd;

floata,b,c,e,f;

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

if(a>1||b>1||c>1||d>30)

{

printf("error");

}

elseif(d<10)

{

printf("%.2f",e,e=0.8*d+0.2);

}

elseif(d<20&&d>=10)

{

printf("%.2f",e,e=0.75*d+0.2);

}

else

{

printf("%.2f",e,e=0.7*d+0.2);

}

return0;

}

4.9输入用数字(1--7)表示的星期几,输出星期几的英文表示,输入的数字有误,输出单词"Error(回车)"。

提醒:

周一到周日必须都判断,单词拼法Sunday Saturday Friday Thursday Wednesday TuesdayMonday,另外还要对不合法的数据进行判断。

1.#include   

2.int main()  

3.{  

4.    int a;  

5.    scanf("%d",&a);  

6.    switch(a)  

7.{  

8.    case 1:

printf("Monday\n");break;  

9.    case 2:

printf("Tuesday\n");break;  

10.    case 3:

printf("Wednesday\n");break;  

11.    case 4:

printf("Thursday\n");break;  

12.    case 5:

printf("Friday\n");break;  

13.    case 6:

printf("Saturday\n");break;  

14.    case 7:

printf("Sunday\n");break;  

15.    default:

   printf("Error\n");  

16.}  

17.    return 0;  

18.}  

4.10我们将字符分为五类:

大写字母、小写字母、数字、控制字符、其他字符。

编写程序,从键盘输入一个字符,输出字符所属的类型:

大写字母时输出capitalletters,小写字母时输出smallletters,数字是输出figures,其他字符时输出others。

#include

intmain()

{

charc;

c=getchar();

if(c>='0'&&c<='9')

printf("figures\n");

elseif(c>='A'&&c<='Z')

printf("capitalletters\n");

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

printf("smallletters\n");

else

printf("others\n");

return0;

}

5.3编写程序,输入n的值,求:

1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n(保留四位小数)

#include

#include

#include

intmain()

{

intb,c,n;

floatsum=0.0;

scanf("%d",&n);

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

{

if(b%2==0)

c=-1

;else

c=1;

sum=sum+c*1.0/b;}

printf("%.4f",sum);

return0;

}

5.4有一个分数序列:

...............,输入整数n,求出其前n项的和。

输出语句格式为:

printf("sum=%16.10f\n",s);

#include

intmain()

{

intn,i;

floata=2.0,sum;

intb=1,c;

scanf("%d",&n);

for(i=1;i<=n;i++)//控制第几项;

{

sum+=a/b;

c=b;

b=a;

a=c+b;}

printf("%16.10f",sum);

return0;

}

 

5.5编写程序,从键盘输入整数n,求e的值.e=1+1/1!

+1/2!

+1/3!

+..+1/n!

 注意:

用double型数据计算输出语句:

printf("e=%16.10f\n",e);

#include

intmain()

{

intn;

doublea,b=1,c,d,e=1.0;

scanf("%d",&n);

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

{

e=e+1.0/(b*a);

b=b*a;

}

printf("%16.10f\n",e);

return0;

}

5.6输入两个正整数m和n,求它们的最大公约数和最小公倍数

比如,输入m和n的值分别为14和21,则最大公约数为7,最小公倍数为42。

#include

#include

intmain()

{

longintm,i,j,k,n;

scanf("%d%d",&m,&n);

if(m<=n)

{

for(i=m;i<=m;i--)

{if(m%i==0&&n%i==0)

break;}

printf("%ld\n",i);

j=m/i*n;

printf("%ld",j);}

else

{

for(i=n;i<=n;i--)

{if(n%i==0&&m%i==0)

break;}

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

j=m/i*n;

printf("%d",j);}

 

return0;

}

5.7输出所有的水仙花数。

所谓的水仙花数是指一个3位数,其各位数字立方和等于该数本身。

例如153是一水仙花数,因为153=13+53+33

输出语句:

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

#include

intmain()

{

inta,b,c,n=100;

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

{

a=n/100;

b=n%100/10;

c=n%100%10;

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

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

}

return0;

}

5.8一个数如果恰好等于它的因子之和,这个数就称为完数。

例如,6的因子为1,2,3,且6=1+2+3,因此6是完数,从键盘上输入一个正整数,判断其是否为完数。

如果是,则按照如下格式输出。

比如,输入6,则输出Yes,itsfactorsare123;如果输入8,则输出No

#include

intmain()

{

inta,b,c,n,s=0;

scanf("%d",&n);

for(a=1;a

{

if(n%a==0)

s=s+a;

}

if(s==n)

{

printf("yes");

for(b=1;b

{

if(n%b==0)

printf("%d",b);

}

}

else

{

printf("no");

}

return0;

}

5.9输入两个正整数m和n,求出[m,n]区间的所有素数

#include

intmain()

{

inta,b,c,n,m,s=0;

scanf("%d%d",&m,&n);

if(m

{for(a=m;a<=n;a++)

{for(b=2;b

if(a%b==0)

break;

if(b==a)

printf("%d",a);

}}

else

{for(a=n;a<=m;a++)

{

for(b=2;b

if(a%b==0)//if(a%b!

=0)

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

break;//(则输出111111111111.。

121212.。

1313.。

202020.。

if(b==a)

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

}}

return0;

}

5.10输入一个数,判断是否为回文数,如果是,输出Yes,否则输出No(121逆序121,即为回文数)

#include

intmain()

{

inta,b,c,n,m,s=0;

scanf("%d",&n);

//for(a=1;a>=1;a++)可用for循环,也可用式子循环。

//此处不可用,因为无需连续运算,故只用式子循环即可。

b=n;

while(b!

=0)//do

//{

//}while(b!

=0);效果一样;

{

a=b%10;

b=b/10;

s=s*10+a;

}

if(s==n)

{

printf("yes");

}

elseif(s!

=n)

{

printf("no");

}

return0;

}

5.11有一只猴子,第一天摘了若干个桃子,当即吃了一半,但还觉得不过瘾,就又多吃了一个。

第2天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃了两个。

以后每天早上都吃了前一天剩下的一半加天数个(例如,第5天吃了前一天剩下的一半加5个)。

到第n天早上再想吃的时候,就只剩下一个桃子了。

输入:

天数n

输出:

第一天的桃子个数,输出语句为printf("The monkey got %d peachs in first day.\n",sum);   

Smaple:

Input:

5

Output

 The monkey got 114 peachs i

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

当前位置:首页 > 高中教育 > 其它课程

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

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