C语言作业3

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

撞球

#include

#include

#include

int main()

{

double length,wide,x0,y0,x1,y1;

int i;

char towards[1500];

while(1)

{

memset(towards,0,sizeof(towards));

if(scanf("%lf %lf",&wide,&length)==EOF) break;

scanf("%lf %lf",&x0,&y0);

scanf("%lf %lf",&x1,&y1);

scanf("%s",towards);

for(i=0;i

{

if(towards[i]=='F')

y0=-y0;

if(towards[i]=='B')

y0=2*length-y0;

if(towards[i]=='L')

x0=-x0;

if(towards[i]=='R')

x0=2*wide-x0;

}

printf("%.4lf\n",sqrt((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1)));

}

return(0);

}

20. 整数问题

成绩: 0 / 折扣: 0.8

请求输出满足以下条件的n 位正整数的个数:

要求该n位整数的从高位开始前1位可以被1整除,该n位整数前2位可以被2*2整除,该

整数前3位可以被3*3整除,该整数前4位可以被4*4整除……。即该整数前k位都可被k

平方整除。

例如:n=1,则符合条件的1位正整数为1~9,输出答案9。n=2,符合条件的正整数为:12,

16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92,

96,则输出答案22。当n=4时,2432就是一个符合题意的整数。第一位2可以被1整除;

前2为24可以被4整除;前3位243可以被9整除;整个4位2432可以被16整除。

输入:

n(0<=n<9)

输出:

符合该条件的n位正整数的数量

(本题目为软件学院2007年保研学生初试上机试题。本题可以不用数组)

测试输入期待的输出时间限制内存限制额外进程

测试用例 1以文本方式显示

1.1↵

以文本方式显示

1.9↵

无限制64M 0

测试用例 2以文本方式显示

1.2↵

以文本方式显示

1.22↵

无限制64M 0

测试用例 6以文本方式显示以文本方式显示无限制64M 0

思路一:做9个数组,第一个数组为1-9,从n=2开始,将上一组的每个数乘10

加0-9,验算得到的数是否是n^2的整数倍,是则存入当前数组。完成后第n个

数组的长度即是所求。

思路二:直接数完9组数据,做成映射表。

1,2,3,4,5,6,7,8,9共9个

12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92共22个

126,162,207,243,288,324,360,369,405,441,486,522,567,603,648,684,720,

729,765,801,846,882,927,963共24个

1264,2432,2880,3248,3600,3696,4416,4864,6032,6480,6848,7200,

7296,8016,8464,9632,共16个

24325,28800,36000,60325,64800,72000,96325,共7个

243252,288000,360000,603252,648000,720000,963252,共7个

6480005,共1个

n=8,9时个数为0

则建立数组a[9]={9,22,24,16,7,7,1,0,0},输入n则直接输出数组的第n个值

即可

注意,如果数组计数从0开始,则输入n要输出a[n-1]

#include

void main()

{int n;

n<9;

scanf("%d",&n);

{if(n==1)

printf("9\n");

}

{if(n==2)

printf("22\n");

}

{if(n==3)

printf("24\n");

}

{if(n==4)

printf("16\n");

}

{if((n==5)||(n==6))

printf("7\n");

}

{if(n==7)

printf("1\n");

}

{if((n==8)||(n==0))

printf("0\n"); }

}

H5 铺地板(选作)

成绩: 5 / 折扣: 0.8

背景:

你是一名室内装潢工程队的配料员。你的伙伴们喜欢采用“之”字型的方式铺大理石地砖,图案如下:

1 2 6 7 15

3 5 8 1

4 16

4 9 13 17 22

10 12 18 21 23

11 19 20 24 25

学了 C 语言以后,你决定编写一个程序,帮助你的同伴生成这样的图形。

输入:

方阵N的大小。

输出

方阵。

测试输入期待的输出时间限

内存限

额外进

测试用例 1以文本方式显

1.5↵

以文本方式显示

1. 1 2 6 7 15↵

2. 3 5 8 14 16↵

3. 4 9 13 17 22↵

4.10 12 18 21 23↵

5.11 19 20 24 25↵

1秒64M 0

相关文档
最新文档