北京理工大学乐学C语言编程汇编Word格式.docx

上传人:b****1 文档编号:4432350 上传时间:2023-05-03 格式:DOCX 页数:167 大小:152.13KB
下载 相关 举报
北京理工大学乐学C语言编程汇编Word格式.docx_第1页
第1页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第2页
第2页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第3页
第3页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第4页
第4页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第5页
第5页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第6页
第6页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第7页
第7页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第8页
第8页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第9页
第9页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第10页
第10页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第11页
第11页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第12页
第12页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第13页
第13页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第14页
第14页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第15页
第15页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第16页
第16页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第17页
第17页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第18页
第18页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第19页
第19页 / 共167页
北京理工大学乐学C语言编程汇编Word格式.docx_第20页
第20页 / 共167页
亲,该文档总共167页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

北京理工大学乐学C语言编程汇编Word格式.docx

《北京理工大学乐学C语言编程汇编Word格式.docx》由会员分享,可在线阅读,更多相关《北京理工大学乐学C语言编程汇编Word格式.docx(167页珍藏版)》请在冰点文库上搜索。

北京理工大学乐学C语言编程汇编Word格式.docx

其它:

1.期中测试1

2.期中测试2

3.期中测试3

4.期中测试(周青班)1

5.期中测试(周青班)2

6.期中测试(周青班)3

7.计算字符串中某字符串出现次数

8.编写程序:

从键盘输入两个字符串,找出其中没有同时出现在两个字符串中的字符。

9.合并删除并排序

10.拱猪积分

11.合并果子

12.大数分解(分解质因数)

13.在指定字符后添加字符串

14.合伙捕鱼

15.统计字符串中各字符的数量

16.从指定位置开始删除字符

17.按要求生成矩阵

18.谁能出线

19.数列Sum

20.仲君小组:

排列字符串

21.字符M

22.数字三角形

23.另一种空心数字梯形

24.字符X

25.字符X升级版

26.矩阵转置45°

27.hybest:

A+B

28.寻找矩阵鞍点

29.洗牌

30.整数拆分

正文部分:

19.判断三角形形状:

要求:

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

假设输入的三边边长均>

0。

(提示:

本题中应该要用到if语句嵌套)

输入:

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

输出:

等边三角形:

equilateraltriangle.

等腰三角形:

isocelestriangle.

不构成三角形:

non-triangle.

一般三角形:

triangle.

测试输入

期待的输出

以文本方式显示

1.2 

2↵

1.equilateral 

triangle.↵

1.3 

1.isoceles 

1.1 

1↵

1.non-triangle.↵

5↵

1.triangle.↵

 

#include<

stdio.h>

main()

{

inta,b,c;

scanf("

%d%d%d"

&

a,&

b,&

c);

if(a+b<

=c||a+c<

=b||b+c<

=a)

printf("

non-triangle.\n"

);

else

if(a==b||b==c||a==c)

if(a==b&

&

b==c&

c==a)

printf("

equilateraltriangle.\n"

isocelestriangle.\n"

else

triangle.\n"

}

20.计算时钟夹角:

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

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

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

输出格式如下所示。

再看一看,想一想:

是否可以不用if语句,只使用printf函数来简化你的程序?

stdlib.h>

{

inta,b;

floatc,e;

%d%d"

b);

if(b==0)

{

e=180-30*abs(a-6);

At%d:

00theangleis%.1fdegrees.\n"

a,e);

}

c=30*a-5.5*b;

if(c<

-180)

e=-c-180;

%02dtheangleis%.1fdegrees.\n"

a,b,e);

if(c>

=-180&

c<

0)

e=-c;

=0&

=180)

a,b,c);

180)

e=360-c;

}

22.找出最大素数:

取值围

该围的最大素数

scanf("

%d"

a);

b=a-1;

while(b>

=2)

