北理乐学C语言答案最新Word文档下载推荐.docx

上传人:b****6 文档编号:16285701 上传时间:2022-11-22 格式:DOCX 页数:138 大小:720.90KB
下载 相关 举报
北理乐学C语言答案最新Word文档下载推荐.docx_第1页
第1页 / 共138页
北理乐学C语言答案最新Word文档下载推荐.docx_第2页
第2页 / 共138页
北理乐学C语言答案最新Word文档下载推荐.docx_第3页
第3页 / 共138页
北理乐学C语言答案最新Word文档下载推荐.docx_第4页
第4页 / 共138页
北理乐学C语言答案最新Word文档下载推荐.docx_第5页
第5页 / 共138页
点击查看更多>>
下载资源
资源描述

北理乐学C语言答案最新Word文档下载推荐.docx

《北理乐学C语言答案最新Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《北理乐学C语言答案最新Word文档下载推荐.docx(138页珍藏版)》请在冰豆网上搜索。

北理乐学C语言答案最新Word文档下载推荐.docx

x);

%d\n"

x*x*x);

}

5.学习打印你的第一个图形

编写一个小程序,要求输出的是4行由*号组成的等腰三角形。

intmain()

{

*\n"

***\n"

*****\n"

*******\n"

6.一年级的算术题

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

例如输入格式为:

123444

分别输出按照整型数据进行+、-、*、/、*之后的运行结果。

%d%d"

%d-%d=%d\n"

a,b,a-b);

%d*%d=%d\n"

a,b,a*b);

%d/%d=%d\n"

a,b,a/b);

%d%%%d=%d\n"

a,b,a%b);

7.求两个变量的最小值

两个整型数

两个整型值中的最小值

%d%d"

min=%d\n"

a<

b?

a:

8.判断三角形的形状

输入:

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

等边三角形:

equilateraltriangle

等腰三角形:

isocelestriangle

不构成三角形:

non-triangle

一般三角形:

triangle

inta,b,c;

%d%d%d"

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)

isocelestriangle.\n"

else

triangle.\n"

}

non-triangle.\n"

9.计算圆柱的侧面积及体积

输入:

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

第二行输入圆柱的高h

s=<

圆柱的侧面积>

v=<

圆柱的体积>

要求

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

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

#definePI3.1415926

doubler,h,s,v;

%lf"

r);

h);

s=2*PI*r*h;

v=PI*r*r*h;

s=%.2f,v=%.2f\n"

s,v);

10.计算时钟的夹角

背景:

钟面上的时针和分针之间的夹角总是在0~180之间(包括0和180)。

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

本题要解决的是计算12:

00到11:

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

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

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

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

输出格式如下所示。

math.h>

inth,m;

floatd1,d2,d;

h,&

m);

d1=30*(h+m/60.0);

d2=m*360/60.0;

d=fabs(d1-d2);

if(d>

180)

d=360-d;

At%d:

%dtheangleis%.1fdegrees.\n"

h,m,d);

11.找出最大素数

素数是指一个只能被1和它本身整除的数,在数论中占有重要的研究地位,在当代密码学中也被广泛应用。

取值范围

该范围内的最大素数

intn,i,j;

n);

for(i=n;

i>

=1;

i--)

{for(j=2;

j<

i;

j++)

if(i%j==0)

break;

if(j==i)

{

Themaxprimenumberis%d.\n"

i);

}

12.求最后3位数值

a和n的值。

假设a<

=150。

求a的n次方的最后3位数。

longints=1;

inta,n,i=1,t=1;

if(n==0)

Thelast3numbersis1.\n"

for(i=1;

i<

=n;

i++)

{

s=(s*a)%1000;

}

t=s%1000;

if(t>

=0&

t<

10)printf("

Thelast3numbersis00%d.\n"

t);

=10&

100)printf("

Thelast3numbersis0%d.\n"

=100&

1000)printf("

Thelast3numbersis%d.\n"

13.贪吃的猴子

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

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

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

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

天数n

第一天的桃子个数

inti,n,amount=1;

for(i=n-1;

i--)

amount=2*(amount+i);

Themonkeygot%dpeachsinfirstday.\n"

amount);

14.黑色星期五

在西方,星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。

所以,不管哪个月的十三日又恰逢星期五就叫“黑色星期五”。

年份

判断该年是否包含黑色星期五,如包含,给出具体日期

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};

year);

for(i=1;

13;

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)

if(n==1)

Thereis%dBlackFridayinyear%d.\n"

n,year);

Itis:

\n"

%d/%d/13\n"

year,month[1]);

Thereare%dBlackFridaysinyear%d.\n"

Theyare:

