多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

C#--实验2

C#--实验2 //1利用级数求PI使用格利高利公式求PI的近似值直到最后一项的绝对值小于10-6为止。 //PI/41 - 1/3 1/5 - 1/7 1/9 …… float sum 0; int sign 1; float fenmu 1; float term; do { term sign / fenmu; sum term; sign -sign; fenmu 2; } while (Math.Abs(term) 1e-6); float PI sum * 4; Console.WriteLine($PI {PI:F6});//2定义一个3×3矩阵赋100以内的随机值后分别求两条对角线之和。 //要求显示随机生成的矩阵显示两条对角线之和。 int[,] jz new int[3, 3]; Random r new Random(); int sum; for(int i 0; i 3; i) { for(int j 0; j 3; j) { jz[i, j] r.Next(0, 100); } } for (int i 0; i 3; i) { for (int j 0; j 3; j) { Console.Write(${jz[i, j],3}); // 固定每个数字占 3 个字符宽度 } Console.WriteLine(); } int left0; int right0; //left [0,0] [1,1] [2,2] right [0,2] [1,1] [2,0] for (int i 0; i 2; i) { left left jz[i, i]; } for (int i 0; i 2; i) { right right jz[i,2-i]; } sum left right; Console.WriteLine($俩条对角线之和为{sum});//3使用选择排序法实现一维数组元素排序 //被排序前数组21 25 49 37 16 8 //要求输出每轮排序后的数组 //排序前21 25 49 37 16 8 //第1次排序后8 25 49 37 16 21 //…… //每一轮在待排序区间里找到最小的那个数放到当前最前面的位置。一轮最多只交换 1 次。 //选择排序正确做法只记下标遍历全程**不交换**int[] liebiao { 21, 25, 49, 37, 16, 8 }; Console.Write(排序前); for (int k 0; k liebiao.Length; k) { Console.Write(liebiao[k] ); } Console.WriteLine(); for (int i 0; i liebiao.Length - 1; i) { int min liebiao[i]; //本轮起点假设当前i位置的值最小 int minIndex i; //同时记下它的下标 for (int j i 1; j liebiao.Length; j) { if (liebiao[j] min) { min liebiao[j]; minIndex j; } } int temp liebiao[i]; liebiao[i] liebiao[minIndex]; liebiao[minIndex] temp; Console.Write($第{i 1}次排序后); for (int k 0; k liebiao.Length; k) { Console.Write(liebiao[k] ); } Console.WriteLine(); }
返回列表