• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
The Heart In Binding
博客园    首页    新随笔    联系   管理     

打印特殊矩阵

 

从键盘输入6个数字,编程实现如下形式的输出:

1   2   3   4   5   6

6   1   2   3   4   5

5   6   1   2   3   4

4   5   6   1   2   3

3   4   5   6   1   2

2   3   4   5   6   1

=================使用指针=======================

#include<stdio.h>

#define n 6

int main(void)

{

   //变量定义-------------------

   int a[n]={0};

   int *p=NULL,*q=NULL,*y=NULL;

   int i=0,count=0;

   //输入数据-------------------

   printf("请输入%d个整数:",n);

   for(i=0;i<n;i++)

      scanf("%d",&a[i]);

   printf("\n");

   //处理数据并输出

   p=a;

   q=p+n-1;

   y=p+n-1;

   printf("\t");

   for(i=0;i<n;i++)

      printf("%d ",a[i]);//打印出第一行的数字

   printf("\n");

   while(count<n-1)

   {

      printf("\t");

      while(q<=(a+n-1))

      {

         printf("%d ",*q);

         q++;

      }

      q=--y;

      while(p<=q)

      {

         printf("%d ",*p);

         p++;

      }

      printf("\n");

      count++;

      p=a;//将p重新指向数组第一个元素

   }

   printf("\n\n");

   return 0;

}

 

===============使用数组=======================

#include<stdio.h>

#define num 6

int main(void)

{

   int a[num]={0},i=0,j=0,k=0;

   printf("请输入%d个整数:",num);

   for(i=0;i<num;i++)

      scanf("%d",&a[i]);

   printf("\n\t");

   for(i=0;i<num;i++)

      printf("%d ",a[i]);//打印出a[0]-a[5]

   printf("\n");

   for(i=0;i<num-1;i++)

   {

      printf("\t");

      for(j=num-1-i;j<num;j++)

         printf("%d ",a[j]);

      for(k=0;k<num-1-i;k++)

         printf("%d ",a[k]);

      printf("\n");

   }

   printf("\n\n");

   return 0;

}

 

posted @ 2009-04-14 20:25  Satyr  阅读(233)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3