C语言作业3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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