Ввод строки с клавиатуры и запись в файл - C (СИ)
Формулировка задачи:
Давно не практиковалась в написании программ на Си, поэтому прошу помочь с заданием.
Необходимо ввести с клавиатуры набор положительных целых чисел по возрастанию (пользователь сам вводит числа по возрастанию) через пробел и записать в файл. Признак конца ввода данных в файл - набор нуля.
Вот что пока имею:
Оно не работает. Помогите, пожалуйста.
#include <stdio.h> #include <stdlib.h> #include <dir.h> #include <ctype.h> void main() { int i,n; int a[20]; printf ("VVedite stroky chisel v poryadke vozrastaniya: \n"); while (a[i]!='\0') gets(a); printf("%s\n",a); scanf("%d",&a[i]); chdir("c:"); FILE *f=fopen("file1.txt", "w"); fprintf(f, a); fclose(f); }
Решение задачи: «Ввод строки с клавиатуры и запись в файл»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> const int N = 10; int main() { int i = 0, a[N]; char str[80]; FILE *f1, *f2, *f3; f1 = fopen("file1.txt", "w"); f2 = fopen("file2.txt", "w"); f3 = fopen("file3.txt", "w"); printf ("Dlya massiva 1 vvedite stroky chisel v poryadke vozrastaniya: \n"); while (i < N){ scanf("%d", &a[i]); ++i; } for(i = 0; i < N; ++i) fprintf(f1, "%d ", a[i]); printf ("\nDlya massiva 2 vvedite stroky chisel v poryadke vozrastaniya: \n"); i = 0; while (i < N){ scanf("%d", &a[i]); ++i; } for(i = 0; i < N; ++i) fprintf(f2, "%d ", a[i]); fclose(f1); fclose(f2); f1 = fopen("file1.txt", "r"); f2 = fopen("file2.txt", "r"); while(NULL != fgets(str, 80, f1)){ fprintf(f3, "%s", str); } while(NULL != fgets(str, 80, f2)){ fprintf(f3, "%s", str); } fclose(f1); fclose(f2); fclose(f3); return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д