求字母塔输出………………………………………………………………………………………………………………………………………………………………………………………………………………………………
求大神解答一到c题目字母塔……
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答
YAN_HUAXIANGMO 2017-07-15 09:45关注方法可能比较蠢,但是可行
java代码public class 输出字母塔 { public static void main(String[] args) { char ch = 'A'-1; int x = 0; int col = 1;//这里的col控制每行字母个数 int line = 0; while(x<26){//这个循环用于统计行数 for(int y = 0; y<col; y++,x++){ ch = (char)(ch+1);//这里强转 //System.out.print(ch); } col += 2;//下一行递增2 line++;//统计行数 //System.out.print("\n"); } x = 0;ch = 'A'-1;col = 1;//重置全局变量 while(x<26){//这个循环用于输出字母塔 for(int p=0; p<line-1; p++){//先输出前面空格 System.out.print(" ");//输出line-1个空格 } line--;//下一行空格数又减一 for(int y = 0; y<col; y++,x++){ if(x>=26) break; ch = (char)(ch+1);//这里对'A'+y转换成后面的字母 System.out.print(ch); } col += 2;//下一行递增2 System.out.print("\n"); } } }c两年没碰了,不过差不多应该如下:
#include <stdio.h> #include <stdlib.h> char ch = 'A'-1; int x = 0; int col = 1;//这里的col控制每行字母个数 int line = 0; while(x<26){//这个循环用于统计行数 for(int y = 0; y<col; y++,x++){ ch = (char)(ch+1);//这里强转 //printf("%s",ch); } col += 2;//下一行递增2 line++;//统计行数 //printf("\n"); } x = 0;ch = 'A'-1;col = 1;//重置全局变量 while(x<26){//这个循环用于输出字母塔 for(int p=0; p<line-1; p++){//先输出前面空格 printf(" ");//输出line-1个空格 } line--;//下一行空格数又减一 for(int y = 0; y<col; y++,x++){ if(x>=26) break; ch = (char)(ch+1);//这里对'A'+y转换成后面的字母 printf("%s",ch); } col += 2;//下一行递增2 printf("\n"); } } }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报