题目:
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
//这里面有如何将内容写入txt文件的StreamWriter
//还有$是什么含义
//说了斐波那契函数是怎么算的
//在写入txt文件的时候,不需要提前弄好一个文件,会自动生成
namespace _22
{
internal class Program
{
static void Main(string[] args)
{
Console.Write("请输入一个整数 m: ");
if (!int.TryParse(Console.ReadLine(), out int m) || m <= 0)
{
Console.WriteLine("输入无效,请输入一个正整数:");
return;
}
// 从控制台读取文件名
Console.Write("请输入要保存结果的文件名(包括路径):");
string fileName = Console.ReadLine();
//string fileName = @"C:\software\vs 2022\作业\22_\22.txt";
//定义长度为m的交错数组
int[][] jaggedArray = new int[m][];
// 填充交错数组
for (int i = 0; i < m; i++)
{
// 计算每个子数组的长度 (i + 1)
int length = i + 1;
jaggedArray[i] = new int[length];
// 生成斐波那契数列的前 (i + 1) 项
for (int j = 0; j < length; j++)
{
jaggedArray[i][j] = Fibonacci(j + 1);
}
}
using (StreamWriter writer = new StreamWriter(fileName))
{
for (int i = 0; i < jaggedArray.Length; i++)
{
// 打印到控制台
Console.Write($"交错数组第 {i + 1} 个元素对应的一维数组: ");
// 写入文件
writer.Write($"交错数组第 {i + 1} 个元素对应的一维数组: ");
for (int j = 0; j < jaggedArray[i].Length; j++)
{
Console.Write(jaggedArray[i][j] + " ");
writer.Write(jaggedArray[i][j] + " ");
}
Console.WriteLine();
writer.WriteLine();
}
}
Console.WriteLine($"结果已保存到文件:{fileName}");
Console.ReadLine();
// 计算斐波那契数列的第 n 项
int Fibonacci(int n)
{
if (n <= 0) return 0;
if (n == 1) return 1;
int a = 0, b = 1, c;
for (int i = 2; i <= n; i++)
{
c = a + b;
a = b;
b = c;
}
return b;
}
}
}
}
运行结果:
日常作业题,可直接使用运行,持续更新,欢迎关注!