C语言 编写程序,打印如图所示字符图形

ABCDEFGHI
BCDEFGHIA
CDEFGHIZB
DEFGHIABC
EFGHIABCD
FGHIABCDE
EFGHIZBCD
DEFGHIABC
CDEFGHIAB
BCDEFGHIA
ABCDEFGHI
有几个Z改为A

第1个回答  2013-10-25

#include<stdio.h>
void main(void)
{
int n,m,i,j;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
putchar('A'+(i+j)%m);
putchar('\n');
}
return ;
}

第2个回答  2013-10-25
#include<stdio.h>
int main()
{
int i,j;
char str1[20]="ABCDEFGHIABCDE";
for(i=0;i<=5;i++)
{
for(j=i;j<=i+8;j++)
printf("%c",str1[j]);
printf("\n");
}

for(i=4;i>=0;i--)
{
for(j=i;j<=i+8;j++)
printf("%c",str1[j]);
printf("\n");
}

return 0;
}本回答被提问者采纳
第3个回答  2013-10-25
#include <stdio.h>
int main(void)
{
int num;
char array[9]={
'a','b','c','d','e','f','g','h','i'
};
for(num=0;num<9;num++)//控制输出行数
{
int idx,n;
{
for(idx=num,n=0;n<9;idx++,n++)//控制输出字符串
{
if(idx==9)
{
idx=0;
}
putchar(array[idx]);
}
putchar('\n');
}
}
return 0;
}

第4个回答  2013-10-25
#include <stdio.h>
#include <string.h>

int main()
{
  char *s = "ABCDEFGHIABCDEFGHI";
  int i, n = 6;
  for (i = 0; i < n; i++)   printf("%.9s\n", s + i);
  for (i -= 2; i >= 0; i--) printf("%.9s\n", s + i);
  return 0;
}
/* 输出:
ABCDEFGHI
BCDEFGHIA
CDEFGHIAB
DEFGHIABC
EFGHIABCD
FGHIABCDE
EFGHIABCD
DEFGHIABC
CDEFGHIAB
BCDEFGHIA
ABCDEFGHI
*/

第5个回答  2013-10-25
中间有几个Z,那个是写错了还是就是那样的。追问

那个是打错的

相似回答