Строка: поменять местами заданные имя и фамилию - 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;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки ввода-вывода
- Объявление массива строки для ввода с клавиатуры
- Объявление двух массивов строк для хранения имени и фамилии
- Считывание строки с клавиатуры в массив str
- Использование функции sscanf для разбиения строки на имя и фамилию и сохранение их в массивы Name и LastName соответственно
- Вывод результата на экран с помощью функции printf
- Возврат значения 0, что означает успешный конец работы программы