Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в программирование на С.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
930.82 Кб
Скачать

Int rollDice();

Void main()

{

enum Status {CONTINUE, WON, LOST};

Int sum,myPoint;

Status gameStatus;

srand(time(NULL));

sum=rollDice();

switch(sum)

{

case 7: case 11:

gameStatus = WON;

break;

case 2: case 3: case 12:

gameStatus= LOST;

break;

default:

gameStatus= CONTINUE;

myPoint=sum;

printf(“Ochki: %d\n”,myPoint);

break;

}

while(gameStatus== CONTINUE)

{

sum=rollDice();

if(sum==myPoint)

gameStatus=WON;

else

if(sum==7)

gameStatus=LOST;

}

if(gameStatus==WON)

printf(“You are WON!!!!\n”);

else

printf(“You are LOST!!!!\n”);

}

Int rollDice(){

Int die1,die2,workSum;

die1=1+rand()%6;

die2=1+rand()%6;

workSum=die1+die2;

printf(“Brosok igroka %d + %d = %d\n”,die1,die2,workSum);

return workSum;

}

  1. Преобразовать программу 1, так чтобы мы сами вводили интервал, т.е. [a,b], причем программа должна определять: 1) если a или b отрицательны или больше, чем 32767, то требовала нового ввода чисел; 2) в какой поочередности бы мы не вводили числа программа должна правильно выводить интервал; 3) если при выполнении программы интервал, например [10,45] и ввели число 5, то интервал был [10,45] и, если ввели 60, то интервал, так же не менялся; 4) определяла длительность выполнения программы

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

Void main()

{

time_t t0,t1;

t0=time(NULL);

int n,x,a,b,k=1,min,max;

printf(“a=”);

scanf(“%d”,&min);

while(min<0 || min>32767)

{

printf(“a=”);

scanf(“%d”,&min);

}

printf(“b=”);

scanf(“%d”,&max);

while(max<0 || max>32767)

{

printf(“b=”);

scanf(“%d”,&max);

}

a=b=min;

if(a>max)

a=max;

else

b=max;

srand(time(NULL));

n=a+rand()%(b-a+1);

printf(“Vvedite chislo [%d,%d] “,a,b);

scanf(“%d”,&x);

while(x!=n)

{

k++;

if(x<n && x>a)

a=x;

if(x>n && x<b)

b=x;

printf(“Vvedite chislo [%d,%d] “,a,b);

scanf(“%d”,&x);

}

t1=time(NULL);

printf(“Vi ugadali s %d popitki!!!\n%lf”,k,difftime(t1,t0));

}

3.7 Некоторые функции библиотеки <math.h>

Функция

Описание

Примеры

sqrt(x)

корень квадратный из х

sqrt(900)=30

sqrt(9)=3

exp(x)

экспоненциальная функция ex

exp(1)=2.718282

exp(2)=7.389056

log(x)

логарифм натуральный x (по основанию e)

log(2.718282)=1

log(7.389056)=2

log10(x)

логарифм десятичный x (по основанию 10)

log10(1)=0

log10(10)=1

fabs(x)

абсолютное значение x

если x>0, то fabs(x)=x

если x=0, то fabs(x)=0

если x<0, то fabs(x)=-x

ceil(x)

округление x до наименьшего целого не меньше х

ceil(9.2)=10

ceil(-9.8)=-9

floor(x)

округление x до наибольшего целого не больше х

floor(9.2)=9

floor(-9.8)=-10

pow(x,y)

x в степени y

pow(2,7)=128

pow(9, 0.5)=3

fmod(x,y)

остаток от деления x/y, как число с плавающей точкой

fmod(13.657,2.333)=1.992

sin(x)

синус х (х в радианах)

sin(0)=0

cos(x)

косинус х (х в радианах)

cos(0)=1

tan(x)

тангенс х (х в радианах)

tan(0)=0