北京理工大学C语言网络教室编程练习题答案.docx
- 文档编号:679272
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:138
- 大小:720.82KB
北京理工大学C语言网络教室编程练习题答案.docx
《北京理工大学C语言网络教室编程练习题答案.docx》由会员分享,可在线阅读,更多相关《北京理工大学C语言网络教室编程练习题答案.docx(138页珍藏版)》请在冰豆网上搜索。
北京理工大学C语言网络教室编程练习题答案
C语言程序设计网络课堂习题(1-56题)
1.Helloworld.
输入:
无
输出:
Helloworld.
程序:
#include
intmain()
{
printf("Helloworld.\n");
return0;
}
2.WelcometoBeijing.
程序:
#include
intmain()
{
printf("Welcome\n");
printf("to\n");
printf("Beijing.\n");
return0;
}
3.求A+B
输入:
整数1整数2
输出:
整数1+整数2=和
程序:
#include
intmain()
{
inta,b;
scanf("%d",&a);
scanf("%d",&b);
printf("%d+%d=%d\n",a,b,a+b);
return0;
}
4.求x的3次方
输入:
一个整数。
输出:
该整数的3次方值。
程序:
#include
intmain()
{
intx;
scanf("%d",&x);
printf("%d\n",x*x*x);
return0;
}
5.学习打印你的第一个图形
编写一个小程序,要求输出的是4行由*号组成的等腰三角形。
程序:
#include
intmain()
{
printf("*\n");
printf("***\n");
printf("*****\n");
printf("*******\n");
return0;
}
6.一年级的算术题
输入:
接受两个整数,每个整数之间使用空格分隔。
例如输入格式为:
123444
输出:
分别输出按照整型数据进行+、-、*、/、*之后的运行结果。
程序:
#include
intmain()
{
inta,b;
scanf("%d%d",&a,&b);
printf("%d+%d=%d\n",a,b,a+b);
printf("%d-%d=%d\n",a,b,a-b);
printf("%d*%d=%d\n",a,b,a*b);
printf("%d/%d=%d\n",a,b,a/b);
printf("%d%%%d=%d\n",a,b,a%b);
return0;
}
7.求两个变量的最小值
输入:
两个整型数
输出:
两个整型值中的最小值
程序:
#include
intmain()
{
inta,b;
scanf("%d%d",&a,&b);
printf("min=%d\n",a
a:
b);
return0;
}
8.判断三角形的形状
输入:
三角型的3条边的长度(int型)。
输出:
等边三角形:
equilateraltriangle
等腰三角形:
isocelestriangle
不构成三角形:
non-triangle
一般三角形:
triangle
程序:
#include
intmain()
{
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
if(a==b&&b==c&&a==c)
printf("equilateraltriangle.\n");
elseif(a==b||a==c||b==c)
printf("isocelestriangle.\n");
else
printf("triangle.\n");
}
else
printf("non-triangle.\n");
return0;
}
9.计算圆柱的侧面积及体积
输入:
第一行输入圆柱的底面半径r
第二行输入圆柱的高h
输出:
s=<圆柱的侧面积>,v=<圆柱的体积>
要求
1.所有变量都定义为双精度类型
2.结果精确到小数点后两位
程序:
#include
#definePI3.1415926
intmain()
{
doubler,h,s,v;
scanf("%lf",&r);
scanf("%lf",&h);
s=2*PI*r*h;
v=PI*r*r*h;
printf("s=%.2f,v=%.2f\n",s,v);
return0;
}
10.计算时钟的夹角
背景:
钟面上的时针和分针之间的夹角总是在0~180之间(包括0和180)。
举例来说,在十二点的时候两针之间的夹角为0,而在六点的时候夹角为180,在三点的时候为90。
本题要解决的是计算12:
00到11:
59之间任意一个时间的夹角。
输入:
每组测试数据包含两个数字:
第一个数字代表小时(大于0小于等于12),第二个数字代表分(在区间[0,59]上)。
输出:
对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。
输出格式如下所示。
程序:
#include
#include
intmain()
{
inth,m;
floatd1,d2,d;
scanf("%d%d",&h,&m);
d1=30*(h+m/60.0);
d2=m*360/60.0;
d=fabs(d1-d2);
if(d>180)
d=360-d;
printf("At%d:
%dtheangleis%.1fdegrees.\n",h,m,d);
return0;
}
11.找出最大素数
素数是指一个只能被1和它本身整除的数,在数论中占有重要的研究地位,在当代密码学中也被广泛应用。
输入:
取值范围
输出:
该范围内的最大素数
程序:
#include
intmain()
{
intn,i,j;
scanf("%d",&n);
for(i=n;i>=1;i--)
{for(j=2;j
if(i%j==0)
break;
if(j==i)
{
printf("Themaxprimenumberis%d.\n",i);
break;
}
}
}
12.求最后3位数值
输入:
a和n的值。
假设a<=150。
输出:
求a的n次方的最后3位数。
程序:
#include
intmain()
{
longints=1;
inta,n,i=1,t=1;
scanf("%d%d",&a,&n);
if(n==0)
printf("Thelast3numbersis1.\n");
else
{
for(i=1;i<=n;i++)
{
s=(s*a)%1000;
}
t=s%1000;
if(t>=0&&t<10)printf("Thelast3numbersis00%d.\n",t);
if(t>=10&&t<100)printf("Thelast3numbersis0%d.\n",t);
if(t>=100&&t<1000)printf("Thelast3numbersis%d.\n",t);
}
return0;
}
13.贪吃的猴子
有一只猴子,第一天摘了若干个桃子,当即吃了一半,但还觉得不过瘾,就又多吃了一个。
第2天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃了两个。
以后每天早上都吃了前一天剩下的一半加天数个(例如,第5天吃了前一天剩下的一般加5个)。
到第n天早上再想吃的时候,就只剩下一个桃子了。
输入:
天数n
输出:
第一天的桃子个数
程序:
#include
intmain()
{
inti,n,amount=1;
scanf("%d",&n);
for(i=n-1;i>=1;i--)
amount=2*(amount+i);
printf("Themonkeygot%dpeachsinfirstday.\n",amount);
}
14.黑色星期五
在西方,星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。
所以,不管哪个月的十三日又恰逢星期五就叫“黑色星期五”。
输入:
年份
输出:
判断该年是否包含黑色星期五,如包含,给出具体日期
程序:
#include
intmain()
{
inti,n=0,year,month[12]={0};
inta[13]={0,13,44,73,104,134,165,195,226,257,287,318,348};
intb[13]={0,13,44,72,103,133,164,194,225,256,286,317,347};
scanf("%d",&year);
for(i=1;i<13;i++)
{
if((year%4==0&&year%100!
=0)||year%400==0)
{
if((year-1+((year-1)/4)-((year-1)/100)+((year-1)/400)+a[i])%7==5)
{
n++;
month[n]=i;
}
}
else
if((year-1+((year-1)/4)-((year-1)/100)+((year-1)/400)+b[i])%7==5)
{
n++;
month[n]=i;
}
}
if(n==1)
{
printf("Thereis%dBlackFridayinyear%d.\n",n,year);
printf("Itis:
\n");
printf("%d/%d/13\n",year,month[1]);
}
else
{
printf("Thereare%dBlackFridaysinyear%d.\n",n,year);
printf("Theyare:
\n");
for(i=1;i<=n;i++)
{
printf("%d/%d/13\n",year,month[i]);
}
}
return0;
}
15.你会输出一行星号?
我们才开始上机,现在需要我们用最简单得办法,在一行中输出N个星号。
输入:
N值
输出:
一行中N个星号。
程序:
#include
intmain()
{
inti,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
printf("*");
printf("\n");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京理工大学 语言 网络教室 编程 练习题 答案