# include <stdio.h>
# include <stdlib.h>
# define LEN sizeof ( struct Student )
struct Student
{
long num;
float score;
struct Student * next;
} ;
int n;
struct Student * creat ( void )
{
struct Student * head;
struct Student * p1, * p2;
n= 0 ;
p1= p2= ( struct Student * ) malloc ( LEN) ;
scanf ( "%ld,%f" , & p1-> num, & p1-> score) ;
head= NULL ;
while ( p1-> num!= 0 )
{
n= n+ 1 ;
if ( n== 1 )
head= p1;
else
p2-> next= p1;
p2= p1;
p1= ( struct Student * ) malloc ( LEN) ;
scanf ( "%ld,%f" , & p1-> num, & p1-> score) ;
}
p2-> next= NULL ;
return ( head) ;
}
void print ( struct Student * head)
{
struct Student * p;
printf ( "\nNow,These %d records are:\n" , n) ;
p= head;
if ( head!= NULL )
do
{
printf ( "%ld %5.1f\n" , p-> num, p-> score) ;
p= p-> next;
} while ( p!= NULL ) ;
}
int main ( )
{
struct Student * head;
head= creat ( ) ;
print ( head) ;
return 0 ;
}
# include <stdio.h>
# include <math.h>
# include <string.h>
# include <stdlib.h>
struct
{
int num;
char name[ 20 ] ;
char sex;
char job;
union
{
int clas;
char position[ 10 ] ;
} category;
} person[ 2 ] ;
int main ( ) {
int i;
for ( i = 0 ; i < 2 ; i++ ) {
printf ( "请输入人员数据:\n" ) ;
scanf_s ( "%d" , & person[ i] . num) ;
gets_s ( person[ i] . name) ;
scanf_s ( "%c" , & person[ i] . sex) ;
scanf_s ( "%c" , & person[ i] . job) ;
if ( person[ i] . job == 't' ) scanf_s ( "%s" , person[ i] . category. clas) ;
else if ( person[ i] . job == 's' ) scanf_s ( "%d" , person[ i] . category. position) ;
else
{
printf ( "输入错误!" ) ;
}
}
printf ( "\n" ) ;
printf ( "No. name Sex Job Class/Position " ) ;
for ( i = 0 ; i < 2 ; i++ ) {
if ( person[ i] . job == 't' )
printf ( "%-6d%-10s%-4c%-4c%-10s\n" , person[ i] . num, person[ i] . name, person[ i] . sex, person[ i] . job, person[ i] . category. position) ;
else
printf ( "%-6d%-10s%-4c%-4c%-10d\n" , person[ i] . num, person[ i] . name, person[ i] . sex, person[ i] . job, person[ i] . category. clas) ;
}
return 0 ;
}
# include <stdio.h>
int main ( )
{
enum Color { red, yellow, blue, white, black} ;
enum Color i, j, k, pri;
int n, loop;
n= 0 ;
for ( i= red; i<= black; i++ )
{
for ( j= red; j<= black; j++ )
{
if ( i!= j)
{
for ( k= red; k<= black; k++ )
{
if ( ( k!= i) && ( k!= j) )
{
n= n+ 1 ;
printf ( "%-4d" , n) ;
for ( loop= 1 ; loop<= 3 ; loop++ )
{
switch ( loop)
{
case 1 : pri= i; break ;
case 2 : pri= j; break ;
case 3 : pri= k; break ;
default : break ;
}
switch ( pri)
{
case red: printf ( "%-10s" , "red" ) ; break ;
case yellow: printf ( "%-10s" , "yellow" ) ; break ;
case blue: printf ( "%-10s" , "blue" ) ; break ;
case white: printf ( "%-10s" , "white" ) ; break ;
case black: printf ( "%-10s" , "black" ) ; break ;
default : break ;
}
}
printf ( "\n" ) ;
}
}
}
}
}
printf ( "\ntotal:%5d\n" , n) ;
return 0 ;
}
# include <stdio.h>
# include <string.h>
void swap ( int * p1, int * p2)
{
int temp;
temp= * p1;
* p1= * p2;
* p2= temp;
}
int main ( )
{
int a, b, c;
int * p1, * p2, * p3;
scanf ( "%d %d %d" , & a, & b, & c) ;
p1= & a;
p2= & b;
p3= & c;
if ( a< b)
swap ( p1, p2) ;
if ( a< c)
swap ( p1, p3) ;
if ( b< c)
swap ( p2, p3) ;
printf ( "%d %d %d" , a, b, c) ;
return 0 ;
}
# include <stdio.h>
void jh ( int a[ ] , int n)
{
int t, j, i;
int m= ( n- 1 ) / 2 ;
for ( i= 0 ; i<= m; i++ )
{
j= n- 1 - i;
t= a[ i] ;
a[ i] = a[ j] ;
a[ j] = t;
}
}
int main ( )
{
int a[ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ;
int i;
for ( i= 0 ; i< 10 ; i++ )
{
printf ( "%6d" , a[ i] ) ;
}
printf ( "\n" ) ;
jh ( a, 10 ) ;
printf ( "排序后的数组为\n" ) ;
for ( i= 0 ; i< 10 ; i++ )
{
printf ( "%6d" , a[ i] ) ;
}
}
# include <stdio.h>
# define N 40
int min;
int max_min ( int a[ ] , int n)
{
int i, max;
max= min= a[ 0 ] ;
for ( i= 1 ; i< n; i++ )
{
if ( a[ i] > max)
{
max= a[ i] ;
}
else if ( a[ i] < min)
{
min= a[ i] ;
}
}
return max;
}
int main ( )
{
int a[ N] , i, max;
printf ( "输入10个整数:\n" ) ;
for ( i= 0 ; i< 10 ; i++ )
scanf ( "%d" , & a[ i] ) ;
max= max_min ( a, 10 ) ;
printf ( "10个数的最大值为:%d,最小值为:%d\n" , max, min) ;
return 0 ;
}
# include <stdio.h>
void average ( float * p, int n)
{
int i= 0 ;
float * p_end, sum= 0 , ave;
p_end= p+ n;
for ( ; p< p_end; p++ , i++ )
{
printf ( "%d=%.0f " , i, * p) ;
sum+= ( * p) ;
}
printf ( "\n\n" ) ;
ave= sum/ n;
printf ( "总分数:%.2f\n" , ave) ;
}
void search ( float ( * p) [ 4 ] , int n)
{
int i, j;
printf ( "请输入你要查找的行:" ) ;
scanf ( "%d" , & i) ;
printf ( "*******************\n" ) ;
if ( i< n)
{
printf ( "要查找的是第%d行\n" , i) ;
for ( j= 0 ; j< 4 ; j++ )
{
printf ( "%.2f\n" , p[ i] [ j] ) ;
}
}
else
{
printf ( "您输入的行数不再范围内,请从新输入:" ) ;
}
}
int main ( )
{
float score[ 3 ] [ 4 ] = { { 65 , 67 , 79 , 60 } , { 80 , 87 , 90 , 81 } , { 90 , 99 , 100 , 98 } } ;
average ( score, 12 ) ;
search ( score, 3 ) ;
return 0 ;
}
# include <stdio.h>
void search ( float ( * p) [ 4 ] , int n) ;
int main ( )
{
float score[ 3 ] [ 4 ] = { { 65 , 57 , 70 , 60 } , { 58 , 87 , 90 , 81 } , { 90 , 99 , 100 , 98 } } ;
search ( score, 3 ) ;
return 0 ;
}
void search ( float ( * p) [ 4 ] , int n)
{
int i, j, flag;
for ( i= 0 ; i< n; i++ )
{
flag= 0 ;
for ( j= 0 ; j< 4 ; j++ )
{
if ( * ( * ( p+ i) + j) < 60 ) flag= 1 ;
}
if ( flag== 1 ) {
for ( j= 0 ; j< 4 ; j++ )
{
printf ( "%f\t" , * ( * ( p+ i) + j) ) ;
}
printf ( "\n" ) ;
}
}
}
# include <stdio.h>
maxAndMin ( int a, int b, int * max, int * min)
{
printf ( "begin max=%d \n" , * max) ;
* max= a> b? a: b;
* min= a< b? a: b;
printf ( "max =%d \n" , * max) ;
printf ( "min =%d \n" , * min) ;
}
main ( )
{
int a= 0 ;
int b= 0 ;
maxAndMin ( 78 , 12 , & a, & b) ;
printf ( "main max =%d \n" , a) ;
printf ( "main min =%d \n" , b) ;
}
# include <stdio.h>
int main ( )
{
float score[ ] [ 4 ] = { { 60 , 70 , 80 , 90 } , { 56 , 89 , 67 , 88 } , { 34 , 78 , 90 , 66 } } ;
float * search ( float ( * pointer) [ 4 ] , int n) ;
float * p;
int i;
int k;
printf ( "enter the number of student:" ) ;
scanf ( "%d" , & k) ;
printf ( "the scores of NO. %d are:\n" , k) ;
p= search ( score, k) ;
for ( i= 0 ; i< 4 ; i++ )
{
printf ( "%5.2f\t" , * ( p+ i) ) ;
}
printf ( "\n" ) ;
return 0 ;
}
float * search ( float ( * pointer) [ 4 ] , int n)
{
float * pt;
pt= * ( pointer+ n) ;
return pt;
}