规则:输入一个整数n(0<n<25),把电文中的字母变为其后第n个字母(原字母+n),如果其后第n个字符不是字母,则取原字母+n-26对应的字母。比如n为2,则:A→C,a→c,Y→A,z→b
#include<string.h>
#include<stdio.h>
main()
{char a[100];
int n=2,i;
printf("input zifuchuan:\n");
gets(a);
printf("input n:\n");
scanf("%d",&n);
for(i=0;i<strlen(a);i++)
if(a[i]+n>'z') a[i]=a[i]+n-26;
else if (a[i]>='A' && a[i]<='Z' && a[i]+n>'Z') a[i]=a[i]+n-26;
else a[i]=a[i]+n;
for(i=0;i<strlen(a);i++)
printf("%c",a[i]);
}
测试通过
#include<stdio.h>
main()
{char a[100];
int n=2,i;
printf("input zifuchuan:\n");
gets(a);
printf("input n:\n");
scanf("%d",&n);
for(i=0;i<strlen(a);i++)
if(a[i]+n>'z') a[i]=a[i]+n-26;
else if (a[i]>='A' && a[i]<='Z' && a[i]+n>'Z') a[i]=a[i]+n-26;
else a[i]=a[i]+n;
for(i=0;i<strlen(a);i++)
printf("%c",a[i]);
}
测试通过
温馨提示:答案为网友推荐,仅供参考