博文

教师管理程序(2005-04-23 07:33:00)

摘要:/*输入一组数据,包括某人的学号,姓名,性别,年龄和收入, 可以由用户决定按某种顺序排序 */ /*2005-4-22 梁见斌*/ #include<stdio.h> #include<stdlib.h> #include<string.h> #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 #define OK 1 #define OVERFLOW 1 typedef struct l{    char name[15];    char sex[8];    int number;    int age;    float income;    struct l *next; }Lk; Lk *creat(Lk stu[]); void print(Lk *stu); int sort_menu(void); void sort(Lk **stu, int n) ; void insert(Lk **stu); void del_menu(Lk *stu); void del_1 (Lk **stu); void del_2 (Lk **stu); void del_3 (Lk **stu); void del_4 (Lk **stu); void del_5 (Lk **stu); void find_menu(Lk *stu); void find_1 (Lk **stu); void find_2 (Lk **stu); void find_3 (Lk **stu); void find_4 (Lk **stu); void find_5 (Lk **stu); int main(void) {    Lk *student;    int flag, n;        student = creat(student); a: do{   &n......

阅读全文(3294) | 评论:0

木料问题(2005-04-23 07:02:00)

摘要:/*算法高手请进。有一个难题求解? 标准原材料长600cm。 可能要截成以下几种规格:60cm、80cm、90cm、120cm、150cm、180cm、210cm、240cm的任意几种的组合。 比方说: 方案一:需要60cm28根、210cm16根、240cm8根,最少需要多少根原材料(600cm) 方案.... 此解主要解决怎么才能最省料。 另:能否解任意规格尺寸的问题。*/ /*算法;将材料规格按照从大到小的顺序从原材料中取出,这样最省料。 程序不但给出所需的原材料数量,还给出每根原材料剩下的边角余料。 通过改变M,N的值可以改变原材料的预计数量和所需材料的规格*/ /*2005-4-22 梁见斌*/ #include<stdio.h> #include<stdlib.h> #define N 8 #define M 100 int Input(void);/*输入材料的规格和数量*/ void sort(int len);/*将材料规格按照从大到小的顺序排列,以便处理*/ void print(int len);/*按顺序打印输入材料的规格和数量*/   int solve(int len);/*将材料规格按照从大到小的顺序从原材料中取出,这样最省料*/ /*wood[N][2]存储输入材料的规格和数量;source[M]存储原材料的数量;rest存储剩下边角余料*/ int wood[N][2], source[M], rest=0; int main(void) {    int kind, num;    kind = Input();/*kind表示输入材料规格的种类*/    sort(kind);    print(kind);    num = solve(kind);    printf("\n至少需要原材料%d根", num);    printf("\n剩下边角余料总共%d cm,具体的剩余情况为:\n", rest);  &......

阅读全文(5215) | 评论:0

好玩的猜数游戏(2005-04-10 20:46:00)

摘要:/*猜数游戏*/        /*程序产生一个随机数,游戏者输入数据进行猜测。管理员可输入密码,        其中普通管理员只能获得答案,超级管理员获得答案并能修改普通管理员密码*/ #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h>          #define NO 0 #define YES 1 #define QUIT -1 #define EASY 1 #define COMMON 2 #define HARD 3 #define PASSWORD2 -100 /*超级管理员密码,不可修改*/        char *PasswordName = "nihao";/*超级管理员确认密码,不可修改*/ int Password1 =-10 ;  /*普通管理员密码,可修改*/ long number;       /*计算机产生的随机数*/ long guess_value=0; /*游戏者输入的猜测数*/ int nbr_of_guesses=0;/*累加游戏者猜测的次数*/ int done=0;  /*标记游戏者是否猜对,若猜对则  done=1*/ long chushu;       void the_back_door(int password,long answer);  /*开个后门好作弊,判断普通或超级管理员*/ void super_Adm_menu(void); /*超级管理员选择菜单*/ void game_introduction(void);/*游戏介绍,选择游戏级别或退出......

阅读全文(3787) | 评论:0

多人游戏十点半(2005-04-10 19:21:00)

摘要: /*一副扑克(除去王),第一轮玩者依次取一张牌,。之后玩者根据自己的牌总的点数 选择继续要牌或比较大小。(玩家可以选择不要牌,但一旦选择不要牌,以后就不能再要牌) 玩家的点数一旦超过10。5,不能再要牌。 j q k算0。5点。 如果牌总的点数都大于10。5 或都小于10。5,大者赢; 如果一个大于10。5而另一个小于10。5,小于10。5者胜。*/ /*2005-4-9  梁见斌*/ #include<stdio.h> #include<stdlib.h> #include<time.h> struct book{    int color;    char number;    float num; } Card[52];/*用来存储牌的花色,数字及所代表的点数*/ void Build_Show(int HuaSe[], float DianShu[], char ShuZi[]);/*建立一副新牌,并显示给游戏者检查*/ void Wash_Card(void);/*洗牌*/ void Get_Card(int n) ;/*按顺序发牌并公布结果*/ void DuoRen(int n); int main(void) {    int  flag, n;    int HuaSe[4]={3,4,5,6};/*存储花色*/    char ShuZi[13]={'A','K','Q','J','0','9','8','7','6','5','4','3','2'};/*存储数字*/    float DianShu[13]={1,0.5,0.5,0.5,10,9,8,7,6,5,4,3,2};/*存储点数*/        Build_Show(HuaSe, DianShu, ShuZi);/*建立一副新牌,并显示给游戏者检查*/    do{   ......

