立即注册! 找回密码?

用户名

密  码

您所在的位置: 首页 > 软件论坛 > 编程开发平台论坛 > 程序员话题论坛 > 发一道有趣的C/C++题目给大家练练,大家可以用C或C++编。
版主: 暂无 版副: 暂无 嘉宾: 暂无
返回列表
浏览:10012 回复:49 发一道有趣的C/C++题目给大家练练,大家可以用C或C++编。 [复制本帖链接]
  • 用户名:fangfei1987
  • 头 衔:太平洋舰队新兵
  • 积 分:1328
  • 贡 献:40
  • 精 华:0
  • 注 册:2007-12-01
都不懂,都要考试了
  • 用户名:rogerfd
  • 头 衔:太平洋舰队新兵
  • 积 分:1
  • 贡 献:1
  • 精 华:0
  • 注 册:2009-03-16
#include <stdio.h>

void s (int a)
{
    for (int i = 0; i < a; ++i) for (int j = 0; j < a+1; ++j) putchar (j==a?'\n':((i*j*(a-1-i)*(a-1-j))?' ':'*'));
}

void main ()
{
    s (20);
}
  • 用户名:zzl80996952
  • 头 衔:太平洋舰队新兵
  • 积 分:14
  • 贡 献:8
  • 精 华:0
  • 注 册:2009-02-17
Re:[不败剑圣,2楼]
这个程序貌似也还有问题哦!!应该还加个if(i<=1||i>20)……呵呵,应该是这样子哦
  • 用户名:h1392
  • 头 衔:太平洋舰队新兵
  • 积 分:3
  • 贡 献:2
  • 精 华:0
  • 注 册:2006-12-31
using System;
namespace Test
{
 class Tst
 {
  static void Main()
  {
   Console.WriteLine("Please enter you number!");
   int a=Convert.ToInt32((Console.ReadLine()));
   string[,] b=new string[21,21];
   if(a<1||a>20)
   {
    Console.WriteLine("Sorry you enter Num is wrong!"); 
    return;
   }
   else
   {
   if(a>=2||a<=20)
    {
     int j,k;
     for(j=0;j<=a-1;j++)
     {
      for(k=0;k<=a-1;k++)
      {
       if((j==0)||(k==0)||(j==(a-1))||(k==(a-1)))
       {
       b[j,k]="*";
       } 
       else
       {
         b[j,k]=" ";
       }
      } 
     }
     
     for(j=0;j<=a-1;j++)
     {
      for(k=0;k<=a-1;k++)
      {
       //if(j==(a/2)){Console.WriteLine();}
       Console.Write(b[j,k]);
      }
       Console.WriteLine();
     }
     
    }
    return;
   }
  }
 }
}

  • 用户名:sgqfy2009
  • 头 衔:太平洋舰队新兵
  • 积 分:2
  • 贡 献:2
  • 精 华:0
  • 注 册:2009-05-14
Re:[日の向,8楼]

请教一个问题:我现在在用C++写程序,要从一个文本文件中读取数据,把数据读取到结构体数组中。我读取数据先是用的如下语句:
       while(!outfile)
      {
              outfile.read((char *)up,sizeof(up))
       } 
把数据读取到结构体数组up中,但是up中的各个数据项全部是空的,如果只用:outfile.read((char *)up,sizeof(up))结构体中的各个数据项就全部有了数据,请问这是怎么回事啊?
  • 用户名:acmRusher
  • 头 衔:太平洋舰队新兵
  • 积 分:3
  • 贡 献:3
  • 精 华:0
  • 注 册:2009-06-06
Re:[yinzhilong0730,10楼]
这种简单程序不要无聊发到网上!!!!!
 #include<iostream>
   using namespace std;
  
  int main()
  {
      int n;
      cout<<"请输入一个整数:"<<endl;
      while(scanf("%d",&n)!=EOF)
      {  if (n>20||n<1)
        cout<<"输入的数不在范围之内,请重新输入!"<<cout<<endl<<"输入一个整数:"<<endl;
         if(n==1)
          cout<<"*"<<endl;
          else
        {     for(int k=0;k<n;k++)
                 cout<<"*";
          cout<<endl;
           for(int j=0;j<n-2;j++)
             {  for(int t=0;t<n;t++)
                   if(t==0||t==n-1)
                       cout<<"*";
                   else
                       cout<<" ";
               cout<<endl;
             }
      for(int k=0;k<n;k++)
                 cout<<"*";
      cout<<endl;
      //system("pause");
             cout<<"请输入一个整数:"<<endl;           
                        
      }
      }
      return 0;
  } 

  • 用户名:andonly
  • 头 衔:太平洋舰队新兵
  • 积 分:69
  • 贡 献:13
  • 精 华:0
  • 注 册:2008-09-11
