poj2039---写出c++reverse函数,且且依次输出每一行的第一个、第二个.....

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

void reverse(char *p1,char *p2,int col)

{

    int i;

    p2--;

    for(i=0;i<col/2;i++)

    {

        char t;

        t = *p1;

        *p1 = *p2;

        *p2 = t;

        p1++;

        p2--;

    }

}

int main()

{

    int col,row,i,j;

    char arr[201];

    while(scanf("%d",&col)!=EOF)

    {

        if(col==0)

            break;

        scanf("%s",arr);

        row=strlen(arr)/col;

        for(i=1;i<row;i=i+2)

        {

            reverse(arr+i*col,arr+(i+1)*col,col);

        }

        for(j=0;j<col;j++)

        {

            for(i=0;i<row;i++)

            {

                printf("%c",arr[i*col+j]);

            }

        }

        printf("\n");

    }

    return 0;

}

 

你可能感兴趣的:(C++)