第一次_C语言开篇语
- 格式:ppt
- 大小:171.50 KB
- 文档页数:30
C语言递归实现1到n的和简介递归是一种常用的编程技巧,它通过函数自身的调用来解决问题。
在C语言中,递归可以用于实现各种算法和数据结构。
本文将介绍如何使用递归来计算1到n的和,通过详细的代码解释和示例演示,帮助读者理解递归的原理和使用方法。
递归的基本原理递归是一种通过函数自身的调用来解决问题的方法。
在递归中,函数会不断地调用自身,直到满足某个终止条件才停止调用。
递归可以分为两个阶段:递归调用和递归返回。
递归调用是指函数在执行过程中,自己调用自己。
在每次递归调用时,函数会使用不同的参数值,以便在每次调用中解决不同的子问题。
递归调用将问题分解为更小的子问题,直到达到终止条件。
递归返回是指函数在满足终止条件后,通过返回值将结果传递给上一层调用。
通过不断返回结果,最终得到整个问题的解。
递归实现1到n的和下面是使用递归实现1到n的和的C语言代码:#include <stdio.h>int sum(int n) {if (n == 1) {return 1;} else {return n + sum(n - 1);}}int main() {int n;printf("请输入一个正整数n:");scanf("%d", &n);printf("1到%d的和为:%d\n", n, sum(n));return 0;}在上面的代码中,我们定义了一个名为sum的递归函数,它接受一个整数参数n,并返回1到n的和。
在函数内部,我们使用了一个if-else语句来判断是否满足终止条件。
当n等于1时,递归终止,直接返回1。
否则,递归调用sum函数,并将n减1作为参数传入,然后将递归调用的结果与n相加返回。
在main函数中,我们首先从用户输入获取一个正整数n,然后调用sum函数计算1到n的和,并将结果打印出来。
递归的执行过程为了更好地理解递归的执行过程,我们以计算1到5的和为例,来逐步分析递归的调用和返回过程。
高级语言程序设计自考题-15(总分:100.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.二进制语言属于( )A.面向过程语言 B.面向机器语言C.面向问题语言 D.面向汇编语言(分数:2.00)A.B. √C.D.解析:[解析] 本题主要考查的知识点为二进制语言。
[要点透析] 二进制语言是计算机语言中最原始的语言,是由0和1组成的数字串,这种语言能被计算机直接执行,属于面向机器的语言。
2.下列属于C语言保留字的是( )A.Int B.typedefC.ENUM D.Union(分数:2.00)A.B. √C.D.解析:[解析] 本题主要考查的知识点为C语言的保留字。
[要点透析] C语言的保留字都是以小写字母组成的。
3.sizeof(double)是( )A.函数调用 B.int型表达式C.double型表达式 D.非法表达式(分数:2.00)A.B. √C.D.解析:[解析] 本题主要考查的知识点为sizeof的用法。
[要点透析] sizeof()的运算结果是整数,所以可以认为其构成的表达式是一个int型表达式。
4.设a=1,b=2,c=8,d=7,x=10,y=10,执行(x=a>b)&&(y=c>d)后y的值是( )A.1 B.2C.10 D.4(分数:2.00)A.C. √D.解析:[解析] 本题主要考查的知识点为逻辑运算符&&的用法。
[要点透析] 由于a>b的值为0,所以x的值为0,又因为&&运算符为“与”运算,所以“y=c>1)”没有执行,y的值没有变。
5.设i为整型变量,i=0;while(i=1)i++;则以上循环( )A.执行10次 B.执行1次C.一次也不执行 D.无限循环(分数:2.00)A.B.C.D. √解析:[解析] 本题主要考查的知识点为while语句的使用。
[要点透析] 由于i=1永远为真,所以while循环将无限执行下去。
C语言课堂任务标准1(第一周第1次课)上机操作部分:一、熟悉机房环境★★★★★1.能够开机进入到软件频道。
2.能够打开学生端,与教师机进行连接。
(标准即为能够看到教师进行教学演示)3.能够接收老师下发的文件。
4.能够上传作业。
二、基础计算机操作★★★1.能够在E盘根目录下建立以自己姓名命名的文件夹。
2.能够把一个文件夹及文件夹内的文件进行压缩处理。
3.能够把一个压缩文件夹进行解压处理。
4.能够进行文件(或文件夹)复制、粘贴、删除操作。
5.会输入小写字母,大写字母、#、/、\、*、<、> 、; ,能够输入中文,会中英文互相切换,在Word文档中会选择一行或多行,会画删除线。
6.能够显示(或隐藏)一个已知文件的扩展名。
(打开任意一个文件夹,点击工具/文件夹选项,选择查看标签页,在高级设置中找到隐藏已知文件的扩展名,在前面的方框内打√表示隐藏文件扩展名,没有√表示显示文件扩展名)三、C语言上机操作★★★★★1.在E盘根目录下新建一个文件夹,文件夹的名字为自己的姓名+学号后两位(如12号张三同学的文件夹名为“张三12”)。
2.打开C语言运行环境。
3.新建一个C空白文档,并将此文档保存在自己的路径下(即自己的文件夹中),并命名为HelloWorld然后打开文件夹,查看一下文件夹下新保存的文件,看一看文件的扩展名是什么。
4.关闭文件(关闭你的C语言运行环境)。
5.打开C语言运行环境,通过文件/打开,打开你刚刚新建的HelloWorld.c文件6.在HelloWorld.c中,输入代码,并每隔5分钟保存一次,代码输入完成之后再保存一次。
(代码参照教材P11—P12页中的6行代码)7.编译程序。
注意看一下程序运行正确,提示什么,如果运行错误,如何提示的。
8.如果编译无错误,则生成可执行文件后,执行该文件,看一下运行结果如何。
9.在原来6行代码基础上进行如下修改(1)在原来的第4行代码后,加入一个单行注释语句,注释内容用汉语写这是输出语句,编译并查看运行结果(2)在原代码最开始部分,加入一个多行注释语句,第一行用写出程序名,第二行用汉语写自己的姓名,第三行写出今日时间。
第一次上机练习(首次)1.阅读以下程序,说出其功能和运算结果(输入5↙)。
#include <stdio.h>int main( ){int n ;int factorial(int n) ;scanf("%d",&n) ;printf("%d\n", factorial(n)) ;return 0 ;}int factorial(int n){int i, fact=1 ;for(i=1;i<=n;i++)fact=fact*i ;return fact ;}答案:120 求n的阶乘。
2.改正下列程序中的错误,在屏幕上显示“Welcome to You!”。
#include <stdio.h>int mian( ){printf("Welcome to You!\n")return 0 ;}答案:2行main4行末尾少分号3.编写程序在屏幕上显示以下内容:Programming is fun.And Programming in C is even more fun!答案:#include <stdio.h>int main( ){printf("Programming is fun.\nAnd Programming in C is even more fun!\n") ;return 0 ;}4.编写程序输出以下图案:* * * ** * ** **答案:#include <stdio.h>void main( ){printf("* * * *\n");printf(" * * *\n");printf(" * *\n");printf(" *\n");}5.编写程序,计算并在屏幕上显示10~20的平方值。
c语言中的符号常量哎呀,说到C语言中的符号常量,我这脑子里就蹦出一大堆东西。
你知道吗,我第一次接触C语言的时候,那叫一个头大啊!什么变量、常量、指针,简直把我绕晕了。
不过,后来慢慢琢磨,发现这符号常量还挺有意思的。
首先啊,这符号常量,顾名思义,就是用一个符号来代表一个常量。
比如说,我们定义一个常量PI,用来表示圆周率。
在C语言里,你可以这么写:```c#define PI 3.14159```看到了吧,就这么简单。
以后你在程序里要用到圆周率的时候,直接写PI就行了,不用每次都敲那一大串数字。
这不仅省事儿,还让代码看起来更整洁,对吧?有一次,我和同事小李讨论这个事儿。
小李是个急性子,他说:“哎呀,这玩意儿有啥用啊?直接写数字不就完了?”我笑着跟他说:“你想想,要是哪天老板说,咱们这圆周率得精确到小数点后十位,你咋办?一个个改?”小李一听,愣了一下,然后哈哈大笑:“对对对,还是你这招高明!”不过啊,这符号常量也有讲究。
你得给它起个好名字,不能随便乱起。
比如,你不能把PI写成P,或者写成PIE,那就不太合适了。
还有啊,这符号常量一般都用大写字母,这样一眼就能看出来这是个常量,不是变量。
说到这儿,我又想起一件事儿。
有一次,我写了个程序,里面用了一大堆常量。
结果,调试的时候发现有个地方出错了。
我仔细一看,原来是把一个常量的名字写错了,少了个字母。
当时那个郁闷啊,恨不得把键盘砸了!后来,我学乖了,每次定义常量的时候,都仔细检查一遍,确保没问题。
哎,编程这事儿啊,真是细节决定成败。
别看这符号常量不起眼,用好了,能省不少事儿;用不好,那可就麻烦大了。
所以啊,咱们写代码的时候,得细心点儿,别马虎大意。
对了,还有一点得提醒你。
这符号常量虽然好用,但也不能滥用。
你要是啥都定义成常量,那代码看起来就乱套了。
所以啊,得有个度,该用的时候用,不该用的时候别瞎用。
哎呀,不知不觉说了这么多。
你看,这符号常量虽然简单,但里面学问可不少。
学习c语言程序设计心得〔通用13篇〕学习c语言程序设计心得〔通用13篇〕学习c语言程序设计心得篇1在这为期半个月的时间内,通过我们小组各成员之间的互相讨论和合作,我们完成了学生信息管理系统的程序设计,更值得快乐的是我们的程序得到了大家的喜欢,在每次的简报中都得到了较好的成绩。
虽然在上个学期中,我们已经学习了《C 语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的时机,这次的课程设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。
这次设计,不仅稳固了我以前所学的知识,还让我对c语言有了更深一步的理解,掌握了更多的技巧和技能。
C语言是计算机程序设计的重要理论根底,在我们以后的学习和工作中都有着非常重要的地位。
要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的理论才能。
只有多动手,经常编写程序,才能发现我们学习上的破绽和自己的缺乏,并在理论中解决这些问题,不断进步自己转化知识的才能。
在我们小组有解决不了的问题时,我们会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我们同学之间的友谊。
为了增大信息的平安性,需要用文件来存储信息,由于我们在上课时不注重对文件的运用,所以在这方面有较大的困难。
我先将书本认认真真地看了一遍,又做了一下课后习题来验证和增进自己的理解,终于,经过我们的不懈努力,我们小组的程序有了打破,成功地实现了用文件来保存并查看学生的信息。
这次设计中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。
开场的时候,我画流程图很是困难,需要一个多小时才能清楚的根据自己的想法画出图来,后来画多了,就更加理解它的功能,非常得心应手,可以比拟快而准确的画出来。
在这次课程设计中,我们首先对系统的整体功能进展了构思,然后用构造化分析^p 方法进展分析^p ,将整个系统清楚的划分为几个模块,再根据每个模块的功能编写代码。
c语⾔第⼀次作业⼀、PTA实验作业题⽬1.温度转换本题要求编写程序,计算华⽒温度150°F对应的摄⽒温度。
计算公式:C=5×(F−32)/9,式中:C表⽰摄⽒温度,F表⽰华⽒温度,输出数据要求为整型。
1.实验代码int fahr,celsius;fahr = 150;celsius = 5*(fahr-32)/9;printf("fahr = 150, celsius = %d\n",celsius);2 设计思路主要描述题⽬算法。
第⼀步:定义华⽒温度fahr和摄⽒温度celsius第⼆步:输⼊题⽬中给定的华⽒温度150第三步:写出计算公式celsius = 5*(fahr-32)/9第四步:输出fahr和celsius的值3.本题调试过程碰到问题及解决办法错误:单词stdio拼写错误,写成studio。
解决⽅法:从头看了⼀下程序,发现错误之后改掉,继续看⼀下有没有其他错误,提交后答案正确。
4.本题PTA实验结果题⽬2.将x的平⽅赋值给y假设x的值为3,计算x的平⽅并赋值给y,分别以“y = x ∗ x”和“x ∗ x = y”的形式输出x和y的值。
1.实验代码int x,y;x=3;y=x*x;printf("%d = %d * %d\n",y,x,x);printf("%d * %d = %d",x,x,y);2. 设计思路主要描述题⽬算法。
第⼀步:定义整数x,y第⼆步:给出x的值x=3第三步:给出公式y=x*x第四步:输出9=3*3和3*3=93.本题调试过程碰到问题及解决办法(1)误解题⽬,认为是输出y=3*3和3*3=y解决⽅法:重新阅读了⼏遍题⽬,改了多次并与同学交流讨论理解题⽬意思(2)错误:没有⽤公式y=x*x,直接在输出语句中计算y解决⽅法:多次修改,试了⼏遍,根据提交后给出的错误的提⽰⼀直调试,最后终于答案正确。
C语言循环结构三种形式C语言是一种通用的高级编程语言,广泛应用于系统软件和应用软件的开发中。
在C语言中,循环结构是一种重要的控制结构,它允许程序重复执行一段代码块,直到满足特定条件为止。
C语言中有三种主要形式的循环结构:for循环、while循环和do-while循环。
本文将详细介绍这三种形式,并提供一些实例来帮助读者更好地理解它们。
1. for循环for循环是C语言中最常用的循环结构之一,它适用于已知循环次数的情况。
for循环由三个部分组成:初始化表达式、条件表达式和更新表达式。
其基本语法如下:for (初始化表达式; 条件表达式; 更新表达式) {// 循环体代码}for循环的执行过程如下:1.初始化表达式只在第一次执行前被执行一次。
2.条件表达式在每次迭代开始前被计算,如果为真,则执行循环体;如果为假,则退出循环。
3.更新表达式在每次迭代结束后被执行。
以下是一个使用for循环打印1到10的示例代码:#include <stdio.h>int main() {int i;for (i = 1; i <= 10; i++) {printf("%d ", i);}return 0;}输出结果为:1 2 3 4 5 6 7 8 9 102. while循环while循环是另一种常用的循环结构,它适用于未知循环次数的情况。
while循环只有一个条件表达式,当条件为真时,执行循环体。
其基本语法如下:while (条件表达式) {// 循环体代码}while循环的执行过程如下:1.首先计算条件表达式的值,如果为真,则执行循环体;如果为假,则退出循环。
2.执行完一次循环后,再次计算条件表达式的值。
以下是一个使用while循环计算1到10之和的示例代码:#include <stdio.h>int main() {int i = 1, sum = 0;while (i <= 10) {sum += i;i++;}printf("Sum = %d\n", sum);return 0;}输出结果为:Sum = 553. do-while循环do-while循环是一种先执行后判断条件的循环结构,它适用于至少执行一次循环体的情况。
大一c 语言必背基础知识点C语言是计算机科学与技术领域中最为基础和重要的编程语言之一。
作为大一学子,了解和掌握C语言的基础知识点对于进一步学习和应用计算机编程至关重要。
本文将介绍大一C语言必背的基础知识点,让读者对C语言有更深入的了解和认识。
1. 变量与数据类型:C语言中,需要使用变量来存储和操作数据。
在声明变量时,需要指定变量的数据类型,包括整型、字符型、浮点型等。
变量的命名需要符合规范,以字母或下划线开头,可以包含字母、数字和下划线。
2. 基本运算符:C语言支持各种基本运算符,包括算术运算符(加、减、乘、除等)、赋值运算符、关系运算符(等于、大于、小于等)、逻辑运算符(与、或、非等)等。
掌握这些运算符的使用方法和注意事项对于编写正确的代码至关重要。
3. 控制语句:C语言提供了多种控制语句,用于控制程序的执行流程。
其中包括条件语句(if-else语句)、循环语句(for循环、while循环、do-while循环)以及跳转语句(break语句、continue语句、return语句)等。
灵活运用控制语句可以实现不同的程序逻辑。
4. 数组:数组是C语言中一种重要的数据结构,用于存储一系列相同类型的数据。
在声明数组时,需要指定数组的长度。
通过下标访问数组元素,可以对数组进行遍历和操作。
了解数组的使用方法和数组指针的概念对于编写高效的代码至关重要。
5. 函数:函数是C语言中组织代码的基本单元,用于实现特定的功能。
在函数的定义和调用过程中,需要注意函数的返回类型、参数的传递方式以及函数的声明和定义等。
掌握函数的使用方法可以提高代码的模块化和可重用性。
6. 文件操作:C语言提供了文件操作相关的函数,用于读取和写入文件中的数据。
通过文件操作,可以实现数据的长期存储和读取,对于处理大量数据和进行数据分析非常有用。
7. 内存管理:在C语言中,内存的分配和释放是需要程序员手动管理的。
了解内存管理相关的函数和概念,包括动态内存分配(malloc函数)、内存释放(free函数)等,可以避免内存泄露和内存溢出等问题。
亲爱的同学们:
在硕果累累的金秋时节,伴着纤云翩翩,伴着枫红菊香,你们怀揣着无限的憧憬,,来到了河南科技学院信息工程学院。
你们的到来,犹如徐徐清风,让信息工程学院更加清新宜人、璀璨多姿。
信息工程学院全体师生期盼着你们的到来,我们用最诚挚的心意衷心的祝福你们,欢迎你们!
亲爱的同学们,欢迎你们加入信息工程学院这个大家庭!我们知道,同学们,特别是第一次进入信息工程学院的同学们,心情一定非常激动。
是的,因为你们即将踏入的是一个繁花似锦的校园,一个令人眷念的故地,一片生生不息、蓬勃向上的热土。
在这里,我们向你们表示由衷的祝贺和热烈的欢迎!
亲爱的同学们,当你跨进这所美丽的校园,你就成了我们大家庭的一员,在这个大家庭里,充满着真情,充满着友爱,充满着对一切美好事物的追求。
在这个大家庭里,你将在这优美的校园环境中陶冶你的情操,发挥你的特长,丰富你的学识,攀登科学的高峰,实现你的梦想。
在这个大家庭里,他能提供给你良好的学习环境和全新的发展机会,你将会认识更多的事物,掌握更多的知识,更自由地尽情发挥你的情趣爱好和特长。
你也许会遇到更重问题和困难,请及时告诉我们,我们将会竭力帮助你解决这些问题和困难。
新的面孔、新的价值观念和标准,新的生活方式,需要你用理性的目光和胆识、用辛勤的劳动和汗水,去实现你走向人生成功与辉煌的又一起点。
祝你们的大学生活快乐、幸福!。
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
实验报告填写说明
1.实验报告中的班级写行政班级(如道土1班),学号写完整学号(如20176000101),实
验日期不要漏写,任课教师写全名。
2.设计流程(算法描述)的书写用传统流程图、N-S流程图或伪代码中的任一种方式写出算法。
3.调试和测试结果应有内容,至少是“调试结果正确”,如果遇到错误,则写出错误信息,
及调试解决方法。
要求写出测试用的数据和测试结果,应对所有路径都进行测试。
第二章C语言快速入门1、C语言第一个简单实例在信息化、智能化的世界里,可能很早很早我们就听过许多IT类的名词,C语言也在其中,我们侃侃而谈,到底C程序是什么样子?让我们先看简单的一个例子:#include<stdio.h> /*引入头文件*/int main(void) /*一个简单的C程序*{int number; /*定义个名字叫做number的变量*/number=2014; /*给number赋一个值*/printf("Hello ! I am \n"); /*调用printf()函数*/printf("This year is %d\n",number);return 0;}这个简单的程序作用是向屏幕上输出两句话,如果想看到实际的运行结果的话,我们需要使用编译器编译这段代码然后运行最后的可执行程序,如果顺利话,将看到运行结果为:Hello ! I am <br>This year is 2014怎么样?一切如我们所预料吧?可是...为什么...也许您还有很多个疑问,很多个为什么,比如什么头文件、main、int、\n、%d都是什么东西?都是干什么用的?以及您可能感觉为什么写的这么奇怪?不用着急~ 好,让我们一起先来大致看一遍。
#include<stdio.h> /* 包含另一个文件*/本行代码将告诉编译器引入一个stdio.h的文件(就像我们电脑中的123.txt一样)的全部内容。
stdio.h文件是所有C语言编译器的标准部分,用来提供输入和输出的支持。
int main(void) /*主函数*/C程序规定一个程序中有一个或多个函数,他们是C程序的基本模块。
但必须有且只有一个main函数。
因为C程序的执行将从main函数开始,到main函数结束而停止。
再回头看看我们的这个简单实例吧,他只有一个名为main的函数,名字后面的圆括号()表明main()是一个函数的名字,括号里面的void表示空的,这里指不接受任何参数。
C语言编写的开头C语言是一种通用计算机编程语言,由丹尼斯·里奇于1972年在贝尔实验室开发。
它是一种过程式语言,支持结构化编程、函数调用、递归和指针等特性。
C语言以简洁、高效和灵活性著称,被广泛用于系统编程、嵌入式系统编程、图形编程和网络编程等领域。
在C语言中,程序的开头通常包括以下几个部分:预处理指令:预处理指令以“”开头,用于在编译器进行编译之前对源代码进行预处理。
常见的预处理指令包括include、define和pragma 等。
函数原型:函数原型用于声明函数的名称、参数类型和返回值类型。
函数原型可以放在函数定义之前或之后,也可以放在单独的标头文件中。
全局变量声明:全局变量声明用于声明全局变量的名称、类型和初始值。
全局变量可以在任何地方使用,但只能在函数外声明。
main函数:main函数是程序的入口函数,通常是程序的第一个执行函数。
main函数的原型为int main(int argc, char argv[]),其中argc 是命令行参数的数量,argv是命令行参数的数组。
下面是一个简单的C语言程序的开头:include <stdio.h>int main(int argc, char argv[]){printf("Hello, world!n");return 0;}在这个程序中,我们首先包含了stdio.h头文件,该头文件包含了标准输入/输出函数的声明。
然后,我们定义了main函数,main函数是程序的入口函数。
main函数的第一个参数argc是命令行参数的数量,第二个参数argv是命令行参数的数组。
在main函数中,我们使用printf()函数打印出“Hello, world!”字符串,然后返回0表示程序执行成功。
以上就是C语言程序开头的基本内容。
在实际的编程中,程序的开头可能会更加复杂,但这些基本内容是必不可少的。
1到n的阶乘之和c语言哎呀,说到这个阶乘之和的C语言程序,我可是有一肚子的话要说。
你知道吗,我第一次写这个程序的时候,简直就像是在跟电脑打一场硬仗。
那时候我还年轻,对编程这玩意儿充满了好奇,总觉得只要我肯努力,什么难题都能迎刃而解。
那天晚上,我坐在电脑前,手里捧着一本厚厚的C语言教材,眼睛瞪得像铜铃一样大。
书上说,要计算1到n的阶乘之和,得先写个函数来算阶乘,然后再写个循环来累加这些阶乘。
听起来挺简单的,对吧?可我一上手,就发现事情没那么简单。
我先试着写了个算阶乘的函数,代码大概长这样:```cint factorial(int n) {int result = 1;for (int i = 1; i <= n; i++) {result *= i;}return result;}```写完之后,我还得意洋洋地拍了拍键盘,心想:“这还不简单?”结果一运行,发现这函数只能算单个数的阶乘,根本没法累加。
我当时就有点懵了,心想:“这可咋整啊?”于是我又开始琢磨怎么写循环。
我记得书上说,要用`for`循环来遍历1到n 的所有数,然后把每个数的阶乘加起来。
我试着写了个循环,代码大概长这样:```cint sum_of_factorials(int n) {int sum = 0;for (int i = 1; i <= n; i++) {sum += factorial(i);}return sum;}```写完之后,我又一次信心满满地按下了运行键。
结果,屏幕上蹦出来一行错误提示,说我的`factorial`函数没定义。
我当时就傻眼了,心想:“我明明定义了啊!”后来才发现,原来是我把函数定义放在了`main`函数后面,编译器根本没认出来。
我赶紧把函数定义挪到了`main`函数前面,再一运行,终于成功了!屏幕上蹦出来一个数字,正是1到n的阶乘之和。
我当时那个激动啊,简直比中了彩票还高兴。
后来,我又把这个程序优化了一下,加了个输入提示,让用户自己输入n的值。