本文主要是介绍C语言,洛谷题:你的飞碟在这,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文中要把字母A对应到1,Z对应到26,这时候就要用上ASCII表了。A对应的ASCII码值是65,要让A对应1,只要将A减去64,后面的字母也是一样的只要减去64,就能对应其26字母中的顺序。
要存储字符串对应的每个元素的数字的乘积,可以先创建一个字符数组,再用循环的方式进行储存乘积。循环的次数要根据字符串的长度来决定,要用strlen求出两个字符数组的长度,当作各自的循环次数。
每次存储乘积的变量只要乘以相应字符减去64,最终便可以获得最后的数字。
最终让s1和s2都模上一个47,判断模上47后两者的值是否相等。相等则输出GO,不相等则输出STAY。
#include <stdio.h>
#include <string.h>
int main()
{char arr[7] = { 0 };char str[7] = { 0 };scanf("%s", arr);scanf("%s", str);int m = strlen(arr);int n = strlen(str);int s1 = 1;int s2 = 1;int i = 0;for (i = 0; i < m; i++){s1 *= (arr[i] - 64);}int j = 0;for (j = 0; j < n; j++){s2 *= (str[j] - 64);}int m1 = s1 % 47;int m2 = s2 % 47;if (m1 == m2){printf("GO");}else{printf("STAY");}return 0;
}
这篇关于C语言,洛谷题:你的飞碟在这的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!