编程输出如下字符图形(2种方法)

王朝other·作者佚名  2006-03-10
窄屏简体版  字體: |||超大  

题目:在屏幕上输出形如以下图形,第一行的起如字母和终止字母由用户输入。

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)*/

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航