Вывести значения числа a в степенях от 1 до b - C#

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

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

Вывести значения числа a в степенях от 1 до b, а также их сумму; Примечания: Ввод/вывод данных реализуется через файлы; Каждый входной параметр находится в отдельной строке; Каждый выходной параметр должен находиться в отдельной строке; Гарантируется, что все входные параметры неотрицательны. Программа выводит значения числа a в степенях от 1 до b, а также их сумму, помогите добавить примечания в код.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
class Program
{
    
    static void Main(string[] args)
    {
        Console.Write("A= "); // Введите число А
        var a = double.Parse(Console.ReadLine());
        Console.Write("B= "); // Введите степень числа А
        var b = int.Parse(Console.ReadLine());
        var p = 1.0; // Переменная которой присваиватся число возведенное в степень
        var s = 0.0; // Переменная которой присваивается сумма чисел возведенных в степень
        for (var c = 1; c <= b; ++c) 
        {
            Console.WriteLine(p = p * a); // Возведение числа в степень
            s = s + p;
        }
        Console.WriteLine(s);
        Console.ReadKey();
    }
}
Если коротко, то программа должна считывать данные из одного файла(число и степень) и выводить в другой файл результат (числа возведенные в степень и сумму чисел возведенных в степень). Например: входные данные: 2 3 выходные данные: 2 4 8 14 P.S. числа должны быть введены/выведены столбиком как примере
Вот код, если кому пригодится
using System;
using System.IO;
class Program
{
    static void Main(string[] args)
    {
        string[] str = System.IO.File.ReadAllLines("E:\\test.txt"); // Считывание данных из файла в строку
        double a = Convert.ToDouble(str[0]); // Конвертирование 1-го элемента строки в тип double
        Console.Write("A= "); 
        Console.WriteLine(str[0]); // Вывод 1-го элемента строки - число возводимое в степень  
        int b = Convert.ToInt32(str[1]); // Конвертирование 2-го элемента строки в тип int
        Console.Write("B= "); 
        Console.WriteLine(str[1]); // Вывод 2-го элемента строки - степень в которую надо возвести число
        var p = 1.0; // Переменная которой присваиватся число возведенное в степень
        var s = 0.0; // Переменная которой присваивается сумма чисел возведенных в степень
        for (var c = 1; c <= b; ++c)
        {
            Console.WriteLine(p = p * a); // Возведение числа в степень и вывод на экран
            s = s + p; // Суммирование чисел возведенных в степень
        }
        using (StreamWriter writer = new StreamWriter(File.OpenWrite("E:\\test1.txt"))) // Открытие файла для записи результата
        {
            writer.WriteLine(s); //запись в файл суммы чисел возведенных в степень
        }
        Console.WriteLine(s); // Вывод суммы чисел возведенных в степень на экран 
        Console.ReadKey();
    }
}

Решение задачи: «Вывести значения числа a в степенях от 1 до b»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
 
 
namespace ConsoleApplication20
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] str = File.ReadAllLines("file1.txt"); // считывание текста из файла, в файле должны быть записаны числа по одному в строку, как в твоем примере, название файла должно быть file.txt
 
            // тут переводим массив строк в массив чисел, ожидается что массив этот состоит из 2-х чисел, отсюда и название переменной.
            double [] dvaChisla=new double[str.Length];
            for (int i=0;i<str.Length;i++)
            {
                dvaChisla[i] = double.Parse(str[i]);
            }
            
            Console.WriteLine("число для возведения в степень {0}. возводить в степень {1} раз",dvaChisla[0],dvaChisla[1]);
            double stepen = 1;// инициализация переменной степень.
 
            //проверка есть ли фаил для вывода и стирание его если он есть
            if(File.Exists("file2.txt")) File.Delete("file2.txt");
 
            //заполнение в цикле файла строками с указанным форматом. 
            for (int i=0;i<dvaChisla[1];i++)
            {
                File.AppendAllText("file2.txt",string.Format("{0}-я степень числа {1} равна {2}\n",i,dvaChisla[0],stepen*=dvaChisla[0]));
            }
                Console.WriteLine("фаил заполнен");
        }
    }
}

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


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

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

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