| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 517 人关注过本帖
标题:谁会给这个程序瘦身!
只看楼主 加入收藏
菜鸟小天
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-3-13
收藏
 问题点数:0 回复次数:3 
谁会给这个程序瘦身!
这是个打任意空心长方形的程序,要求尽量简化,但是不能使用超出下边语句范围的语句,不能goto,只能whil/if
#include<stdio.h>
#include<windows.h>
int main()
{
    int x=0,y=0,i=1,j=1,k;
    printf("input chang (-1 to end):");
    scanf("%d",&x);   
    while(x!=-1){
       printf("input kuan :");
       scanf("%d",&y);
       while(i<=x){
             printf("*");
             ++i;}
       printf("\n");
       while(j<=y-2){
          printf("*");
          k=x-2;
          while(k!=0){
                      printf(" ");
                      k--;}
        printf("*");
        k=x-2;
        ++j;
        printf("\n");}
       i=1;j=1;
       while(i<=x){
             printf("*");
             ++i;}
       printf("\n");
       i=1;j=1;
       printf("input chang (-1 to end):");
       scanf("%d",&x);
       }  
    system("pause");
    return 0;}
搜索更多相关主题的帖子: 瘦身 
2008-03-13 21:25
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
#include "iostream.h"
void main()
{
   int i=0,chang,kuan;
   cout<<"input chang :\n";
   cin>>chang;
   cout<<"input kuan :\n";
   cin>>kuan;
   while(i<kuan)
   {   int j=0;
       while(j<chang)
       {    if((i>0&&i<kuan-1)&&(j>0&&j<chang-1))
                cout<<" ";                  
            else      
                cout<<"*";
            j++;            
        }      
        cout<<endl;
    i++;   
    }           
}

[[it] 本帖最后由 xianshizhe111 于 2008-3-14 00:07 编辑 [/it]]
2008-03-13 23:55
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <assert.h>
void print(char c,int x)
{
    if(x>0){
        putchar(c);
        print(c,x-1);
    } 
}

void printline(char mid,char side,int x)
{
    print(side,1);
    print(mid,x-2);
    print(side,1);
    print('\n',1);
}    

int main()
{
    int a,b;
    while(scanf("%d%d",&a,&b)!=EOF){
        assert(a>=2 && b>=2);
        printline('*','*',a);
        while(b---2)printline(' ','*',a);
        printline('*','*',a);
    }    
}

2008-03-14 12:48
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <assert.h>

void printline(char mid,char side,int x)
{
    putchar(side);
    while(x---2)putchar(mid);
    putchar(side);
    putchar('\n');
}    

int main()
{
    int a,b;
    while(scanf("%d%d",&a,&b)!=EOF){
        assert(a>=2 && b>=2);
        printline('*','*',a);
        while(b---2)printline(' ','*',a);
        printline('*','*',a);
    }    
}

2008-03-14 12:50
快速回复:谁会给这个程序瘦身!
数据加载中...
 
   



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

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