Вот демонстрационная программа, которая показывает, как можно генерировать случайные числа от 1 до 7 включительно.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
srand( ( unsigned int )time( NULL ) );
const int N = 10;
for ( int i = 0; i < N; i++ )
{
int value = rand() % 7 + 1;
printf( "%d ", value );
}
putchar( '\n' );
return 0;
}
Вывод программы может выглядеть следующим образом:
1 2 7 5 2 4 4 4 1 6
Или другой пример
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
enum DayOfWeek
{
Monday = 1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
};
srand( ( unsigned int )time( NULL ) );
const int N = 10;
for ( int i = 0; i < N; i++ )
{
int day_of_week = rand() % 7 + 1;
switch( day_of_week )
{
case Monday:
puts( "Monday" );
break;
case Tuesday:
puts( "Tuesday" );
break;
case Wednesday:
puts( "Wednesday" );
break;
case Thursday:
puts( "Thursday" );
break;
case Friday:
puts( "Friday" );
break;
case Saturday:
puts( "Saturday" );
break;
case Sunday:
puts( "Sunday" );
break;
}
}
putchar( '\n' );
return 0;
}
putchar( '\n' );
return 0;
}
Вывод программы может выглядеть следующим образом:
Monday
Thursday
Saturday
Sunday
Friday
Monday
Friday
Wednesday
Thursday
Wednesday
Программа может выглядеть проще, если ввести массив имен дней.
Например,
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
const char * month_name[] =
{
"", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"
};
srand( ( unsigned int )time( NULL ) );
const int N = 10;
for ( int i = 0; i < N; i++ )
{
int day_of_week = rand() % 7 + 1;
puts( month_name[day_of_week] );
}
putchar( '\n' );
return 0;
}