c语言向文件中存储信息,急求如何将下列C语言程序数据存储到文件中?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

求如何改动才能将下列程序的存储输入或输出数据(或两者一起)到指定的文件(或运行时直接创立一个文件)如Arrangement中。

#include

int n=0;

int rest[7][7]; //全局声明,以供全局调用

int main()

{

void perm(int list[],int ,int );

int list[]={1,2, 3,4,5,6,7}; //定义一个数组,用数字1-7来表示星期几

int i,j;

char ss[7][20]={"赵","钱","孙","李","周","吴","陈"}; //

printf("===========================欢迎使用排班系统===================================\n");

printf("请输入下列人选选择休息的可能时间:\n");

printf("1.请按赵、钱、孙、李、周、吴、陈的顺序输入休息每个人的时间\n");

printf("2.输入星期时,请直接输入数字,如要输入'星期一',就用'1'代替,以此类推\n");

printf("3.星期与星期之间用空格隔开,每输入完一个人的休息日,在其后输入0,再按回车继续下一人\n"); //初始操作界面

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

{

printf("%s;",ss[i]); //按照字符数组中各个字符的顺序依次输出字符数组中的字符

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

{

scanf("%d",&rest[i][j]); //输入选择的休息时间

if(rest[i][j]==0) //倘若输入了-1,则停止对当前保安选择休息时间的输入,显示下一名保安出来

break;

}

}

printf("\n\n\n");

perm(list,0,6); //0-6为数组list[]的下标范围

printf("total:%d\n",n); //n一开始为零,用来显示方案可能数

getchar();

getchar();

return 0;

}

void perm(int list[],int k,int m) //无需返回,调用该函数直接显示方案

{

void swap(int *a, int *b);

int i;

int j;

if(k>m)

{

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

{

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

{

if (rest[i][j]==0)

return;

if (rest[i][j]!=list[i])

continue;

if (rest[i][j]==list[i])

break;

}

}

n++;

printf("Solution:%d\n",n);

printf("赵 钱 孙 李 周 吴 陈\n");

printf("=============================================================\n");

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

{

switch (list[i])

{

case 1: printf("星期一 ");

break;

case 2: printf("星期二 ");

break;

case 3: printf("星期三 ");

break;

case 4: printf("星期四 ");

break;

case 5: printf("星期五 ");

break;

case 6: printf("星期六 ");

break;

case 7: printf("星期日 ");

break;

default:

break;

}

}

printf("\n\n\n");

}

else

{

for(i=k;i<=m;i++)

{

swap(&list[k],&list[i]);

perm(list,k+1,m);

swap(&list[k], &list[i]);

}

}

}

void swap(int *a, int *b) //利用指针用于交换的一个函数,在perm函数中被调用

{

int m;

m=*a;

*a=*b;

*b=m;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值