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

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

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

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)*/
}
目录
打赏
0
1
1
0
57
分享
相关文章
|
3月前
|
幻兽帕鲁服务端性能优化mod
这是一个非官方的《PalWorld》服务器Mod,主要用于修复内存泄漏和高CPU负载问题。目前可能存在未知Bug,建议备份游戏数据后自行测试。下载后,根据系统不同,替换对应路径下的文件即可使用。Windows路径为`PalServer\Pal\Binaries\Win64\`,Linux路径为`pal\pal\binaries\Linux\`。更多详情可访问Github或哔哩哔哩提供的下载地址。
124 9
【📕分布式锁通关指南 03】通过Lua脚本保证redis操作的原子性
本文介绍了如何通过Lua脚本在Redis中实现分布式锁的原子性操作,避免并发问题。首先讲解了Lua脚本的基本概念及其在Redis中的使用方法,包括通过`eval`指令执行Lua脚本和通过`script load`指令缓存脚本。接着详细展示了如何用Lua脚本实现加锁、解锁及可重入锁的功能,确保同一线程可以多次获取锁而不发生死锁。最后,通过代码示例演示了如何在实际业务中调用这些Lua脚本,确保锁操作的原子性和安全性。
284 6
【📕分布式锁通关指南 03】通过Lua脚本保证redis操作的原子性
容器化浪潮下的AI赋能:智能化运维与创新应用
近年来,容器技术以其轻量、高效、可移植的特性成为云原生时代的基石,推动应用开发和部署方式革新。随着容器化应用规模扩大,传统运维手段逐渐力不从心。AI技术的引入为容器化生态带来新活力,实现智能监控、自动化故障诊断与修复及智能资源调度,提升运维效率和可靠性。同时,AI驱动容器化创新应用,如模型训练、边缘计算和Serverless AI服务,带来更多可能性。未来,AI与容器技术的融合将更加紧密,推动更智能、高效的运维平台和丰富的创新应用场景,助力数字化转型。
『软件工程13』浅谈面向对象方法,统一建模语言UML
该文章介绍了面向对象方法的基本概念及其在软件工程中的应用,并详细探讨了统一建模语言(UML)的各种图示及其在系统设计中的作用。
『软件工程13』浅谈面向对象方法,统一建模语言UML
ThinkPHP 集成 jwt 技术 token 验证
本文介绍了在ThinkPHP框架中集成JWT技术进行token验证的流程,包括安装JWT扩展、创建Token服务类、编写中间件进行Token校验、配置路由中间件以及测试Token验证的步骤和代码示例。
ThinkPHP 集成 jwt 技术 token 验证
自动化测试框架的搭建与实践
在软件开发领域,自动化测试是提升开发效率、确保软件质量的关键手段。本文将引导读者理解自动化测试的重要性,并介绍如何搭建一个基本的自动化测试框架。通过具体示例和步骤,我们将探索如何有效实施自动化测试策略,以实现软件开发流程的优化。
227 7
深入理解Java内存模型:从基础到高级
本文旨在通过通俗易懂的方式,引导读者深入理解Java内存模型(JMM)的核心概念和工作原理。我们将从简单的基础知识入手,逐步探讨重排序、顺序一致性问题以及volatile关键字的实现机制等高级主题。希望通过这篇文章,你能够对Java内存模型有一个清晰、全面的认识,并在实际编程中有效地避免并发问题。
Flask-Login 扩展中,如何安全地存储用户密码?
【10月更文挑战第4天】Flask-Login 扩展中,如何安全地存储用户密码?
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问