for(i=1;

printf("

year,month[i]);

15.你会输出一行星号?

我们才开始上机,现在需要我们用最简单得办法,在一行中输出N个星号。

N值

一行中N个星号。

inti,n;

*"

16.计算SUM的值

已知公式:

SUM=1+1/2+1/3+1/4+...+1/n

n输出:

表达式sum的值。

结果保留6位小数。

doublesum=0;

for(i=1;

sum+=1.0/i;

sum=%.6lf\n"

sum);

17.寻找特殊整数

请编写一个程序寻找一种特殊整数:

一个n位的正整数等于其各位数字的n次方之和。

例如:

407=4×

4+0×

0+7×

7。

所以407就是一个特殊数。

正整数的位数n(n<

=6)。

所有此n位特殊数。

每个数占一行。

若不存在符合条件的特殊数,则输出提示:

“Nooutput.”;

若存在,则从小到大进行输出。

说明:

假设输入为4,在4位整数中,有3个4位的特殊数,则输出格式为(输出中的1111、2222和9999并不是4位特殊数,只是格式样例):

1111

2222

9999

intn,i,j,num,t,s=0,t1,flag=0;

t=pow(10,n-1);

for(i=t;

t*10;

t1=i;

s=0;

for(j=1;

t1!

=0;

j++)

num=t1%10;

s+=pow(num,n);

t1=t1/10;

if(s==i)

flag=1;

if(flag==0)

Nooutput.\n"

18.空心的倒三角型

输入三角形的高度(h>

=0)。

打印相应的空心倒三角形。

图样参见测试用例。

inti,j,h;

=h;

i++)

for(j=1;

"

if(i==1||i==h)

=2*(h-i)+1;

else

=2*(h-i)-1;

*\n"

19.空心字符菱形

菱型起始字母和菱形的高度。

参看测试用例,打印空心的由字符组成的菱形。

charch;

%c%d"

ch,&

for(j=1;

=h-i;

%c"

ch+i-1);

=2*i-3;

if(i==1)

continue;

%c\n"

for(i=h+1;

=2*h-1;

{

=i-h;

ch+(2*h-1)-i);

=(2*h-1-i)*2-1;

if(i==2*h-1)

20.空心梯形

输入行数n和首数字字符,在屏幕上输出由数字围起的高和下底宽度均n的空心梯形。

要求:

输出的数字是循环的,即输出数字9后再输出的数字是0。

行数n和首字符

空心梯形

inti,j,n,f,t=0;

n,&

f);

t=f;

=3*n-2;

if(j==3*n-2)

%d"

if(j<

(3*n-1)/2)

if(t==9)t=0;

else

t++;

elseif(j==(3*n-1)/2&

n%2==0)continue;

if(t==0)t=9;

else

t--;

}

for(i=2;

for(j=1;

=2*(i-1);

if(i==n)

for(j=1;

=(n+1)/2;

if(t==9)

{

t=0;

printf("

}

else

++t);

=n/2;

if(t==0&

n%2!

=0)

t=9;

elseif(j==1&

n%2==0)

{

if(j==n/2)

printf("

else

continue;

}

t--;

if(j==n/2)

if(t==9)

printf("

0"

for(j=1;

=6*n-4*i-3;

0\n"

t=0;

{

H1:

计算通用产品代码(UPC)的校验位(选作)

下面是一种计算校验位的方法:

首先把第一位、第三位、第五位、第七位、第九位和第十一位数字相加。

然后把第二位、第四位、第六位、第八位和第十位数字相加。

接着把第一次加法结果乘以3后再加上第二次加法的结果。

随后,再把上述结果减去1。

减法后的结果除以10取余数。

最后,用9减去上一步骤中得到的余数。

现在以Morton碘盐为例,第一组数字的加法是0+4+0+0+0+3=7,而第二组数字的加法是2+6+0+1+0=9。

把第一组加法值乘以3后再加上第二组加法值得到的结果是30。

再减去1,结果变为29。

再把这个值除以10取余数为9。

9在减去余数结果9,最终值为0。

每次输入三行数据,第一行是UPC的第一位数字,第二行是UPC的第一组五位数字,第三行是UPC的第二组五位数字。

UPC的校验位

inti,j,s1=0,s2=0,t;

inta[11];

charb[6],c[6];

a[0]);

%s"

b);

c);

for(i=0,j=1;

5;

i++,j++)

a[j]=b[i]-48;

for(i=0,j=6;

a[j]=c[i]-48;

for(i=0;

11;

if(i%2==0)

s1+=a[i];

s2+=a[i];

t=9-(s1*3+s2-1)%10;

H2:

数制转换(选作)

这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。

譬如12和5,在十进制下它们是不等的,但若12使用3进制而5使用六进制或十进制时,它们的值就是相等的。

因此只要选择合适的进制,12和5就可以是相等的。

程序的输入是两个数字M和N(其十进制的值不超过1000000000),它们的进制在2~36之间。

对于十以下的数字,用0~9表示,而十以上的数字,则使用大写的A~Z表示。

求出分别在2~36哪种进制下M和N相等。

若相等则输出相应的进制,若不等则输出错误信息。

当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。

信息的格式见测试用例。

longintpm=0,pn=0,s=0,t=0,w=1,e=1,p=0,q=0;

inta[30],b[30];

charm[30],n[30];

inti,j,g,k,max1=0,max2=0,flag=0;

%s%s"

m,n);

for(i=0;

m[i]!

='

\0'

;

if(m[i]>

A'

m[i]<

Z'

a[i]=m[i]-55;

0'

9'

a[i]=m[i]-48;

max1=max1<

(a[i]+1)?

(a[i]+1):

max1;

2?

2:

pm=i;

for(j=0;

n[j]!

if(n[j]>

n[j]<

b[j]=n[j]-55;

n[j

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

当前位置:首页 > PPT模板 > 商务科技

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

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