#28632: <C>我的輸出答案和正確答案一模一樣,但是卻錯了,試法很多方法但都無法通過


s411085056@gm.ntpu.edu.tw (小宥)


#include <stdio.h>
#include <string.h>
int main()
{
int row = 0, max_len = 0;
char str[100][100] = {};
while (gets(str[row]) != NULL)
row++;
for (int i = 0; i < row; i++)
if (strlen(str[i]) > max_len)
max_len = strlen(str[i]);
for (int i = 0; i < row; i++)
{
int len = strlen(str[i]);
for (int j = 0; j < max_len; j++)
if (j > len)
str[i][j] = ' ';
}
// for (int i = 0; i < row ; i++)
// printf("%s\n", str[i]);
for (int i = 0; i < max_len; i++)
{
for (int j = row; j >= 0; j--)
printf("%c", str[j][i]);
// if (i < max_len)
// printf("\n");
printf("\n");
}
//printf("\n");
return 0;
}
#28638: Re:<C>我的輸出答案和正確答案一模一樣,但是卻錯了,試法很多方法但都無法通過


cges30901 (cges30901)



for (int j = row; j >= 0; j--)

1. row改成row-1,不然會多輸出空字元(所以看起來和正確答案一模一樣但其實不一樣)

2. 如果字串長度不足要輸出空格(你的程式會輸出空字元)