| 查看: 5614 | 回复: 1 | ||
[求助]
vs2017编写c语言程序时出现写入访问权限冲突
|
|
// ConsoleApplication5.cpp: 定义控制台应用程序的入口点。 // 《程序员的算法趣题》Q08 优秀的扫地机器人。 #include "stdafx.h" #include <stdio.h> #include <stdlib.h> long long int mov(int, int*, int*); //参数1:第j个位置 //参数2,3:横,纵坐标 long long int count; int *p1, *p2; int coordinate1[13]; //横坐标 int coordinate2[13]; //纵坐标 int main(void) { int j = 0; count = 0; coordinate1[j] = 0; coordinate2[j] = 0; //初始坐标为(0,0) p1 = &coordinate1[0]; p2 = &coordinate2[0]; mov(j, p1, p2); printf("%lld\n", count); system("pause" ;return 0; } long long int mov(int m, int *coordinate1, int *coordinate2) { int j; j = m; if (j == 13) return 0; int i; for (i = 1; i < 5; i++) { switch (i) { case 1: { //前进:横坐标不变,纵坐标加1 *(coordinate2 + j + 1) = *(coordinate2 + j) + 1; break; } case 2: { //后退:横坐标不变,纵坐标减1 *(coordinate2 + j + 1) = *(coordinate2 + j) - 1; break; } case 3: { //左移:横坐标加1,纵坐标不变 *(coordinate1 + j + 1) = *(coordinate1 + j) + 1; break; } case 4: { //右移:横坐标减1,纵坐标不变 *(coordinate1 + j + 1) = *(coordinate1 + j) - 1; break; } default: break; } j++; int k; for (k = j; k > 0; k--) { if (*(coordinate1 + j) == *(coordinate1 + k - 1) && *(coordinate2 + j) == *(coordinate2 + k - 1)) break; } if (k > 0) { continue; } m = j; count = count + mov(m, p1, p2); } return count; } 发自小木虫IOS客户端 |
» 猜你喜欢
假如你的研究生提出不合理要求
已经有8人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
实验室接单子
已经有4人回复
全日制(定向)博士
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
2楼2018-06-19 21:46:03












;
回复此楼