阅读全文(3097) | 评论:0

出纳的好帮手--准备足够的零钱(2005-04-10 13:13:00)

摘要:/*此程序用来实现发工资时如何准备足够的零钱的问题*/ /*2005-4-5 梁见斌*/ #include<stdio.h> #include<stdlib.h> int main(void) {/*ShuLiang_GeRen[13]用来存储各种数额的钞票的数量*/    int i, j, num=0, ShuLiang_GeRen[13]={0}, ShuLiang_ZongShu[13]={0};    float danwei[13]={100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0.01};    float money, sum=0;    printf("\n输入第%d个人的工资(输入负数表示结束):", ++num);       scanf("%f",&money);    while(money >= 0)/*循环输入,直到输入负值*/    {          for(j=0; j<13; j++)/*先把每个人的钞票数量弄好*/           ShuLiang_GeRen[j]=0;                i=0;        sum += money;          while(i < 13 && money > 0) &nb......

阅读全文(3829) | 评论:0

跟电脑比智慧--十点半游戏(2005-04-10 13:12:00)

摘要: /*一副扑克(除去王)玩者先取一张牌,电脑跟着取一张牌。之后玩者根据自己的牌总的点数 选择继续要牌或比较大小。j q k算0。5点。 如果牌总的点数都大于10。5 或都小于10。5,大者赢; 如果一个大于10。5而另一个小于10。5,小于10。5者胜。*/ #include<stdio.h> #include<stdlib.h> #include<time.h> struct book{    int color;    char number;    float num; } Card[52];/*用来存储牌的花色,数字及所代表的点数*/ void Build_Show(int HuaSe[], float DianShu[], char ShuZi[]);/*建立一副新牌,并显示给游戏者检查*/ void Wash_Card(void);/*洗牌*/ void Get_Card(void) ;/*按顺序发牌并公布结果*/ int main(void) {    int  flag;    int HuaSe[4]={3,4,5,6};/*存储花色*/    char ShuZi[13]={'A','K','Q','J','0','9','8','7','6','5','4','3','2'};/*存储数字*/    float DianShu[13]={1,0.5,0.5,0.5,10,9,8,7,6,5,4,3,2};/*存储点数*/        Build_Show(HuaSe, DianShu, ShuZi);/*建立一副新牌,并显示给游戏者检查*/    do{       Wash_Card();/*洗牌*/       Get_Card();/*发牌并公布结果......

阅读全文(4003) | 评论:0

银行常用的打印程序(2005-03-28 08:30:00)

摘要:/*如: 输入:25001 输出:贰万 伍仟 零 壹元 输入:123.45 输出:壹佰 貳拾 叁元 肆角 伍分 */ #include<stdio.h> #include<stdlib.h> char *p[10]={"零","一","二","三","四","五","六","七","八","九"}; int In_Save(char a[], char b[]);/*输入并存储数据*/ void Print_Zh(char a[], int len);/*输出整数部分 */ void Print_X(char a[]);/*输出小数部分 */ int main(void) {    char Zh_Shu[26], X_Shu[10];    int len;        len=In_Save(Zh_Shu, X_Shu);    Print_Zh(Zh_Shu, len);    Print_X(X_Shu);        system("pause");    return 0; } int In_Save(char a[], char b[]) {    char ch;    int i, j;     a: puts("输入一个数:");    scanf("%c", &ch);    while(ch != '\n')/*存储整数部分*/    {     &n......

阅读全文(3193) | 评论:0

判断谁是第一名(2005-03-01 08:33:00)

摘要: /* 有甲,乙,丙,丁四人参加竞赛,有一人得第一名,当问谁得第一名时, 甲说:”乙不是第一名 ,丁是第一名 。“乙说:”我不是第一名, 丙是第一名。“丙说:”甲不是第一名,乙是第一名。”丁说:“我不是第一名。”   他们各个人说的不是全对,就是全错,编程分别用A,B,C,D代表甲,乙,   丙,丁四人, 用A1,B1,C1,D1代表甲,乙,丙,丁四人所说的话,   判断谁是第一名。  */ #include<stdio.h> #include<stdlib.h> int main(void) {     int A,B,C,D,i=0;     int A1,B1,C1,D1;     for(A=1;A<=4;A++)       for(B=1;B<=4;B++)         for(C=1;C<=4;C++)           for(D=1;D<=4;D++)             {                 A1=(B!=1&&(D==1))||((B==1)&&D!=1);                 B1=(B!=1&&(C==1))||((B==1)&......

阅读全文(3454) | 评论:0

九九乘法表(2005-03-01 08:28:00)

摘要:九九乘法表 #include<stdio.h> #include<stdlib.h> main() {    int i, j;        for (i=9; i>=1; i--)    {          for (j=9; j>=i; j--)            printf("%d*%d =%2d  ",i, j, i*j);          printf("\n");    }         system("pause"); }       ......

阅读全文(3979) | 评论:0

黑客的态度(2004-12-30 15:40:00)

摘要:黑客们解决问题,建设事物,信仰自由和双向的帮助,人人为我, 我为人人。 1 这世界充满待解决的迷人问题 2. 一个问题不应该被解决两次 3. 无聊和乏味的工作是罪恶 4 自由就是好 5. 态度不能替代能力......

阅读全文(4172) | 评论:0