69,373
社区成员
发帖
与我相关
我的任务
分享
void printArray(char *arrs[],size_t iRowCount)
{
int iRepeat;
int iCount = 0;
for(size_t i=0; i<iRowCount; ++i )
{
if(0==i)
iRepeat = 1;
else
iRepeat += iCount;
for(int j=0;j<iRepeat;++j)
{
iCount = 0;
while(true)
{
if('\0' == arrs[i][iCount])
{
printf("\r\n");
break;
}
else
{
printf("%c",arrs[i][iCount]);
++iCount;
}
}
}
}
}
struct {
int index;//保存元素输出次数
int *arr;//保存元素
};
通过memcpy把每个数组元素移到结构体中,然后把每个结构体输出就是了。这样时间复杂度n
void printArray(char *arrs[],size_t iRowCount)
{
int iRepeat;
int iCount = 0;
for(size_t i=0; i<iRowCount; ++i )
{
if(0==i)
iRepeat = 1;
else
iRepeat = iCount;
for(int j=0;j<iRepeat;++j)
{
iCount = 0;
while(true)
{
if('\0' == arrs[i][iCount])
{
printf("\r\n");
break;
}
else
{
printf("%c",arrs[i][iCount]);
++iCount;
}
}
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
char* arrs[] ={"i love you china","hello world","oh yeah, come on baby!"};
printArray(arrs,3);
system("pause");
return 0;
}
#include <stdio.h>
#include <string.h>
void printArray(char *arrs[],int num)
{
int len=1;
int i;
for(;num>0 ;)
{
num--;
for(i=0;i<len;i++)
{
puts(*arrs);
}
if(num>0)arrs++;
len=len+strlen(*arrs)+1;
}
}
int main(int argc, char* argv[])
{
char* arrs[] ={"i love you china","hello world","oh yeah, come on baby!"};
printArray(arrs,3);
return 0;
}