我正在编写一个程序,通过字母表将字符串的字母旋转到某个方向。它需要一个整数的初始输入,我将其称为 N ,然后使用该整数作为每个字符将通过字母表移位的字母数。正整数移位到字母表的右侧,负整数移位到左侧。例如,如果输入为:
-2 cdefg
输出将是
abcde
为了做到这一点,我需要区分常规字母字符和整数,以获得初始 N 。我尝试过使用带有%d的scanf()和isalpha()函数,以及%c和isdigit()函数,但两者似乎都有障碍。为了澄清,我只是遇到了初始变量 N 的问题。我不知道如何区分输入' m'在整数之间。根据我的理解,它会存储' m'的ASCII值。 N 。
答案 0 :(得分:1)
答案 1 :(得分:1)
N
总是在字符串之前,所以只需使用适当的格式读取它们。
scanf("%d %s", &n, string);
要判断用户是否输入了正确的输入,请检查scanf
返回的值。它返回成功转换的项目数。如果用户没有先输入整数,则%d
转换将失败,因此它将返回0
。如果用户在字符串之前键入有效整数,则返回2
。