请指导一个c语言题,谢谢

C语言 码拜 9年前 (2016-04-23) 1437次浏览
/*
请编程序将:输入单词译成密码,密码规律是:用原来的字母后面的第4个字母代替原来的字母。
例如,字母”A”后面第4个字母是”E”,用”E”代替”A”,”Z”用”D”代替。例如,输入”China”应译为”Glmre”。
请编一程序,将输入单词译为密码后输出。
(回车结束单词输入;单词最长20,之后截断;输入单词长度为0或输入不为字母,输出error)。
*/
#include <stdio.h>
#include<string>
const int n=20;
void main()
{
char num[n];
int a;
gets(num);
a=strlen(num);
for(int b=0;b<a-1;b++)
{
num[b]=num[b]+4;
}
puts(num);
getchar();
}
刚接触c,帮看看怎么弄。
解决方案

20

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h> //isalpha
 const int N = 21;
 int main(void)
 {
	 char num[N];
	 gets(num);
	 
	 int a = strlen(num);
	 if (a < 1) {
	 	printf("error\n");
	 	return -1;
	 }
	 for (int b = 0; b < a; b++) // not a-1
	 {
	 	if (!isalpha(num[b])) { //not a-z or A-Z
	 		printf("error\n");
	 		return -1;
		 }
	 	num[b] = num[b] + 4;
	 }
	 puts(num);
	 
	 //pause
	 getchar();
 }

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明请指导一个c语言题,谢谢
喜欢 (0)
[1034331897@qq.com]
分享 (0)