{

c=a%b;

if(c==0)

a--;

b--;

printf("

Themaxprimenumberis%d.\n"

a);

24.再算日期:

再次给出任意一个年月日(年>

1900),现在我们不能只是直接计算,要先判断给出的日期是否合法,对于非法的日期要给出错误提示信息,合法的日期要再计算是星期几。

年月日

0~6。

星期日用0表示,星期一用1表示,星期二用2表示......星期六用6表示。

假设年份大于1900。

先想一想:

我们现在只会使用if语句,该如何建立数学模型?

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

longs=1;

if(b>

12||b<

1)

monthiserror.\n"

while(a!

=1900||b!

=1||c!

=1)

{e=(a-1900)%4;

f=(a-1900)%100;

g=(a-1600)%400;

//这三个每次都要算!

if(s==1)

{

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

if(c>

31||c<

s=0;

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

30||c<

if(b==2)

if(g==0||f!

e==0)

if(c>

29||c<

else

28||c<

if(s==0)

{printf("

dayiserror.\n"

break;

}

}

s++;

c--;

if(c==0)

if(b==5||b==7||b==10||b==12)

c=30;

if(b==1||b==2||b==4||b==6||b==8||b==9||b==11)

c=31;

if(b==3)

if(g==0||f!

c=29;

else

c=28;

b--;

}

if(b==0)

{

b=12;

a--;

}

if(s!

=0)

%ld\n"

s%7);

}

25.确定母亲节:

母亲节是每年的五月第二个星期天,针对输入的年份,计算该年的哪一天是母亲节。

年份

日期(5月的哪一天)

inta,ri,c;

intd,f,g,e;

d=(a-1900)%4;

f=(a-1900)%100;

g=(a-1600)%400;

if(g==0||f!

d==0)

{

ri=365*(a-1900)+(a-1900)/4-(a-1900)/100+(a-1600)/400+121;

e=ri%7;

if(e!

c=15-e;

c=8;

%d\n"

c);

27.寻找特殊偶数:

背景

有一种特殊偶数,它每一位上的数字都两两不相同。

我们现在需要找出四位数中某一区间的这类偶数。

输入

所要寻找的四位偶数的围。

每组输入有两个数字:

第一个数字是最小围;

第二个数字是最大围。

如果输入遇到0,输入结束。

输出

列出此围的所有特殊偶数,并且列出此围特殊偶数的个数。

main()

inta,b,i,j=0;

intd,e,f,g;

while(a!

b!

if(a<

1000||b>

9999||a>

b)

printf("

Error\n"

else

i=a;

while(i<

=b)

g=i%10;

f=i/10%10;

e=i/100%10;

d=i/1000;

if(g==f||g==e||g==d||f==e||f==d||e==d)

i=i+2;

else

{

j++;

printf("

%d"

i);

}

}

\n"

counter=%d\n"

j);

j=0;

scanf("

}

28.寻找阿姆斯特朗数:

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

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

例如:

407=4×

4+0×

0+7×

7。

所以407就是一个特殊数。

正整数的位数n(n<

=6)。

所有此n位特殊数。

每个数占一行。

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

"

Nooutput.”;

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

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

into=1,p=1,q=1,r=1,s=1,t=1;

intn;

intshang,xia;

inti=1,j,h=0,k=1,l=1;

n);

while(i<

=n)

{

k=10*k;

i++;

shang=k-1;

xia=k/10;

j=xia;

while(j<

=shang)

a=j%10;

b=j/10%10;

c=j/100%10;

d=j/1000%10;

e=j/10000%10;

f=j/100000%10;

while(l<

o=a*o;

p=p*b;

q=q*c;

r=r*d;

s=s*e;

t=t*f;

l++;

}

g=o+p+q+r+s+t;

if(j==g)

h++;

j++;

l=1;

o=1,p=1,q=1,r=1,s=1,t=1;

if(h==0)

Nooutput.\n"

31.打印数字菱形:

这是非信息类2013年出的题目,大家来看看,你会做吗?

输入n的值,输出如下例(n=4)所示的数字菱形。

 4

 434

43234

4321234

n

 

数字菱形

友情提示:

同学们总结一下打印星号组成的实心图形程序的编程思路:

第一步,打印星号组成的正方形;

第二步,改变每行星号的个数,打印每行星号数量不一样的图形;

如果是空心图形,每行第一个和最后一个位置输出星号,其他位置输出空格。

现在我们练习输出变化的字符,在打印星号图形的基础上,原来输出*号的位置,将printf("

*"

改为printf("

%2d"

x);

当然,原来输出一个*号的地方只占一个字符的位置,现在都要改为2个字符的位置,如果输出的是数字且多于2个,则要是%3d或%4d了。

x是多少呢?

则要寻找其规律,就是该输出位置与所在行列的关系。

注意给出的测试用例,输出的数字是左对齐啊。

不用数组就可以完成。

{inti=1,j=1,n,m;

m=n;

while(i<

=2*n-1)

for(;

i<

=n;

i++)

for(;

j<

=n-i;

j++)

"

for(m=n;

j>

n-i&

{printf("

%-2d"

m);

m--;

for(m=n+1-i;

n&

=n+i-1;

j++)

{m++;

printf("

j=1;

i>

=2*n-1;

=i-n;

for(m=n;

i-n&

for(m++;

=3*n-1-i;

j++){

m++;

32.打印空心倒三角形:

测试用例1

1.3↵

1.*****↵

2. 

*↵

3. 

测试用例2

1.5↵

1.*********↵

2.* 

4. 

*↵

5. 

inti=2,j=1,h;

h);

for(;

=2*h-1;

if(h>

while(i<

=h)

for(j=1;

i;

j++)printf("

j==i;

i&

2*h-i;

j++)printf("

j==2*h-i;

i++;

34.计算后续日期:

我们经常要计算,从今天往后N天之后是哪一天(哪年哪月哪日)。

现在我们就可以编写一个程序,推算指定日期之后的第N天是什么日期。

N

(年月日+N天后的)年.月.日

{inta,b,c;

intnian,yue,ri;

intm;

%d%d%d%d"

c,&

m);

nian=a;

yue=b;

ri=c;

while(m>

switch(yue)

{case1:

case3:

case5:

case7:

case8:

case10:

case12:

{if(ri<

=31){ri++;

if(ri>

31){ri=1;

yue++;

}break;

case4:

case6:

case9:

case11:

=30){ri++;

30){ri=1;

case2:

{if(nian%400==0||nian%100!

nian%4==0)

=29){ri++;

if(ri>

29){ri=1;

=28){ri++;

28){ri=1;

}m--;

if(yue==13){nian++;

yue=1;

ri=1;

%d.%d.%d\n"

nian,yue,ri);

35.零钱换整钱:

小明手中有硬币,小红手中有若干10元的纸币。

已知1角硬币厚1.8mm,5角硬币厚1.5mm,1元硬币厚2.0mm。

小红拿出若干10元的纸币,小明要将1角的硬币放成一摞,将5角的硬币放成一摞,将1元的硬币放成一摞,如果3摞硬币一样高,且三摞硬币的金额之和正好等于小红要求的面值,则双方交换,否则没有办法交换。

小红希望交换几10元的纸币

1角的数量,5角的数量,1元的数量

inta,d,e,f;

floatx,y,z;

x=25.0/4*a;

y=15.0/2*a;

z=45.0/8*a;

d=x;

e=y;

f=z;

if(x!

=d||y!

=e||z!

=f)

Nochange.\n"

%d,%d,%d\n"

d,e,f);

36.空心数字梯形

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

要求:

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

行数n和首字符

空心梯形

1.5 

6↵

7↵

8↵

9↵

0↵

1.0↵

1.9 

3↵

1.6 

6. 

2

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2