Строка: поменять местами заданные имя и фамилию - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Сегодня столкнулся с проблемой,что я совершенно не знаю как юзать строки,их расположение памяти в т.д Есть идеи,как написать программу,которая принимает строку(Bill,Gates) и на выводе должно вывести (Gates,Bill).
#define N 20
#define stop "end"

int main(){
    char mass[N],mass1[N];
    int i=0;
 
for(i=0;;i++){
    gets_s(mass);
    if(strcmp(mass,stop)==0){
        break;}
    if(mass[i]!=','){
        mass1[i]=mass[i];}
    else{break;}}
printf("%s",mass1);

Решение задачи: «Строка: поменять местами заданные имя и фамилию»

textual
Листинг программы
#include <stdio.h.>
 
int main() {
    char str[128];// = "(Bill,Gates)";
    char Name[64], LastName[64];
 
    fgets(str, sizeof(str), stdin);
    sscanf(str, "(%[^,],%[^)]", Name, LastName);
    printf("(%s,%s)", LastName, Name);
    return 0;
}

Объяснение кода листинга программы

  1. Подключение стандартной библиотеки ввода-вывода
  2. Объявление массива строки для ввода с клавиатуры
  3. Объявление двух массивов строк для хранения имени и фамилии
  4. Считывание строки с клавиатуры в массив str
  5. Использование функции sscanf для разбиения строки на имя и фамилию и сохранение их в массивы Name и LastName соответственно
  6. Вывод результата на экран с помощью функции printf
  7. Возврат значения 0, что означает успешный конец работы программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5
Похожие ответы