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