求求神灵们啊。。帮帮我吧。C语言。指针。输出。。

来源:百度知道 编辑:UC知道 时间:2024/05/24 15:27:55
拜托帮看一下此题。由于是从日语翻译过来的,有些意思可能不太好理解。
实在急求帮助。希望好心人可以告诉我答案。我在这里向您表达衷心的谢意。

有一部分已经做好了。望参考
#include <stdio.h>
#include <stdlib.h>
#define NUM_STRING 10
#define MAX_LEN 1000
int main( void )
{
int i;
int n;
char data[MAX_LEN]={};
char *str_p[NUM_STRING];
FILE *fp;
//1~3的処理

//文件的OPEN

//写入文件
fprintf(fp, "%d\n",n);
for(i=n-1;i>=0;i--)
fprintf(fp, "%s\n", str_p);
//文件的CLOSE

return 0;
}

你那题大概就是读入一堆字符然后处理一下 感觉可以用动态分配内存 然后输出到一个文件中
程序的条件:
1.从键盘输入任意英数字,存储在data后,显示。
2. 动态分配内存,输入的任意英数字在和它一样长的文字列里的领域,然后把data复制在那个领域里。要注意,必要的文字排列的长度是文字列的长+1字节。
(参考int strcmp(const char *s1, const char *s2)
char *strcpy(char *s1, const char *s2)
size_t strlen(const char *s)
3.输入文字列end,使入力后的文字列变为NUM_STRING(10)个为止,都要重复1~2步骤。
4.存储各文字列的指针(char*)型指针的排列定义为str_p(大小:NUM_ST

#include<stdio.h>
#include<stdlib.h>
#define NUM_STRING 10
#define MAX_LEN 1000

int main(void)
{
int i;
int n;

char data[MAX_LEN]={};
char *str_p[NUM_STRING];
FILE *fp;

printf("plese input num:\n");
scanf("%d",&n);
fflush(stdin); /*clear stream*/

/*open file*/
if((fp=fopen("c:\\output_point2-1.txt","w"))==NULL)
{
printf("can't open file.\n");
exit(EXIT_FAILURE);
}
fprintf(fp,"%d\n",n);
/*read n string*/
for(i=0;i<n;++i)
{
printf("Input strings->");
scanf("%s",data);
fflush(stdin);
str_p[i] = (char*)malloc(sizeof(strlen(data)+1));
strcpy(str_p[i],data);
puts((data));
}

/*write in file*/
for(i=0;i<n;++i)
fprintf(fp,"%s\n",str_