Ввод строки с клавиатуры и запись в файл - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д