字符串反序
【题目描述】
execute.stdin
文件中存放着一个字符串,请将它反序后输出。
【输出说明】
向标准输出打印反序后的字符串。
注意提交前移除调试信息,避免系统误判。
【输入说明】
程序从当前目录下的execute.stdin
文件中取得输入数据。
execute.stdin
为单行文件,包括一个ASCII字符串,长度不超过1K。
【示例】
execute.stdin内容为:hello world!
程序预期输出为:!dlrow olleh
1.打开后用一个字符数组存储,最后加上\0
2.计算数组长度,strlen会遇到\0停止,这就是1加入\0的原因
3.用fseek定位,从末尾开始-1-1-1-1...;
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *fin;
char filename[] = "execute.stdin";
fin = fopen(filename, "r+");
if (fin ==NULL) {
printf("打开失败");
exit(0);
}
char cool[100];
int i = 0;
char ch = fgetc(fin);
while (ch != EOF) {
//putchar(ch);
cool[i++] = ch;
ch = fgetc(fin);
}
cool[i] = '\0';
int a = strlen(cool);//12
int b = a;//12
printf("\n");
for (; a-b-1 >= (-b); a--) {
fseek(fin, a - b - 1, 2);//-1 -12
ch = fgetc(fin);
putchar(ch);
}
system("pause");
return 0;
}