|
|
=====
main.c
=====
[php]
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <cgi.h>
#include <time.h>
extern void trim(char *str);
int ato36(char *str)
{
int n = atoi(str);
return ((n>=1 && n<=36)?n:0);
}
int find(int (*pa)[],int n, int limit) {
int i;
for (i=0;i<limit;i++) {
if ((*pa) == n) {
return i;
}
}
return -1;
}
void sort(int (*pa)[], int length) {
int i;
int j;
for (j=length;j>1;j--) {
for (i=0;i<j-1;i++) {
if ((*pa) > (*pa)[i+1]) {
(*pa) = (*pa) + (*pa)[i+1];
(*pa)[i+1] = (*pa) - (*pa)[i+1];
(*pa) = (*pa) - (*pa)[i+1];
}
}
}
}
int main() {
char *input = malloc(1024);
printf("please input your lucky number: ");
fgets(input, 1024, stdin);
int n;
while((n = ato36(input))==0) {
printf("lucky number must between 1 and 36!\n");
printf("please input your lucky number: ");
fgets(input, 1024, stdin);
}
free(input);
int result[7];
result[0] = n;
int i=1;
srand(time(0));
while (i<7) {
int r = rand()%36+1;
if (find(&result, r, i) == -1) {
result = r;
i++;
}
}
sort(&result, 7);
for (i=0;i<7;i++) {
printf("%d ", result);
}
printf("\n");
return 0;
}
[/php]
=====
Makefile
=====
[php]
CC = gcc
CFLAGS = -Wall
main : main.c
$(CC) $(CFLAGS) -o main -lcgi main.c
.PHONY : clean
clean :
rm -f main
rm -f *~
[/php] |
|