cf ***


http://acm.hust.edu.cn/vjudge/contest/view.action?cid=29448#problem/B

这里要注意的地方~;

1,gets 的头问题 在 <stdio.h> 或者 在<cstdio>

2,   用 gets 函数不安全,可以考虑用gets_s函数,但是好像不支持,百度了一下 vs2005版本以及以上的才有

3, 输出的问题,如果是奇数,就是除不开的问题,要变化。

4,得记得了 用gets() 函数输入空行。



#include <iostream>
#include <cstring>
#include <stdio.h>

using namespace std;

char s[1005][1005];
int  lens[1005];
int main()
{
   int i=0,inf(-1);
   int mf(1);
   while (gets(s[i]))
   {
       lens[i]=strlen(s[i]);
       if(lens[i]>inf)
          inf=lens[i];
       i++;
   }

   for (int j=0;j<inf+2;j++)
     cout<<"*"; 
     cout<<endl;

   for(int j=0;j<i;j++)
   {
      cout<<"*";
      if((inf-lens[j])&1)    //  奇数  里面还得分情况
      {
      	 if(mf&1)    
      	 {
 	        int k;
            for ( k=0;k<((inf-lens[j])/2);k++)
              cout<<" ";
            cout<<s[j];
            for ( k=0;k<((inf-lens[j])/2+1);k++)
               cout<<" ";
            cout<<"*"<<endl;	
         }
		  
         else{
           int k;
            for ( k=0;k<((inf-lens[j])/2+1);k++)
               cout<<" ";
            cout<<s[j];
            for ( k=0;k<((inf-lens[j])/2);k++)
              cout<<" ";
            cout<<"*"<<endl; 	
         } 
         mf++;
      }

      else
      {
         int k;
         for ( k=0;k<((inf-lens[j])/2);k++)
         cout<<" ";
         cout<<s[j];
         for ( k=0;k<((inf-lens[j])/2);k++)
         cout<<" ";
	     cout<<"*"<<endl;
	  }

   }

   for (int j=0;j<inf+2;j++)
      cout<<"*"; 
   cout<<endl;

   return 0;

}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值