Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Строки
- //57. Дана последовательность символов, имеющая следующий вид: d1± d2±…± dn (di - цифры, n>1), за которой следует точка. Вычислить значение этого алгебраического выражения.
- #include <stdio.h>
- #include <stdlib.h>
- #define N 80
- int sum(char *s)
- {
- int num,
- i = 1,
- sum = 0,
- sign = 1;
- if (s[0] == '-') {
- sign = -1;
- num = sign * (s[1] - '0');
- i++;
- }
- else
- num = s[0] - '0';
- for (; s[i]; i++)
- {
- if (s[i] - '+')
- {
- if (s[i] - '-')
- {
- num = (num * 10) + sign * (s[i] - '0');
- }
- else
- {
- sum += num;
- sign = -1;
- num = sign * (s[++i] - '0');
- }
- }
- else
- {
- sum += num;
- sign = 1;
- num = s[++i] - '0';
- }
- }
- sum += num;
- return sum;
- }
- int main()
- {
- char str[N] = "251-51+125-20-50-12-8+20";
- printf("sum = %d\n",sum(str));
- system("pause");
- return 0;
- }
- //40. Дан текст, состоящий из цифр, букв латинского и русского алфавита (заглавных и строчных). Напечатать только строчные русские буквы, входящие в этот текст.
- //Подключить UTF-8
- #include <stdio.h>
- #include <stdlib.h>
- #include <clocale>
- #define N 80
- #define UnSh unsigned short
- char *find_ru_letter(char *s)
- {
- int counter = 0;
- char *a = new char[N];
- for (UnSh int i = 0; s[i]; i++)
- if ((s[i] - 'а' >= 0) && (s[i] - 'я' <= 33) && s[i] != ' ')
- {
- a[counter++] = s[i];
- }
- a[counter] = '\0';
- return a;
- }
- int main()
- {
- setlocale(LC_CTYPE, "rus");
- char str[N] = "DsДа ВыvFъью";
- char *ru_letter = find_ru_letter(str);
- puts(str);
- puts(ru_letter);
- system("pause");
- return 0;
- }
- //Вложенные циклы
- //40. Дан текст, состоящий из цифр, букв латинского и русского алфавита (заглавных и строчных). Напечатать только строчные русские буквы, входящие в этот текст.
- //Подключить UTF-8
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <stdlib.h>
- #define N 80
- #define UnSh unsigned short
- double number(int count, int x)
- {
- double sum = 0,
- n = 1,
- x_in_pow = 1,
- k_fac = 1,
- s;
- for (UnSh int k = 1; k < count; k++)
- {
- n *= k;
- x_in_pow *= x;
- k_fac *= k;
- k_fac *= (k_fac + 1);
- s = -1 * x_in_pow / k_fac;
- sum += s;
- }
- return sum/n;
- }
- int main()
- {
- int n;
- double count;
- printf("input number and count:\n");
- scanf("%d",&n);
- scanf("%lf", &count);
- printf("%lf", number(count, n));
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement