博文

教师管理程序(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(vo......

阅读全文(3107) | 评论: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);
   ......

阅读全文(2894) | 评论: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);  /*开个后门好作弊,判断普通或......

阅读全文(3571) | 评论: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};/*存储点数*/
   ......

阅读全文(2873) | 评论: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;
      ......

阅读全文(3635) | 评论: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{
 &n......

阅读全文(3783) | 评论: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("输入一个数:");......

阅读全文(2992) | 评论: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);
      &nb......

阅读全文(3275) | 评论: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");
}       ......

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

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

摘要:黑客们解决问题,建设事物,信仰自由和双向的帮助,人人为我, 我为人人。
1 这世界充满待解决的迷人问题

2. 一个问题不应该被解决两次
3. 无聊和乏味的工作是罪恶
4 自由就是好
5. 态度不能替代能力......

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