跪求程序(Visual C++6.0)

王朝知道·作者佚名  2009-10-31
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

大哥大姐们救救我吧,要交程序。麻烦你们拉

谢谢各位大哥了~~真心祝福你们天天好心情`:)谢谢!

我会追加分数的

谢谢谢谢啦

问题描述

有n个同学一起玩游戏(10≤n≤99),大家围成一圈,依靠学号来区分同学,从某一个同学(编号为a)开始数数,遇到7的倍数或者包含7的数(比如17,27),则该同学退出圈外,请求解同学们退出的顺序(用学号表示)。

基本要求

(1) 同学的总人数n可变(10≤n≤99),开始位置a可变(1≤a≤n);

(2) 用两种线性表的存储结构来分别表示围成圈的同学和退出顺序。比如,可以用循环链表或者双链表表示围成的圈,用顺序表(一位数组)来存储退出的同学学号的顺序;

(3) 同学的学号可以用简单1,2,3,…,M编号;

(4) 文档中,对算法的时间复杂度和空间复杂度进行分析,判断复杂度与n之间的关系。

(5) 绘制算法的流程图。

參考答案:

我把程序写给你吧

#include<iostream>

#define MAX 100

using namespace std;

typedef struct Lnode

{ int num;

struct Lnode *next;

}Lnode,*Link;

int main()

{ Link L,p,h;

int i,j,n,pos;

int s[MAX];

cout<<"请输入学生人数: ";

cin>>n;

L=new Lnode;

L->next=NULL;

h=L;

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

{ p=new Lnode;

p->num=i+1;

p->next=h->next;

h->next=p;

h=h->next;

}

cout<<"学生编号是:\n";

p=L->next;

while(p)

{ cout<<p->num<<" ";

p=p->next;

}

p=L->next;

cout<<"请输入开始位置: ";

cin>>pos;

while(p->num!=pos)

p=p->next;

for(i=0;p;p=p->next)

if(p->num%7==0||(p->num-7)%10==0)

s[i++]=p->num;

cout<<"退出顺序是:\n";

j=i;

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

cout<<s[i]<<" ";

cout<<endl;

delete p;

delete L;

delete h;

return 0;

}

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航