没有合适的资源?快使用搜索试试~ 我知道了~
首页约瑟夫环实验报告 c语言版 刚试验过的
资源详情
资源评论
资源推荐

实习报告
实验名称:求解约瑟夫环
班级:通信 3 班 学号:你好好 姓名:一一
一,需求分析
1.本程序中,初始密码和每个人的密码为 1~9999,人数为 1~30,先输入人数 n,再输入输入 n 个正整数,作为这 n 个人
的密码,接下来初始密码 m。
2.程序只适合于处理一个案例,即程序给出一个约瑟夫环的答案之后,如果用户有第二个案例,需再运行本程序
3.程序应该以模拟约瑟夫环运行情况的方式求解,即不得采用公式计算等其他数学方式求解
4.测试数据
(1)m=20 n=7
N 个人的密码依次 = 3,1,7,2,4,8,4。
出列为:6 1 4 7 2 3 5
二,k概要设计
1.为实现上述程序功能,程序应以线性表示环,该表以单向循环链表实现。为此,定义如下线性表
creatlist*creat(int n) //函数功能:建立新链表并且初始化
{ int i;
creatlist*p1,*p2,*p;
p=p1=(creatlist*)malloc(sizeof( creatlist)); //为第一个元素开辟存储空间,并用 p、p1 指向第一个元素
if(!p1)
{printf("内存已满!");
exit(0);
} //判断开辟空间是否成功
for(i=1;i<=n;i++)
{ printf("请输入第%d 个人的密码:",i);
scanf("%d",&(p1->code)); //读取第 i 个人的密码
if(p1->code<=0)
{ printf("ERROR!");
exit(0);
} //判断密码是否正确
p1->num=i;
if(i<n)
{ p2=( creatlist*)malloc(sizeof( creatlist));
if(!p2)
{printf("内存已满 !");
exit(0);
}
p1->next=p2;

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论6