立即注册! 找回密码?

用户名

密  码

您所在的位置: 首页 > 软件论坛 > 编程开发平台论坛 > 程序员话题论坛 > 发一道有趣的C/C++题目给大家练练,大家可以用C或C++编。
版主: 暂无 版副: 暂无 嘉宾: 暂无
返回列表
浏览:10011 回复:49 发一道有趣的C/C++题目给大家练练,大家可以用C或C++编。 [复制本帖链接]
  • 用户名:ywx1983
  • 头 衔:太平洋舰队中将
  • 积 分:7672
  • 贡 献:4157
  • 精 华:18
  • 注 册:2006-03-15
最后由 陈彩云千秋万岁 于 2007-08-16 08:47:07 修改

分享到: QQ空间 新浪微博 腾讯微博 更多
  • 用户名:ywx1983
  • 头 衔:太平洋舰队中将
  • 积 分:7672
  • 贡 献:4157
  • 精 华:18
  • 注 册:2006-03-15
最后由 不败剑圣 于 2007-08-08 11:56:45 修改
我先发一个自己编的C++版的参考程序。C语言版的只需要将输入函数cin改scanf。输出cout改为printf就可以啦!
#include<iostream.h>
int main()
{int j,k,i;
 do
  {cout<<"Input the wide: ";
   cin>>i;
   if(i>20)
      cout<<"Too long!ReInput!\n";
  }while(i>20);
 for(j=1;j<=i;j++)
   {if(j==1||j==i)
          for(k=1;k<=i;k++)
             cout<<"*";
    else
          for(k=1;k<=i;k++)
             {if(k==1||k==i)
                cout<<"*";
             else
                cout<<" ";
             }
    cout<<endl;
   }
 cin.get();cin.get();
 return 0;
}
  • 用户名:ywx1983
  • 头 衔:太平洋舰队中将
  • 积 分:7672
  • 贡 献:4157
  • 精 华:18
  • 注 册:2006-03-15


  • 用户名:2008pc2008
  • 头 衔:太平洋舰队新兵
  • 积 分:4
  • 贡 献:6
  • 精 华:0
  • 注 册:2007-07-19
#include<iostream>
#include<iomanip>
using namespace std;
//---------------------------------------
void main()
{int i,j;
 cout<<"请输入正方形长度:"<<i<<endl;
  if(i>=1 && i<=20)
    for(j=1;j<=i;++j)
     {if(j==1 || j==i)
         cout<<setw(i)<<"*"<<endl;
        else
          cout<<"*"<<setw(i-2)<<" "<<"*"<<endl;
       }
   else
      cout<<"输入的长度超出范围!"<<endl;
  return 0;
}
  • 用户名:ywx1983
  • 头 衔:太平洋舰队中将
  • 积 分:7672
  • 贡 献:4157
  • 精 华:18
  • 注 册:2006-03-15
Re:[2008pc2008,4楼]
以下是引用 2008pc2008 在4楼的发言:#include<iostream>
#include<iomanip>
using namespace std;
//---------------------------------------
void main()
{int i,j;
 cout<<"请输入正方形长度:"<<i<<endl;
  if(i>=1 && i<=20)
    for(j=1;j<=i;++j)
     {if(j==1 || j==i)
         cout<<setw(i)<<"*"<<endl;
        else
          cout<<"*"<<setw(i-2)<<" "<<"*"<<endl;
       }
   else
      cout<<"输入的长度超出范围!"<<endl;
  return 0;
}


上面程序没有通过调试的~,根本都没有cin函数。请问如何输入正方形的长度呢?
  • 用户名:爱吃土豆
  • 头 衔:太平洋舰队新兵
  • 积 分:3089
  • 贡 献:83
  • 精 华:0
  • 注 册:2006-01-13
学习了,中间那两句很关键!
if(j==1||j==i)
  • 用户名:TitanDls
  • 头 衔:太平洋舰队新兵
  • 积 分:373
  • 贡 献:27
  • 精 华:1
  • 注 册:2007-05-22
别人写的:
以下内容为程序代码:

#include <stdio.h>;
#include <stdlib.h>;

void DrawBox(int nLen)
{
    int i, n;
    
    /*打印上边*/
    for (i = 0; i < nLen; ++i)
        printf("*");
    printf("\n");
    for (i = 1; i < nLen - 1; ++i)
    {
        /*打印左边*/
        printf("*");
        for (n = 1; n < nLen - 1; ++n)
                printf(" ");        ///*打印中间空格*/
        /*打印右边*/
        printf("*");
        printf("\n");
    }
    /*打印底边*/
    for (i = 0; i < nLen; ++i)
        printf("*");
    printf("\n");
}

int main(void)
{
    DrawBox(5);
    
    getchar();
    return 0;
}
  • 用户名:特级海贼
  • 头 衔:太平洋舰队新兵
  • 积 分:3
  • 贡 献:21
  • 精 华:0
  • 注 册:2007-08-20
#include <stdio.h>
void yx(int);
void main()
{
int gs;
printf("请输入矩形的行和列上“\*”的个数(最大限定 20 ):");
scanf("%d",&gs);
printf("\n");
if(gs<=20)
{
yx(gs);
}
else if(gs>20)
{
printf("\n您所输入的行列数值超过了最大限定 20 。\n\n");
}
}
void yx(int hjs)
{
int i,j;
for(i=1;i<=hjs;i++)
{
fflush(stdin);
putchar('*');
fflush(stdin);
}
printf("\n");
for(i=1;i<=hjs-2;i++)
{
fflush(stdin);
putchar('*');
fflush(stdin);
for(j=1;j<=hjs-2;j++)
{
fflush(stdin);
putchar(' ');
fflush(stdin);
}
fflush(stdin);
putchar('*');
fflush(stdin);
printf("\n");
}
for(i=1;i<=hjs;i++)
{
fflush(stdin);
putchar('*');
fflush(stdin);
}
printf("\n\n");
}
  • 用户名:65413056
  • 头 衔:太平洋舰队新兵
  • 积 分:61
  • 贡 献:33
  • 精 华:0
  • 注 册:2006-03-19
用for循环就可以了,最笨的办法.
  • 用户名:yinzhilong0730
  • 头 衔:太平洋舰队新兵
  • 积 分:1
  • 贡 献:2
  • 精 华:0
  • 注 册:2007-09-18
bk,bnm,ghgfhgfh
返回列表

浏览过的板块

PConline联想家庭云中心 终结者B B520 B320 B325