#include "stdio.h"
void main()
{
int x,y,z;
printf("请输入长方形边长(1-20):");
scanf("%d",&x);
if ((x>0)&&(x<=20))
         /*控制打印行*/
for(y=1;y<=x;y++)
{
                           /*控制打印列*/
for(z=1;z<=x;z++)
{
                                    /*控制打印第一行与最一行*/
if (y==1||y==x) 
printf("*");
else
                                              /*控制打印中间行与列*/
if (z==1||z==x)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
printf("超出边界!\n");
}

C语言VS2005编译通过
  • 用户名:天涯笑
  • 头 衔:太平洋舰队新兵
  • 积 分:84
  • 贡 献:37
  • 精 华:0
  • 注 册:2007-09-13
================================================================================

#include<iostream.h>
class DrawBox
{
private:
//绘制上下边
void DrawTopBottom(int nWidth)
{
int i;
for(i=0;i<nWidth;i++)
cout<<'*'<<" ";
cout<<endl;
}

//绘制左右边
void DrawLeftRight(int nWidth,int nHeight)
{
int i,j;
for(i=0;i<nHeight-2;i++)
{
cout<<'*'<<" ";
for(j=0;j<nWidth-2;j++)
cout<<"  ";
cout<<'*'<<" "<<endl;
}
}

public:
//绘制正方形
void display(int nWidth,int nHeight)
{
DrawTopBottom(nWidth); //绘制上边

DrawLeftRight(nWidth,nHeight); //绘制左右边

DrawTopBottom(nWidth); //绘制底边
}
};

void main()
{
int nWidth; //矩形宽度
int nHeight; //矩形高度
const N=5;
DrawBox mybox; //定义一个类变量

//输入宽度
cout<<"Please input the width of box(2-30):";
while(nWidth<2||nWidth>30)
{
cin>>nWidth;
if(nWidth<2||nWidth>30)
cout<<"Error,input again(2-30):";
}

//输入高度
cout<<"Please input the height of box(2-30):";
while(nHeight<2||nHeight>30)
{
cin>>nHeight;
if(nHeight<2||nHeight>30)
cout<<"Error,input again(2-30):";
}

cout<<endl<<"=========================Box========================="<<endl<<endl;
for(;nWidth>=2&&nHeight>=2;nWidth-=N,nHeight-=N)
{
mybox.display(nWidth,nHeight);
cout<<endl<<endl;
}
}

===========================================================================================

跟楼主的要求略有不同,不过既然定义的是类,很容易改成楼主所要求的程序


略改一下也可以改成java的
  • 用户名:immtlee
  • 头 衔:太平洋舰队新兵
  • 积 分:2
  • 贡 献:2
  • 精 华:0
  • 注 册:2009-08-25
#include<stdio.h>
#define MAX  5

void PrintASquare(const int a)
{
int j,k,n,m;
char star[MAX][MAX];
m=MAX;
n=MAX;

  for(j=0;j<a;j++)
{
if(j==0||j==a-1)
{
for(k=0;k<a;k++)

printf("*");
printf("\n");
}
else
{
for(k=0;k<a;k++)
{
if(k==0||k==a-1)
{

printf("*");
}
else
printf(" ");
}
printf("\n");
}

}

}

int main()
{


PrintASquare(MAX);

#undef MAX
#define MAX 3
PrintASquare(MAX);

#undef MAX
#define MAX 7
PrintASquare(MAX);

return 0;
}
  • 用户名:ybx0218
  • 头 衔:太平洋舰队新兵
  • 积 分:9
  • 贡 献:9
  • 精 华:0
  • 注 册:2009-05-08
你怎么可以连续输入长度???我先输入8,在输入个10,运行器就关了。  
返回列表

浏览过的板块

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