吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5617|回复: 11
收起左侧

[其他原创] 编程小练习(3)

 关闭 [复制链接]
zapline 发表于 2010-2-26 00:10
题目:

输出来回数组

要求,输入正整数x和y,x和y的值不超过50,然后输出一个来回的数组


举例:
输入 x=3,y=3
则输出
1   2   3
6   5   4
7   8   9

输入 x=5,y=2
则输出
1   2   3   4   5
10  9   8   7   6

输入 x=2,y=4
则输出
1   2
4   3
5   6
8   7

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| zapline 发表于 2010-2-26 00:22
再用图描述一下:
--->
<---
--->
<---
--->
挂挂 发表于 2010-2-26 00:26
blueapplez 发表于 2010-2-26 00:40
#include "stdafx.h"
int main(int argc, char* argv[])
{
    int iOut = 1;
    int ix = 0;
    int iy = 0;
    printf("Please input two numbers:\nx = ");
    scanf("%d", &ix);
    printf("y = ");
    scanf("%d", &iy);
    printf("*********************************GAME*************************");
    for (int j=0; j<iy; j++)
    {
        printf("\n           ");
        for (int i=0; i<ix; i++)
        {
            int iTemp = ix - i*2 - 1;
            if (!(j%2))
            {
                iTemp = 0;
            }
            printf("%-6d", (iOut++) + iTemp);
        }
        
    }
    printf("\n*********************************GAME*************************\n");
    return 0;
}
QQ截图未命名.png
 楼主| zapline 发表于 2010-2-26 00:48
blueapplez 发表于 2010-2-26 00:40



    真快
chenyuzheng 发表于 2010-2-26 10:06
本帖最后由 chenyuzheng 于 2010-2-26 10:42 编辑
/* Note:Your choice is C IDE */
//第一感觉用数组.后又想了如下法子.
#include "stdio.h"
void main()
{int i,k,f,j,g=1,l=1;
printf("input two integer\n");
scanf("%d,%d",&i,&k);
for(f=1;f<=k;f++)
{ for(j=1;j<=i;j++)
if(l%2!=0) printf("%-5d",g),g++;
else printf("%-5d",--g);
g=g+i,l++;
printf("\n");
}
}
chenyuzheng 发表于 2010-2-26 10:36
printf("%md")的打印格式
问个问题,"%md"其中m,能否实现变量????????
blueapplez 发表于 2010-2-26 10:52
printf("%md")的打印格式
问个问题,"%md"其中m,能否实现变量????????
chenyuzheng 发表于 2010-2-26 10:36



    不能!
但是你可以用其他方式来完成同样的功能
eg. char *szData = new char[m]; //m是变量
     memset(szData, ' ', m);
     szData[m-1] = 0;
     sprintf(szData, "%d", idata) // idata是一个数,并且这个szData不能溢出了
     szData[strlen(szData)] = ' ';
    printf("%s", szData);
O_o 发表于 2010-2-26 12:31
菜鸟 也来凑热闹
procedure TForm1.Button1Click(Sender: TObject);
var
  i , j, x, y, tem : integer;
  Str : string;
  b : boolean;
begin
  x := 5;
  y := 4;
  tem := 1;
  for i :=1 to y do
  begin
    Str := Str + #13;
    if b then b := false else b := true;
    for j :=1 to x do
    begin
      if b then Str := Str + IntToStr(tem + x -2 * j +1) + ' '
      else Str := Str + inttostr(tem) + ' ';
      tem := tem + 1;
    end;
  end;
  Showmessage(Str);
end;
未命名.jpg
 楼主| zapline 发表于 2010-2-26 23:09
貌似目前还只有单一的一种方法啊
没人用填表法吗?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 03:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表