C语言数字与字母排列问题?高手帮忙!

来源:百度知道 编辑:UC知道 时间:2024/06/08 17:31:19
希望确实懂的人给个可行答案!
题目,使用FOR循环语句排列如下图形(_代表空格了)
_____________________1
____________________222
___________________33333
__________________4444444
_________________555555555
________________66666666666
_______________7777777777777
______________888888888888888
_____________99999999999999999
____________aaaaaaaaaaaaaaaaaaa
_____________bbbbbbbbbbbbbbbbb
______________ccccccccccccccc
_______________ddddddddddddd
________________eeeeeeeeeee
_________________fffffffff
__________________ggggggg
___________________hhhhh
____________________iii
_____________________j

十分变态...希望有高人可以帮忙~~我只会用*号做这样形状的排列,但是改变其中 的字母,不知如何下手~~希望有详尽的代码!谢谢!

只要分两种情况讨论就可以了,当外循环<=9时,显示数字,>9时显示字符,根据外循环i变量就可以判断要输出什么字符了!用ASCII码控制输出的字符,a的ASCII是97!
#include<stdio.h>
void main()
{
int i,j,k;
for(i=1;i<=19;i++)
{
if(i>9) /*输出下半部分*/
{
for(j=0;j<i;j++)
printf(" ");
for(k=0;k<2*(20-i)-1;k++)
printf("%c",97+i%10); /*根据i控制输出的字符*/
}
else /*上半部分*/
{
for(j=0;j<20-i;j++)
printf(" ");
for(k=0;k<2*i-1;k++)
printf("%d",i); /*直接输出数字i*/
}
printf("\n");
}
}

做一个数组
{'1','2',.....'i'}
每一行用数组里面的东西代替*