题目要求效果:c为'Y’,d为4,则程序输出ZABC; c为’z’,d为2,则程序输出ab
1.建立数组
2.识别大小写
3.循环打印(判断是否越过‘z’回到‘a’)
代码如下:
#include <stdio.h>
#pragma warning (disable:4996)
void fun(char c, int d) {
int i;
char A[26], a[26], *ptr;
/**********found**********/
for (i=0; i<26 ; i++) {
A[i] = 'A' + i;
a[i] = 'a' + i;
}
//建立大小写字母数组
/**********found**********/
if ((c >= 'a') && (c <= 'z')) ptr = a;
else ptr = A;
//识别输入字母大小写
/**********found**********/
for (i=1; i<=d; i++)
printf("%c", ptr[(c-ptr[0]+i) % 26 ] ); //若c-ptr[0]+i=26则余数为0:输出a/A
}
main( ) {
char c; int d;
printf("please input c & d:\n");
scanf("%c%d", &c, &d);
fun(c, d);
}