打印最短路径以在C程序中在屏幕上打印字符串。
给定一个字符串,程序必须显示最短路径,它将使用该最短路径在屏幕上打印该字符串。
像屏幕将以以下格式存储字母
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
示例
Input: HUP Output : Move Down Move Down Move Down destination reached Move Left Move Left Move Down Move Down Move Down destination reached Move Up destination reached
此处使用的方法是将字符存储在nxn矩阵中并执行以下操作-
If row difference is negative then move up If row difference is positive then move down If column difference is negative then go left If column difference is positive then we go right
算法
START
Step 1 -> Declare Function void printpath(char str[])
Declare variable int i = 0 and cx=0 and cy=0
Loop While str[i] != '\0'
Declare variable as int n1 = (str[i] - 'A') / 5
Declare variable as int n2 = (str[i] - 'B' + 1) % 5
Loop while cx > n1
Print move up
cx—
End
Loop while cy > n2
Print Move Left
Cy—
End
Loop while cx < n1
Print move down
Cx++
End
Loop while cy < n2
Print move down
Cy++
End
Print destination reached
I++
Step 2 -> in main()
Declare char str[] = {"HUP"}
Call printpath(str)
STOP示例
#include <stdio.h>
void printpath(char str[]){
int i = 0;
// start from character 'A' present at position (0, 0)
int cx = 0, cy = 0;
while (str[i] != '\0'){
// find cordinates of next character
int n1 = (str[i] - 'A') / 5;
int n2 = (str[i] - 'B' + 1) % 5;
// Move Up if destination is above
while (cx > n1){
printf("Move Up\n");
cx--;
}
// Move Left if destination is to the left
while (cy > n2){
printf("Move Left\n");
cy--;
}
// Move down if destination is below
while (cx < n1){
printf("Move Down\n");
cx++;
}
// Move Right if destination is to the right
while (cy < n2){
printf("Move Down\n");
cy++;
}
// At this point, destination is reached
printf("destination reached\n");
i++;
}
}
int main(int argc, char const *argv[]){
char str[] = {"HUP"};
printpath(str);
return 0;
}输出结果
如果我们运行上面的程序,那么它将生成以下输出-
Move Down Move Down Move Down destination reached Move Left Move Left Move Down Move Down Move Down destination reached Move Up destination reached
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短