// Program to print a matrix in spiral order
#include <stdio.h>
int main(void) {
// your code goes here
int m,n,i,j,k=1,c1,c2,r1,r2;;
scanf("%d %d",&m,&n);
int a[m][n];
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
r1=0;
r2=m-1;
c1=0;
c2=n-1;
while(k<=m*n)
{
for(i=c1;i<=c2;i++)
{
k++;
printf("%d ",a[r1][i]);
}
for(j=r1+1;j<=r2;j++)
{
k++;
printf("%d ",a[j][c2]);
}
for(i=c2-1;i>=c1;i--)
{
k++;
printf("%d ",a[r2][i]);
}
for(j=r2-1;j>=r1+1;j--)
{
k++;
printf("%d ",a[j][c1]);
}
c1++;
c2--;
r1++;
r2--;
}
return 0;
}
Из Википедия (выделение и ссылка добавлены):
При отправке данных, которые были введены в формы HTML, имена и значения полей формы кодируются и отправляются к серверу в сообщении HTTP-запроса с использованием метода GET или POST, или, исторически, по электронной почте. Кодировка, используемая по умолчанию, основана на очень ранней версии общих правил процентного кодирования URI с количеством модификаций , таких как нормализация новой строки и замена пробелов на «+» вместо «%». 20 ". Тип данных MIME, закодированных таким образом, - application / x-www-form-urlencoded, и в настоящее время он определен (все еще очень устаревшим образом) в спецификациях HTML и XForms.
Итак, реальное процентное кодирование использует % 20
, тогда как данные формы в URL-адресах находятся в измененной форме, которая использует +
. Таким образом, вы, скорее всего, увидите только +
в URL-адресах в строке запроса после ?
.
Я бы порекомендовал % 20
.
Вы их жестко кодируете?
Однако это не очень согласованно для разных языков.
Если я не ошибаюсь, в PHP urlencode ()
обрабатывает пробелы как +
, тогда как Python urlencode ()
обрабатывает их как % 20
.
РЕДАКТИРОВАТЬ:
Кажется, я ошибаюсь. Python urlencode ()
(по крайней мере, в 2.7.2) использует quote_plus ()
вместо quote ()
и, таким образом, кодирует пробелы как «+».
Также кажется, что рекомендация W3C - это знак «+», как здесь: http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.1
И на самом деле , вы можете следить за этой интересной дискуссией о собственном трекере проблем Python о том, что использовать для кодирования пробелов: http://bugs.python.org/issue13866 .
РЕДАКТИРОВАТЬ №2:
Я понимаю что наиболее распространенный способ кодирования "" - это как "+", но просто примечание, это может быть только я, но я нахожу это немного запутанным:
import urllib
print(urllib.urlencode({' ' : '+ '})
>>> '+=%2B+'