当前位置: 代码迷 >> C语言 >> 编程题2(适合新手练习)
  详细解决方案

编程题2(适合新手练习)

热度:97   发布时间:2008-03-11 11:29:06.0
编程题2(适合新手练习)
编程实现输入任意整数N后,可打印N行三角字符陈列图形.例如输入5时,程序运行结果如下.
A  C  F  J  O
B  E  I  N
D  H  M
G  L
K
搜索更多相关的解决方案: 练习  图形  打印  整数  

----------------解决方案--------------------------------------------------------
#include <stdio.h>
#define  SIZE 20
void Set_Chars(char (*Table)[SIZE] , int N) {
               int i = 0 , j = 0 ,row ;
               char  chars = 'A' ;
               Table[i][j] = chars ;
               for( row = 0 ; row < N ; ) {
                    if(i - 1 < 0) {
                       i = ++row ;
                       j = 0 ;
                     }
                     else{
                           i-- ;
                           j++ ;
                     }

                     Table[i][j] = ++chars ;
                }
  return ;

}

int main(void) {
         char Table[SIZE][SIZE] ;
         int N , i , j;
         scanf("%d" , &N) ;
         Set_Chars(Table , N) ;
         for(i = 0 ; i < N ; i++) {
              for(j = 0 ; j < N - i ; j++)
                   printf("%c " ,Table[i][j]) ;
              printf("\n") ;
         }
  return 0 ;
}
----------------解决方案--------------------------------------------------------
我也正在做这道题
----------------解决方案--------------------------------------------------------
这个题我作了一个下午+一个晚上终于做出来了....高兴啊
#include "stdio.h"
void main()
{
  int num,i,j=1,k,sum,m='A';
  printf("请输入一个数:");
  scanf("%d",&num);
  for(i=0;i<num;i++)      
     {
       m=m+i;
       k=++j;
       printf(" %c",m);
       for(sum=m;k<=num;k++)
         {
           sum+=k;          
           printf(" %c",sum);
           if (k==5) printf("\n");
         }
      }
  printf("\n");
  return 0;
}
----------------解决方案--------------------------------------------------------
晕..只能输入数字5,输其他的都是错的

[[it] 本帖最后由 bianfeng 于 2008-3-11 22:33 编辑 [/it]]
----------------解决方案--------------------------------------------------------
更正以后的代码
#include "stdio.h"
void main()
{
  int num,i,j=1,k,sum,m='A';
  printf("请输入一个数:");
  scanf("%d",&num);
  for(i=0;i<num;i++)      
     {
       m+=i;
       k=++j;
       printf(" %c",m);
       for(sum=m;k<=num;k++)
         {
           sum+=k;          
           printf(" %c",sum);
           if (k==num) printf("\n");
         }
      }
  printf("\n");
  return 0;
}
----------------解决方案--------------------------------------------------------
程序代码:
int main(void)
{
    int n;
    char x='A',y;
    scanf("%d",&n);
    for(int i=0;i!=n;++i)
    {
        x+=i;
        for(int j=n-i,y=x;j!=0;--j,y+=n-j+1)
            printf("%c  ",y);
        putchar('\n');
    }
    return 0;
}

----------------解决方案--------------------------------------------------------
程序代码:
void fun(int n)
{
    char x='A',y;
    for(int i=0;i<n;i++,x+=i)
    {
        for( int j=0, y=x; j < n-i; j++, y += j+i+1 )
            printf("%c ",y);
        printf("\n");
    }    
    return;
}

----------------解决方案--------------------------------------------------------
我的算法不上面的不一样..
----------------解决方案--------------------------------------------------------
  相关解决方案