题目:在屏幕上输出形如以下图形,第一行的起如字母和终止字母由用户输入。
A B C D E B C D E A C D E A B D E A B C E A B C D/*第一种实现方法--使用数组*/ void main(void) { char ch[5]; int i, j; char ch1; /*读入第一个字母*/ do { printf("/n请输入一个大写英文字母:"); scanf("%c", &ch1); } while ((ch1 < 'A') || (ch1 > 'Z')); ch[0] = ch1;/*设置第一个元素值*/ /*为后续元素赋值*/ for (i = 1; i < 5; i++) { ch1++; if (ch1 > 'Z') { ch1 = 'A'; } ch[i] = ch1; } /*输出*/ for (i = 0; i < 5; i++) { ch1 = ch[0]; /*把第1个元素值保存到ch1中*/ printf("%c", ch1); /*输出第1个元素值*/ for (j = 1; j < 5; j++) { printf("%c", ch[j]); /*输出第2--5个元素值*/ ch[j-1] = ch[j]; /*数组元素值前移*/ } printf("/n");/*换行*/ ch[4] = ch1;/*原数组第一个元素值放入最后一个元素*/ } }
/*第二种实现方法*/ #include "stdio.h"void main(void) { char ch0, ch1; int i, j;/*读入第一个字母*/ do { printf("/nPlease enter a capcase letter:"); scanf("%c", &ch0); } while ((ch0 < 'A') || (ch0 > 'Z')); for (i = 0; i < 5; i++) { ch1 = ch0 + i; for (j = i; j < 5; j++) { if (ch1 > 'Z') { ch1 -= ('Z' - 'A' + 1); } printf("%c", ch1); ch1++; } ch1 = ch0; for (j = 0; j < i; j++) { if (ch1 > 'Z') { ch1 -= ('Z' - 'A' + 1); } printf("%c", ch1); ch1++; } printf("/n"); } /* for(i)*/ }