Решение на зад. 1 от контролно 2 есп 11 януари 2006 г. #include double step (double X, int n); int main { double x1; double sum=0



Дата03.01.2017
Размер20.67 Kb.
#11594
ТипРешение

Решение на зад. 1 от контролно 2 – ЕСП - 11 януари 2006 г.




#include

double step (double x, int n);


int main() {

double x1;

double sum=0;

int n1, i, a[20];

//въвежда се x

scanf("%lf", &x1);

//въвежда се степента на полинома

scanf("%d", &n1); // n1<20

//въвеждат се коефициентите на полинома a i

for (i=0; i<=n1; i++)

scanf("%d", &a[i]);
//пресмята се стойността на полинома a0.x^n+a1.x^(n-1) //.... +an

for (i=n1; i>=0; i--)

sum+=a[i]*step(x1,n1-i);
printf("%lf", sum);

return 0;

}
//описание на функцията за степен

double step (double x, int n) {

double res=1;

//ако степента е 0, функцията трябва да върне стойност 1

if (!n) return 1;
//степенуване, по описаното в условието правило

while (n>=1)

{

if (!(n%2))



{ //при n четно x^n=(x^(n/2))^2

x = x*x;


n /= 2;

}

else



{ //при n нечетно x^n = x^(n-1).x

res *= x;

n--;

}

}



return res;

}

Решение на зад. 2 от контролно 2 – ЕСП - 11 януари 2006 г.


#include

#include

#include
char firstlet (char text[20]);
int main() {

char st[20];

gets(st);

// можете да си допишете да се изведе буквата, само ако има // намерена такава

printf("%c", firstlet(st));
return 0;

}
// в задачата се искаше да се опише само функцията

char firstlet (char text[20]) {

int i;


char ch;
for (i=0; text[i]!='\0'; i++)

if (islower(text[i]))

text[i]=toupper(text[i]);
for (ch='A'; ch<='Z'; ch++)

for (i=0; text[i]!='\0'; i++)

if (text[i]==ch)

return ch;


return '0';

}
забел: Оцветените с червено фрагменти стилово могат да се подобрят, как ли?



Създайте си вариант, в който не се използва ctype.h


Решение на зад. 3 от контролно 2 – ЕСП - 11 януари 2006 г.




#include

#include


int main() {
struct empl {

char fn[8];

char name[40];

float sal;

} E;
FILE *fp;

int br=0, i;

float sum=0;

char str[40];


// създаване на файла

/* fp = fopen("month.dat", "wb");

for (i=0; i<=5; i++)

{ gets(E.fn);

gets(E.name);

gets(str); E.sal=atof(str);

fwrite(&E, sizeof(E), 1, fp);

}

fclose(fp);



*/
fp = fopen("month.dat", "rb");

fread(&E, sizeof(E), 1, fp);


while (!feof(fp))

{

sum += E.sal;



br++;

fread(&E, sizeof(E), 1, fp);

}
printf("%d %f", br, sum/br);

fclose(fp);


return 0;

}



Сподели с приятели:




©obuch.info 2024
отнасят до администрацията

    Начална страница