字母和代码ascii

字母和代码ascii,c,C,我正在尝试用c语言创建一个程序,它可以得到一个数字和一个字符串,例如数字是3,字符串是“Zig”。 输出应为字母代码+数字。如果角色的数字超过“Z”(90),则应再次从“A”开始。同样,对于小写字符,当超过“z”时,从“a”开始。 输入:“Zig” 编号:3 输出:“Clj” 我有一个问题的一部分,它应该从一开始(资本)和再次。 这是我的密码!我对旋转部分如何从a或a开始有问题:) chara[50]; int n,i; printf(“输入您的号码:\t”); scanf(“%d”和“&n”)

我正在尝试用c语言创建一个程序,它可以得到一个数字和一个字符串,例如数字是3,字符串是“Zig”。 输出应为字母代码+数字。如果角色的数字超过“Z”(90),则应再次从“A”开始。同样,对于小写字符,当超过“z”时,从“a”开始。 输入:“Zig”
编号:3
输出:“Clj”
我有一个问题的一部分,它应该从一开始(资本)和再次。 这是我的密码!我对旋转部分如何从a或a开始有问题:)

chara[50];
int n,i;
printf(“输入您的号码:\t”);
scanf(“%d”和“&n”);
printf(“输入字符串:\t”);
fflush(stdin);
获得(a);
while('A'
我有一个问题的一部分,它应该从一开始(资本)和再次

当你到达Z(十进制90)时,你可以很容易地减去25(ASCII字符“EM”)回到A(十进制65)。同样,当你到达Z时,你可以重复25的减法,它将循环回到固定错误

#include <stdio.h>
#include <strings.h>


int main(){
  char str [80];
  int number;

  printf ("Enter your string: ");
  scanf ("%79s",str);  


  printf ("Enter your number: ");
  scanf ("%d",&number);

  for(int i= 0; i < strlen(str);i++){
    str[i]+=number;
    while(str[i]>'Z' && str[i] < 'a'){
        str[i] = 'A'+ str[i] - 'Z';
    }
    while(str[i]>'z'){
        str[i] = 'a'+ str[i] - 'z';
    }
  }

  printf("%s",str);

}
#包括
#包括
int main(){
char-str[80];
整数;
printf(“输入字符串:”);
scanf(“%79s”,str);
printf(“输入您的号码:”);
scanf(“%d”和编号);
对于(int i=0;i'Z'和&str[i]<'a'){
str[i]='A'+str[i]-'Z';
}
while(str[i]>'z'){
str[i]='a'+str[i]-'z';
}
}
printf(“%s”,str);
}

你需要花点力气来写你的问题。因为没有人知道你想要什么。我说过我们得到了一个数字和一个字符串,就像字符串是Zig,数字是3,输出应该是Clj!例如a(65)+3(数字)=D(68)请显示仅存在旋转部分问题的代码。我理解,只要字母值小于
('Z'-n)
('Z'-n)
。请使用“编辑”按钮向问题添加任何相关信息。thabks!我编辑了我的问题,请查看:))没有原因,如果你输入字符串Zig和数字3,它会给你[lj,它应该会返回CLJYESSS它确实如此SSS谢谢:)你能描述一下吗:)我修复了另一个错误,但它基本上只是找到了它从“Z”溢出并添加到“A”的区别,创建了一个循环。p、 如果你想要lol,请接受我的回答。对不起,这仍然有一个小问题,比如如果这个单词是大写的,比如N+20应该是I,但它显示了b:(是的,它是:))你能解释一下为什么你把“a”+a[I]-“Z”放在这里吗?你知道一个代码显示大写字母和小写字母之间没有区别吗,我的意思是,如果你给程序w和w,它认为它们是一样的?你可以通过减去32把所有的小写字母转换成大写字母,保持大写字母不变。这样,所有大写字母都可以表示它本身或它的小写等价物。
#include <stdio.h>
#include <strings.h>


int main(){
  char str [80];
  int number;

  printf ("Enter your string: ");
  scanf ("%79s",str);  


  printf ("Enter your number: ");
  scanf ("%d",&number);

  for(int i= 0; i < strlen(str);i++){
    str[i]+=number;
    while(str[i]>'Z' && str[i] < 'a'){
        str[i] = 'A'+ str[i] - 'Z';
    }
    while(str[i]>'z'){
        str[i] = 'a'+ str[i] - 'z';
    }
  }

  printf("%s",str);

}