Вычислить число Y, полученное из целого числа x приписыванием к нему слева цифры С - C (СИ)

  1. Написать функцию f(x,С), вычисляющую число Y, получен-ное из целого числа x приписыванием к нему слева цифры С.


textual

Код к задаче: «Вычислить число Y, полученное из целого числа x приписыванием к нему слева цифры С - C (СИ)»

#include <stdio.h>
#include <stdlib.h>
 
long y(long x, long c) {
    char buf[32], * tmp;
    int sign = ( ( x < 0 ) || ( c < 0 ) );
    
    sprintf(buf, "%s%ld%ld", ( sign ) ? "-" : "", labs(c), labs(x));
    
    return strtol(buf, &tmp, 10);
}
 
int main(void) {
    long x, c;
    
    while ( printf("X = ") && scanf("%ld", &x) == 1 && printf("C = ") && scanf("%ld", &c) == 1 )
        printf("Y = %ld\n", y(x, c));
    
    return 0;
}

СДЕЛАЙТЕ РЕПОСТ

5   голосов, оценка 3.800 из 5



Похожие ответы
  1. Дано некоторое натуральное число. Найти в нем цифру, что стоит на к-й позиции.

  1. Точная степень двойки Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае. Операцией возведения в степень пользоваться нельзя! РешениеJava1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 public class Solution {     public static int recursion(double n) {         // Базовый случай         if (n == 1) {             return 1;         } // Базовый случай         else if (n > 1 && n < 2) {             return 0;         } // Шаг рекурсии / рекурсивное условие         else {             return recursion(n / 2);         }     }     public static void main(String[] args) {         double n = 64;         // вызов рекурсивной функции         if (recursion(n) == 1) {             System.out.println("Yes");         } else {             System.out.println("No");         }

  1. Всем привет, помогите пожалуйста решить задачу Задание: Написать программу для расчета по двум формулам. Результат вычисления по первой формуле должен совпадать со второй. Использовать операции потокового ввода-вывода.

  1. Помогите пожалуйста. Использовать стандартные функции и арифметические операторы; изучить операторы отношения и присваивания, логические операции, условный оператор и оператор-переключатель; научиться использовать в программах операторы цикла. Написать программы на изученные темы. Определить, сколько цифр содержит заданное целое число и имеются ли в нем повторяющиеся цифры.

  1. Заполнить одномерный массив вводом с клавиатуры. Выяснить верно ли что сумма элементов массива есть чётное число.

  1. Здравствуйте, Пытаюсь сделать программу которая принимает аргумент строки, но затем эту строку (массив символов) нужно перебрать посимвольно и каждый символ char преобразовать в int и вывести на печать в новой строке (или произвести с ним арифмет. действия).C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 #include #include           int main (int argc, char* argv[])     {   if (argc!=2 && argc!=3)         {    printf("Wrong\n");               return 1;       }        char* str=argv[1];              for(int i=0;; i=i+1)       {     if(str[i]=='\0')             {               break;                          }      int x= (int)atoi(str[i]);         printf("%i\n",x) ;           }           return 0;   }Но данный код не работает, при компиляции жалуется, что в строке int x= (int)atoi(str[i]); не хватает символа & перед str[i]. Если вставить этот символ - программа компилируется, но результат выдает не тот который требуется. С этим символом результат таков: вводим 123; вывод 123 23 3 А необходимо вывод: 1 2 3 Подскажите, пожалуйста в чем ошибка и как грамотно написать алгоритм?

  1. Необходимо ввести число в диапазоне от 1 до 8. Правильность ввода числа типа int уже проверена, но как проверить, входит ли введенное число в диапазон? C1 2 3 4 5 6 7 8     printf ("\nВведи положение  -> ");         do         {         res_x=scanf ("%d", &x);             fflush(stdin);             if (res_x!=1) printf("Неправильный ввод, вводи цифры! -> ");                                                }         while (res_x!=1);

  1. Назначение: вычисляет десятичное значение целого числа по заданной строке символов s, который является записью этого числа в двоичной системе счисления. Постановка задачи В соответствии с вариантом задания составить функцию для обработки символьных строк и программу для проверки работоспособности функции. За образец можно брать библиотечные функции обработки строк языка С, но не использовать их в своей функции. При выполнении 1-го задания необходимо: 1. Строки для тестирования функции вводить в главной программе с клавиатуры. 2. Предусмотреть обработку ошибок в задании параметров и особые случаи. 3. Разработать два варианта заданной функции с использованием: а) индексированных массивов; б) указателей.

  1. Помогите пожалуйста. Использовать стандартные функции и арифметические операторы; изучить операторы отношения и присваивания, логические операции, условный оператор и оператор-переключатель; научиться использовать в программах операторы цикла. Написать программы на изученные темы. Для заданного x вычислить значение функции y=ctg x , где x (0, 2 )

  1. Все Работает если вводить без пробелов, но с пробелом выводится только первое число, (если можно с кратким объяснением пожалуйста)C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include #include     int main(){       char str[100];     int x = 0;     scanf("%s", str);     for(int i = 0;i < strlen(str);i++)     {         if((str[i] >= '1') && (str[i] <= '9'))         {             x += ((int)str[i] - 48);                     }     }     printf("%d", x);       return 0; }