user-0 提问: C语言 一道题目 求助

回复:
user: user-1
content: 所以上课要认真听讲，课后还要复习实践，完了还要反思总结。  这一行不是那么容易的。

user: user-2
content: 题目看不懂==

user: user-3
content: 引用 6 楼 a515360208 的回复:[quote=引用 5 楼 u014485390 的回复:] 楼主，，，，，，很不好意思，可以把原题发上吗？没看懂 应该是这样的意思： 假如输入4个字符串：s1[20] = "hello"; s2[20] = "world"; s3[20] = "hey"; s4[20] = "man";  输出1：nam yeh dlrow olleh 输出2：olleh dlrow yeh nam 输出3：man hey world hello [/quote] 如果是这样，就把每一种情况单独分开写出来就好了呀

user: user-4
content: 为什么就找不到几个编程风格漂亮的.

user: user-5
content: #include <iostream>  using namespace std;  #define SIZE 10 #define NUM 4  int main() { 	char strall[NUM][SIZE];  	for (int i = 0;i<4;++ i) 	{ 		cin.getline(strall[i],' '); 	} 	cout << endl; 	for (int i=3;i>=0;-- i) 	{ 		for (int j = strlen(strall[i])-1; j >= 0 ;-- j) 		{ 			cout << strall[i][j]; 		}cout << "\t"; 	} 	cout << endl; 	for (int i=0;i<4;++ i) 	{ 		for (int j=strlen(strall[i])-1;j >=0 ;-- j) 		{ 			cout << strall[i ][j]; 		} 		cout << "\t"; 	} 	cout << endl;  	for (int i=3;i >=0 ;-- i ) 	{ 		cout << strall[i ]<<"\t"; 	}cout << endl;   	return 0; }  请多多指教！

user: user-6
content: int main() { 	int i; 	char c; 	char a[4]={'d','g','q','n'}; 	printf("初始顺序\n"); 	for(i=0;i<4;i++) 		printf("%c",a[i]); 	printf("逆输出\n"); 	for(i=3;i>0;i--) 		printf("%c,",a[i]); 	for(i=0;i<3/2;i++){ 		c=a[i]; 		a[i]=a[3-i]; 		a[3-i]=a[i]; 	} 	return 1; }

user: user-7
content: 基本一个问题 例如 1、逆着输出for（i = n；n >= 0 ;  n --）

user: user-8
content: 引用 5 楼 u014485390 的回复:楼主，，，，，，很不好意思，可以把原题发上吗？没看懂 应该是这样的意思： 假如输入4个字符串：s1[20] = "hello"; s2[20] = "world"; s3[20] = "hey"; s4[20] = "man";  输出1：nam yeh dlrow olleh 输出2：olleh dlrow yeh nam 输出3：man hey world hello

user: user-3
content: 楼主，，，，，，很不好意思，可以把原题发上吗？没看懂

user: user-9
content: [code=c#include <stdio.h> #include <string.h>  #define MAX 	200 #define SIZE	  3  void str_revrs(char (*) [], int);  //用以反转字符串 void chr_revrs(char (*) [], int);  //用以反转字符串里的字符 void str_disp(char (*) [], int);   //用以显示字符串  int main(void) { 	char str[SIZE][MAX]; 	char (* pstr)[MAX] = str;     int count = 0;  	puts("Input strings (empty line to quit):"); 	while(count < SIZE &&  gets(str[count]) != NULL && str[count][0] != '\0') 		count++; 	puts("Round one:"); 	chr_revrs(pstr, count);  //第一轮字符串内字符顺序 	str_revrs(pstr, count);  //以及字符串顺序全都反转成逆序 	str_disp(pstr, count); 	puts("Round tow:");     //第二轮留着第一轮已反转成逆序的字符串内字符顺序不动 	str_revrs(pstr, count);  //将在第一轮时反转的字符串顺序再次反转 	str_disp(pstr, count);   //结果就会是字符串内字符顺序依然是逆序，而字符串顺序则回归正序 	puts("Round three:"); 	chr_revrs(pstr, count);  //第三轮将第一轮反转成逆序的字符串内字母再反转回正序 	str_revrs(pstr, count);  //将第二轮回归正序的字符串顺序又反转成逆序 	str_disp(pstr, count); 	puts("Done!");  	return 0; }  void str_revrs(char (* ar)[MAX], int n) { 	int i, j; 	char temp[MAX];      //将字符串前后顺序调换 	for(i = 0, j = n -1; i < n/2, j > n/2; i++, j--) 	{ 		strcpy(temp, ar[i]); 		strcpy(ar[i], ar[j]);   //用strcpy是为了确保字符串 		strcpy(ar[j], temp);    //本身换了位置，而非指针换位 	}                           //这是为了下次反转时做准备 }  void chr_revrs(char (* ar)[MAX], int n) { 	int i, j, k; 	char temp;      for(i = 0; i < n; i++)         for(j = 0, k = strlen(ar[i]) - 1; j < strlen(ar[i])/2, k > strlen(ar[i])/2; j++, k--)         {             temp = ar[i][j];        //道理同上             ar[i][j] = ar[i][k];             ar[i][k] = temp;         } }  void str_disp(char (* ar)[MAX], int n) { 	int i;  	for(i = 0; i < n; i++) 		puts(ar[i]); } [/code]

user: user-10
content: 楼主要表达的是4个字符串吧？！以后好好上课吧 #include<stdio.h>  #define SIZE 20    //字符串最大长度 #define NUM 3      //字符串数量 int main(){ 	char c[NUM][SIZE]; 	int i, j;  	for (i = 0; i < NUM; ++i) 		gets(c[i]);  	for (i = NUM-1; i >= 0; --i){    //1 		for (j = 0; c[i][j] != '\0'; ++j); 		for (--j; j >= 0; --j) 			putchar(c[i][j]); 		putchar('\n'); 	} 	puts("");  	for (i = 0; i < NUM; ++i){    //2 		for (j = 0; c[i][j] != '\0'; ++j); 		for (--j; j >= 0; --j) 			putchar(c[i][j]); 		putchar('\n'); 	} 	puts("");  	for (i = NUM - 1; i >= 0; --i)    //3 		puts(c[i]); }