高分求助,一段C语言程序(追加100分)

题目:从键盘上读取一些无序数,把它存放在文件夹中,然后从文件夹中把这些无序数读出,进行插入法排序,最终输出结果。voidcrfpx(int*num,n)此段错误:说明语法... 题目:从键盘上读取一些无序数,把它存放在文件夹中,然后从文件夹中把这些无序数读出,进行插入法排序,最终输出结果。

void crfpx(int *num,n) 此段错误:说明语法错误
{
int temp;
int i,j,k;
int flag;
for(i=1;i {
temp=num[i];
flag=0;
for(j=0;j {
if(temp {
for(k=i-1;k>=j;k--)
{
num[k+1]=num[k];
}
num[j]=temp;
break;
}
}
}
puts("排序后:");
for(i=0;i printf("%5d",num[i]);
}

main( )
{
FILE *fp;
int a[80],b[80],i,j;
if((fp=fopen("test","w"))==NULL) /* 以写方式打开文本文件 */
{printf("cannot open file.\n");
exit(1);
}
i=0;
for(;;i++)
{ fscanf(stdin,"%d,",&a[i]); /* 从标准输入设备(键盘)上读取数据,以","号格开,-1结束 */
fprintf(fp,"%d,",a[i]); /* 以格式输出方式写入文件 */
if a[i] == -1
break;
}
fclose(fp); /* 写文件结束关闭文件 */
if((fp=fopen("test","r"))==NULL) /* 以读方式打开文本文件 */
{printf("cannot open file.\n");
exit(1);
}
for(j=0;j { fscanf(fp,"%d,",&b[i]); /* 以格式输入方式从文件读取数据 */
fprintf(stdout,"%d,",b[i]); /* 将数据显示到标准输出设备上 */
fclose(fp); /* 读文件结束关闭文件 */
}
crfpx(b,j)
}
把n修改了一下,又出现了14个错误。。。请问怎么弄。。。
展开
 我来答
plmday
2008-05-28 · TA获得超过474个赞
知道小有建树答主
回答量:143
采纳率:0%
帮助的人:243万
展开全部
把错误贴出来我看看(算了,你的错太多了,下面是修该好的程序,不懂发消息问我)

#include <stdio.h>
#include <stdlib.h> //不包含这个头文件,exit()则无定义

void
crfpx(int *num, int n)
{
int val;
int i, j, k;
for (i = 1; i < n; i++) {
val = num[i];
for (j = i-1; j >=0 && num[j] > val; j--)
num[j+1] = num[j];
num[j+1]=val;
}
puts("Sorted: ");
for (i = 0; i < n; i++)
printf("%5d", num[i]);
putchar('\n');
}

int
main(void)
{
FILE *fp;
int a[80], b[80], i, j;
if ((fp=fopen("text", "w")) == NULL) { /* 以写方式打开文本文件 */
printf("cannot open file.\n");
exit(1);
}
for(i = 0; ; i++) {
fscanf(stdin, "%d,", &a[i]); /* 从标准输入设备(键盘)上读取数据,以","号格开,-1结束 */
fprintf(fp, "%d,", a[i]); /* 以格式输出方式写入文件 */
if (a[i] == -1)
break;
}
fclose(fp); /* 写文件结束关闭文件 */
if ((fp=fopen("text", "r")) == NULL) { /* 以读方式打开文本文件 */
printf("cannot open file.\n");
exit(1);
}
for (j = 0; ; j++) {
fscanf(fp, "%d,", &b[j]); /* 以格式输入方式从文件读取数据 */
fprintf(stdout, "%d,", b[j]); /* 将数据显示到标准输出设备上 */
if (b[j] == -1)
break;
}
fclose(fp); /* 读文件结束关闭文件 */
printf("%d\n", j);
crfpx(b, j);

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高金山
推荐于2016-06-07 · TA获得超过1万个赞
知道大有可为答主
回答量:4101
采纳率:0%
帮助的人:1706万
展开全部
修改好的程序如下:
#include <stdio.h>
#include <stdlib.h>

void crfpx(int *num,int n) //此段错误:说明语法错误
{
int temp;
int i,j,k;

for(i=1;i<n;i++)
{
temp=num[i];
for(j=0;j<i;j++)
{
if(temp<num[j])
{
for(k=i-1;k>=j;k--)
{
num[k+1]=num[k];
}
num[j]=temp;
break;
}
}
}

puts("排序后:");
for(i=0;i<n;i++)
{
printf("%5d ",num[i]);
}
}

void main()
{
int a[80]={0},b[80]={0},i,j;
FILE *fp;

if((fp=fopen("test","w"))==NULL) /* 以写方式打开文本文件 */
{
printf("cannot open file.\n");
exit(1);
}

for(i=0;;i++)
{
fscanf(stdin,"%d,",&a[i]); /* 从标准输入设备(键盘)上读取数据,以","号格开,-1结束 */
fprintf(fp,"%d,",a[i]); /* 以格式输出方式写入文件 */
if (a[i] == -1)
break;
}
fclose(fp); /* 写文件结束关闭文件 */
if((fp=fopen("test","r"))==NULL) /* 以读方式打开文本文件 */
{
printf("cannot open file.\n");
exit(1);
}
for(j=0;j<i;j++)
{
fscanf(fp,"%d,",&b[j]); /* 以格式输入方式从文件读取数据 */
fprintf(stdout,"%d,",b[j]); /* 将数据显示到标准输出设备上 */
}
fclose(fp); /* 读文件结束关闭文件 */
crfpx(b,i);
}

该程序调试过,完全正确:
输入: 1 2 3 -1
输出: 1 2 3
输入: 3 2 1 -1
输出: 1 2 3
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wonder想知道
2008-05-28 · TA获得超过231个赞
知道小有建树答主
回答量:113
采纳率:0%
帮助的人:168万
展开全部
void crfpx(int *num,n)中的形参n没有声明类型.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友84e410d
2008-05-28 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:158万
展开全部
确定程序没贴错? 好几处for语句不完整。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式