c++用二维数组实现多个字符数组的长度变换(微难一些)

来源:互联网 发布:大麦盒子网络连接失败 编辑:程序博客网 时间:2024/06/17 15:13

/*这里要求的是输入m,n;

m代表的是要输入字符串的个数,n代表的是输出字符串需要的长度。长度不够n补零,大于n就变成多个字符串,不足依旧补零。

比如说,输入2,7   输入字符串是abc,123456789

那么结果就是abc0000

                      1234567

                      8900000*/

#include <iostream>
#include <string>
#define max_size 50
#define max_num  50
using namespace std;
void chuli(char a[][max_size],int m,int n);
int main()
{
 int m,n,q;
 scanf("%d,%d",&m,&n);//这里输入了m,n
 //cin>>m>>n;
 char b[max_num][max_size];
 for(int i=0;i<m;i++)
 {
  cin>>b[i];
 }
 chuli(b,m,n);
 for(int i=0;i<m;i++)
 {
   q=strlen(b[i]);
  for(int j=0;j<q;j++)
  {
   cout<<b[i][j];
   if((j+1)%n==0)//控制输出格式,使其显示正确
    cout<<endl;
  }
 }
 system("pause");
 return 0;
}
void chuli(char a[][max_size],int m,int n)
{
 int len,k,j;
 for(int i=0;i<m;i++)
 {
  len=strlen(a[i]);
  if(len<n||len>n)//先把数组补零补完整
   {
    k=len%n;
    for( j=len;j<len+n-k;j++)
      a[i][j]='0';
      a[i][j]='\0';
   }
 }
 
}

原创粉丝点击