#include<stdio.h>
int *** create(int lenth , int wide , int high)
{
int i , j ;
int *** p = ( int *** )malloc( high * sizeof(int**) );
for( i = 0 ; i < high ; i ++)
{
p[i] = (int **)malloc( wide * sizeof(int*) ) ;
}
for( i = 0 ; i < high ; i ++)
{
for( j = 0 ; j < wide ; j ++)
{
p[i][j] = (int *)malloc( lenth * sizeof(int) ) ;
}
}
return p ;
}
int *** initData(int *** p ,int high ,int wide ,int lenth)
{
int i , j , l ;
for(i = 0 ; i < high ; i ++)
{
for(j = 0 ; j < wide ; j ++)
{
for( l = 0 ; l < lenth ; l ++ )
{
p[i][j][l] = i + j + l ;
}
}
}
return p ;
}
void show(int *** p ,int high ,int wide ,int lenth)
{
int i , j , l ;
for(i = 0 ; i < high ; i ++)
{
for(j = 0 ; j < wide ; j ++)
{
for( l = 0 ; l < lenth ; l ++ )
{
printf("%3d", p[i][j][l]);
}
printf("\n");
}
printf("\n");
}
}
void deleteArray(int *** p ,int high ,int wide ,int lenth)
{
int i , j ;
for( i = 0 ; i < high ; i ++)
{
for( j = 0 ; j < wide ; j ++)
{
free(p[i][j]);
}
}
for( i = 0 ; i < high ; i ++)
{
free(p[i]);
free(p);
}
}
int main()
{
int i , j , l;
int lenth , wide , high ;
int *** p ;
printf("输入长、宽、高:\n");
scanf("%d%d%d",&lenth,&wide,&high);
p = create(lenth,wide,high);
p = initData(p,high,wide,lenth);
show(p,high,wide,lenth);
deleteArray(p,high,wide,lenth);
//printf("%d",p[1][1][1]);
return 0;
}
#include<stdio.h>
typedef struct listTest
{
int num ;
struct listTest *next ;
}mList;
mList * init()
{
int i ;
mList *head , *p , *temp;
temp = (mList *)malloc(sizeof(mList));
temp->num = 0 ;
head = temp ;
for(i = 1 ; i < 5 ; i++)
{
p = (mList *)malloc(sizeof(mList));
p->num = i ;
temp->next = p ;
temp = p ;
}
temp->next = NULL ;
return head ;
}
int showListMember(mList *head , int num)
{
do
{
printf("%d\t",head->num);
num = num + 1 ;
}while(head = head->next);
return num ;
}
void resersal(mList *head,int numOfList)
{
mList *next , *prev = NULL ;
int i ;
for(i = 0 ; i < numOfList ; i ++)
{
//printf("test:%d\t",head->num);
next = head->next;
//printf("test in:%d\t",head->num);
head->next = prev;
prev = head ;
if(next == NULL)
{
}
else
{
head = next ;
}
}
printf("\n");
do
{
printf("%d\t",head->num);
}while(head = head->next);
}
int main()
{
mList *head ;
head = init();
int numOfList = 0 , i ;
numOfList = showListMember(head ,numOfList);
resersal(head,numOfList);
return 0 ;
}
#include <stdio.h>
#include <stdlib.h>
#define FALSE (1==0)
#define TRUE (1==1)
#define SIZE 8
int eight_queen(char checkerboard[SIZE][SIZE], int sum);
int put_queen(char checkerboard[SIZE][SIZE], int row, int column);
int print(char checkerboard[SIZE][SIZE]);
int main(int argc, char *argv[])
{
char checkerboard[SIZE][SIZE];
//init checkerboard
int i, j;
for(i = 0; i < SIZE; i++)
{
for(j = 0; j < SIZE; j++)
{
checkerboard[i][j]='-';
}
}
eight_queen(checkerboard, 0);
system("pause");
return 0;
}
int eight_queen(char checkerboard[SIZE][SIZE], int sum)
{
int i, j, num;
char array[SIZE][SIZE];
char array1[SIZE][SIZE];
//复制
memcpy(array, checkerboard, SIZE*SIZE*sizeof(char));
memcpy(array1, checkerboard, SIZE*SIZE*sizeof(char));
if(sum == 8)
{
num++;
printf("~~~~~~~~~第%d种~~~~~~~~~~~~\n",num);
print(array1);
//system("pause");
}
for(i = 0; i < SIZE; i++)
{
for(j = 0; j < SIZE; j++)
{
if(TRUE == put_queen(array, i, j))
{
sum++;
if(eight_queen(array, sum) == -1)
{
array1[i][j] = '0';
memcpy(array, array1, SIZE*SIZE*sizeof(char));
sum--;
}
}
}
}
return -1;
}
int put_queen(char checkerboard[SIZE][SIZE], int row, int column)
{
int i = 0;
if(checkerboard[row][column]=='-')
{
for(i = 0; i < 8; i++)
{
checkerboard[row][i] = '0';
checkerboard[i][column] = '0';
if(row + i < SIZE && column + i < SIZE)
checkerboard[row + i][column + i] = '0';
if(row - i >= 0 && column - i >= 0)
checkerboard[row - i][column - i] = '0';
if(row - i >= 0 && column + i < SIZE)
checkerboard[row - i][column + i] = '0';
if(row + i < SIZE && column - i >= 0)
checkerboard[row + i][column - i] = '0';
}
checkerboard[row][column] = '1';
return TRUE;
}
return FALSE;
}
int print(char checkerboard[SIZE][SIZE])
{
int i, j;
for(i = 0; i < SIZE; i++)
{
for(j = 0; j < SIZE; j++)
{
printf("%c ",checkerboard[i][j]);
}
printf("\n\r");
}
}
#include<stdio.h>
int leapYear(int year)
{
if((year%4==0&&year%100!=0)||(year%400==0))
{
return 1 ;
}
else
{
return 0 ;
}
}
int theDayOfMonth(int month,int isLeap)
{
if((month>=1) && (month <=7) && (month % 2 == 1))
{
return 31 ;
}
else if((month>7) && (month <=12) && (month % 2 == 0))
{
return 31 ;
}
else if((month == 2) && isLeap)
{
return 29 ;
}
else if((month == 2) && !isLeap)
{
return 28 ;
}
else
{
return 30;
}
}
int main()
{
int theSumOfDay = 0 ;
int month , year , remainder;
for( year = 1990 ; year < 2017 ; year ++ )
{
if(leapYear(year))
{
theSumOfDay = theSumOfDay + 366 ;
}
else
{
theSumOfDay = theSumOfDay + 365 ;
}
}
/*
for(i = 1 ; i <= 12 ; i ++)
{
printf("%d,%d\n",theDayOfMonth(i,1),theDayOfMonth(i,0));
}
*/
for( month = 1 ; month < 10 ; month ++)
{
theSumOfDay = theSumOfDay + theDayOfMonth(month,leapYear(2017)) ;
}
theSumOfDay = theSumOfDay + 15 ;
remainder = theSumOfDay % 5 ;
if( remainder <= 3 )
{
printf("打渔");
}
else
{
printf("晒网");
}
return 0 ;
}