C语言编程个人真情奉献答案.docx
- 文档编号:9426763
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:40
- 大小:45.70KB
C语言编程个人真情奉献答案.docx
《C语言编程个人真情奉献答案.docx》由会员分享,可在线阅读,更多相关《C语言编程个人真情奉献答案.docx(40页珍藏版)》请在冰豆网上搜索。
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. else{
14. scanf("%lf",&c);
15. f=(c*9/5)+32;
16. printf("The Fahrenheit is %.2f\n",f); }
17. return 0;
18.}
有一分段函数,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.int main()
4.{
5. float a,b,c;
6. scanf("%f%f%f",&a,&b,&c);
7. if(a+b 8. printf("non-triangle.\n"); 9. else if(a==b&&b==c) 10. printf("equilateral triangle.\n"); 11. else if(a==b||b==c||a==c) 12. printf("isoceles triangle.\n"); 13. else 14. printf("triangle.\n"); 15. return 0; 16.} 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++) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编程 个人 真情 奉献 答案