水平方向:
#include <stdio.h>
int main(void)
{
int c,n,i,j,k;
int arr[100]={0};
i=0;
n=0;//统计每个单词的长度
while((c=getchar())!=EOF)
{
if(c==32|c=='\n' )//遇到空格或者回车保存单词的长度
{
arr[i]=n;
n=0;
i++;
continue;
}
n++;
}
for(j=0;j<i;j++)
{
for(k=0;k<arr[j];k++)
{
printf("*");
}
printf("\n");
}
return 0;
}
垂直:
#include <stdio.h>
int main(void)
{
int c,n,i,j,k,max;
int arr[100]={0};
i=0;
n=0;
while((c=getchar())!=EOF)
{
if(c==32 || c=='\n')
{
arr[i]=n;
n=0;
i++; //统计共有多少个单词
continue;
}
n++;
}
max=arr[0]; //用来记录最长的单词
for(j=0;j<i;j++)
{
if (arr[j]>max)
max=arr[j];//遍历所有的单词得到最大的单词数
}
for(j=max-1;j>=0;j--)
{
for(k=0;k<i;k++)
{
if(arr[k]>j)
printf("*");
else
printf(" ");
}
printf("\n");
}
return 0;
}