| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 947 人关注过本帖
标题:问题``问题
只看楼主 加入收藏
fzz8026
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-11-17
收藏
得分:0 
以下是引用永远不懂在2009-11-17 18:33:12的发言:

#include <stdio.h>
void main()
{
    int i,j,k,x,y,z;
for(i=1;i<=3;i++)
{
for(j=1;j<=3-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
for(x=1;x<=2;x++)
{
for(y=1;y<=x;y++)
prin ...
实在抱歉``是我编辑器的问题```其实对着呢
2009-11-18 12:47
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:1 
回复 3楼 StarWing83
看你的题我写了一个.
输入: 6 4 0 1
显示:
1 2 3 4 5 6
1 3 1 4 1 7
2 1 6 1 5 8
1 1 1 0 1 9
·
输入:5 5 1 333
显示:
3 3 7 3 3
3 3 0 4 6
3 8 3 3 3
3 3 3 9 3
3 4 3 3 5
·
程序代码:
#include <stdio.h>

void alloc(int ***a,int **b,int width,int height,int start)
 {
  int i,n=0,*p,m[10];
  *a=(int **)malloc(sizeof(int *)*height);
  **a=(int *)malloc(sizeof(int) * width * height);

  for(i=1;i<height;i++)
    (*a)[i]=**a + width * i;

  *b=(int *)malloc(sizeof(int) * width * height);
  for(i=-1,p=*b;p<*b+width*height;p++)
    {
     if(i==-1)
       {
         n=start++;
         while(n)
           {
             m[++i]=n%10;
             n/=10;
           }
       }
     *p=m[i--];
    }
 }

int main(void)
 {
   int i,j,k,n,wm,hm,**a,*b,*p;
   int width,height,dir,start;
   while(scanf("%d%d%d%d",&width,&height,&dir,&start)==4)
     {
       printf("\n\n");
       alloc(&a,&b,width,height,start);

       wm=width-1,hm=height-1;
       n=i=j=0;
       k=1;
       for(p=b;p<b+width*height;p++)
         {
           a[i][j]=*p;
           if(dir==0)
            {
              if(n++<wm) j+=k;
              else i+=k;
            }
          else
            {
              if(n++<hm) i+=k;
               else j+=k;
            }

          if(n>wm+hm)
           {
             n=0;
             k*=-1;
             i+=k;
             j+=k;
             wm--;
             hm--;
           }
        }

       for(i=0;i<height;i++)
         {
           for(j=0;j<width;j++)
             printf("%d ",a[i][j]);
           printf("\n\n");
         }
     }
   return 0;
 }


[ 本帖最后由 UserYuH 于 2009-11-18 23:27 编辑 ]

努力—前进—变老—退休—入土
2009-11-18 23:00
快速回复:问题``问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015414 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved