《C语言程序基本结构.ppt》由会员分享,可在线阅读,更多相关《C语言程序基本结构.ppt(71页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Rose第 二 章程序基本结构程序基本结构济南大学Rose目 录控制语句控制语句 2.1 2.1 分支结构分支结构分支结构分支结构2.2 2.2 关系运算和逻辑运算关系运算和逻辑运算关系运算和逻辑运算关系运算和逻辑运算2.3 2.3 循环结构循环结构循环结构循环结构2.4 break2.4 break和和和和continuecontinue语句语句语句语句2.5 2.5 语句标号和语句标号和语句标号和语句标号和gotogoto语句语句语句语句济南大学Rose实验实验25题改进:题改进:main()floata,b,c,s,area;scanf(%f%f%f,&a,&b,&c);if(a+bc&
2、a+cb&b+ca)s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“areais%fn”,area);分支体分支体济南大学Rose观察下面分支程序,模仿编程。观察下面分支程序,模仿编程。main()floata,b;printf(Pleaseinputa:);scanf(%f,&a);if(a0)printf(“inputerror!”);预备学习预备学习1a0?成立成立不成立不成立printf输入输入a单分支单分支分支体由一条语句分支体由一条语句构成时,大括号可构成时,大括号可省略。省略。济南大学Rose观察下面分支程序,模仿编程。观察下面
3、分支程序,模仿编程。main()floata,b;printf(Pleaseinputa:);scanf(%f,&a);if(a0)b=-a;elseb=a;printf(resultis:%f,b);预备学习预备学习2a0?成立成立不成立不成立b=-ab=a输入输入a输出输出b双分支双分支济南大学Rose从键盘上输入两个整数,输出较小从键盘上输入两个整数,输出较小的那个数。的那个数。预备练习预备练习1济南大学Rose预备练习预备练习1程序源代码:程序源代码:main()inta,b,min;printf(Pleasetwodata:);scanf(%d%d,&a,&b);if(ab)min=
4、a;elsemin=b;printf(resultis:%d,min);济南大学Roseif语句的三种形式语句的三种形式(1)格式1:if (表达式)分支体;格式2:if (表达式)分支体1;else 分支体2;else后没后没有表达式有表达式括号后没括号后没有分号有分号分支体里可以包含分支体里可以包含多条程序语句,用一多条程序语句,用一对对扩起来,做为扩起来,做为整体。这种由整体。这种由扩扩起来的语句叫做起来的语句叫做复合复合语句语句。括号之外不再。括号之外不再加加“;”else必须和必须和if配对使用,配对使用,不能单独出现。不能单独出现。济南大学Rose知识点如何表达条件知识点如何表达条
5、件选择条件通常是关系表达式或逻辑表达式。放在括号选择条件通常是关系表达式或逻辑表达式。放在括号中。中。逻辑运算符:逻辑运算符:&、|、!、!表达式值为表达式值为0代表条件不成立(假)代表条件不成立(假)表达式值为非表达式值为非0代表条件成立(真)代表条件成立(真)例如:例如:100a999100a&a999济南大学Roseif语句扩展语句扩展表达式可为任意表达式,只要值为表达式可为任意表达式,只要值为0就认为条件不成立,值为就认为条件不成立,值为非非0就认为就认为条件成立。例如:条件成立。例如:if(1)if(-4+3)if(a)flag=3;if(flag)济南大学Rose算算术术运运算算优
6、优先先级级高高于于关关系系运运算算,关关系系运运算算优优先先级级高高于逻辑运算。于逻辑运算。逻辑运算符优先级:逻辑运算符优先级:!、!、&、|参参与与逻逻辑辑运运算算的的数数据据理理解解:值值为为非非零零即即是是真真,值值为零即是假。为零即是假。例如:例如:a.3&0结果为结果为0;b.7|0结果为结果为1;c.!800结果为结果为0关系表达式的运算关系表达式的运算济南大学Rose多分支结构多分支结构表达多种情况的选择表达多种情况的选择常用常用if语句嵌套实现语句嵌套实现规则的多分支语句可用规则的多分支语句可用switch语句实现语句实现济南大学Roseif 语句的三种形式(3)格式3:if
7、(表达式1)语句序列1;else if (表达式2)语句序列2;else 语句序列3;例例3设有分段函数:设有分段函数:-1(x0)编一个程序,输入编一个程序,输入x,输出输出y。Rose简单算法流程图简单算法流程图x0?x=0?y=-1y=0y=1真真(非非0)真真(非非0)假假(0)假假(0)#includemain()intx,y;scanf(“%d”,&x);if(x0)y=-1;elseif(x=0)y=0;elsey=1;济南大学Roseif语句嵌套语句嵌套注意:注意:注意:注意:if if语句或语句或语句或语句或ifelseifelse语句虽然书写在多行,但语法逻辑上是一条语语句
8、虽然书写在多行,但语法逻辑上是一条语语句虽然书写在多行,但语法逻辑上是一条语语句虽然书写在多行,但语法逻辑上是一条语句。句。句。句。elseelse总是与它上面最近的那个总是与它上面最近的那个总是与它上面最近的那个总是与它上面最近的那个ifif配对配对配对配对。必要时可加大扩号必要时可加大扩号必要时可加大扩号必要时可加大扩号“”,改变匹配关系。,改变匹配关系。,改变匹配关系。,改变匹配关系。济南大学Roseif语句嵌套语句嵌套 例如:if (表达式1)if (表达式2)语句序列1;else 语句序列2;if (表达式3)语句序列3;else 语句序列4;if与else的配对关系并不依赖于书写程
9、序时用户根据程序的层次性逐渐内缩的梯形结构,而else总是与它上面最近的那个if 配对。Rose举例举例求一元二次方程求一元二次方程ax2+bx+c=0的解的解流程图见教材流程图见教材2.4济南大学Rose本例题学到一个实数的比较方法:本例题学到一个实数的比较方法:实型数据,由于采用浮点数的形式存储于计算实型数据,由于采用浮点数的形式存储于计算机中,在存储与读取的过程中有精度损失,就机中,在存储与读取的过程中有精度损失,就是说实数经过存储后再读取出来,就不能精确是说实数经过存储后再读取出来,就不能精确等于原来的数值了。这样一个实数与其他数进等于原来的数值了。这样一个实数与其他数进行相等比较时,
10、不能用行相等比较时,不能用=表达相等关系,例表达相等关系,例如实数如实数a=0是不能正确比较的。而应该用它与是不能正确比较的。而应该用它与其他数相减的差的绝对值在某一个小数范围内其他数相减的差的绝对值在某一个小数范围内来表示近似相等。如本例中的来表示近似相等。如本例中的fabs(a)=1e-6,表示如果表示如果a小于小于10-6,就算是近似为,就算是近似为0了。了。济南大学Rose 分支结构编程练习从键盘上输入一个小于10000的数,判断它是几位数,并输出判断结果。济南大学Roseswitch(多分支多分支)语句语句使用形式:switch(表达式)case 常量1:语句序列1;break;ca
11、se 常量2:语句序列2;break;case 常量n:语句序列n;break;default:语句序列n+1;?济南大学Rose说明说明:switch语句的执行部分是由若干个语句的执行部分是由若干个case语句语句和一个可缺省的和一个可缺省的default语句组成的复合语句语句组成的复合语句,整个要用整个要用大括号大括号括起来括起来.语句序列语句序列1n+1中,如中,如果某个语句是由两个以上的语句组成,可以不果某个语句是由两个以上的语句组成,可以不用大括号。用大括号。switch后的表达式和后的表达式和case后的常量值可以为任后的常量值可以为任何类型,但一般情况下为整型和字符型。何类型,但
12、一般情况下为整型和字符型。济南大学Rose当表达式的值与当表达式的值与case后的常量值相等时,则执行该后的常量值相等时,则执行该case后的语句序列。执行完后退出后的语句序列。执行完后退出switch语句,跳转到语句,跳转到整个整个switch语句之后的下一个语句执行。如果所有的语句之后的下一个语句执行。如果所有的case语句的常量值与语句的常量值与switch之后的表达式不匹配,则执之后的表达式不匹配,则执行行default之后的语句序列。之后的语句序列。各各case语句之后的常量值不能相同。语句之后的常量值不能相同。如果某个如果某个case语句最后的语句最后的break语句被省略,则执行
13、语句被省略,则执行完该完该case语句之后,系统则会继续执行下一个语句之后,系统则会继续执行下一个case语句。语句。多个多个case语句可以共用一组执行语句语句可以共用一组执行语句济南大学Rose【分分析析】成成绩绩的的可可能能取取值值是是多多种种多多样样的的,但但case后后面面的的常常量量值值只只能能是是一一个个具具体体的的值值,不不能能表表达达为为一一个个值值的的范范围围;因因此此需需将将原原成成绩绩值值进进行行某某种种运运算算转转换换为为相相应应的的一一个个具具体体值值,这这样才能进行样才能进行case的匹配。的匹配。请大家思考?请大家思考?例例5在在学学生生成成绩绩管管理理中中,经
14、经常常要要将将成成绩绩的的百百分分制制转转换换成成对对应应的的等等级级制制。90分分以以上上为为A等等,80-89为为B等等,70-79为为C等,等,60-69分为分为D等,其余为等,其余为E等。等。编制程序,根据输入的百分制成绩,输出对应的等级。编制程序,根据输入的百分制成绩,输出对应的等级。提示:将原成绩值与提示:将原成绩值与10做整除运算,可得到一个具体值。做整除运算,可得到一个具体值。济南大学Rose#includemain()intscore,temp;printf(“Inputscoreofstudent:”);scanf(“%d”,&fscore);temp=fscore/10;
15、switch(temp)case10:case9:printf(“A”);break;case8:printf(“B”);break;case7:printf(“C”);break;case6:printf(“D”);break;default:printf(“E”);参参考考程程序序济南大学Rose条件运算符条件运算符简单的条件选择可以使用条件运算符。格式:表达式1?表达式2:表达式3例如:ab?a-b;b-a;条件运算符的优先级高于赋值运算符,低于关系运算符和算术运算符。例如:max=ab?a:b详细语法见P38页。济南大学Rose例:输入一个字符,如果是大写字母,转换例:输入一个字符,如
16、果是大写字母,转换为小写,如果不是则不转换。为小写,如果不是则不转换。main()charch;scanf(“%c”,&ch);ch=(ch=A&chc&a+cb&b+ca)scanf(%f%f%f,&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“areais%fn”,area);循环体循环体随机次随机次数循环数循环济南大学Rose观察下面循环程序,模仿编程。观察下面循环程序,模仿编程。求全班同学成绩的平均分。求全班同学成绩的平均分。main()floata,sum=0;inti,num;scanf(“%d”,&num);
17、for(i=1;i=num;i=i+1)printf(inputscore:);scanf(%f,&a);sum=sum+a;printf(resultis:%f,sum/num);预备学习预备学习程序程序lianxi2.c固定次固定次数循环数循环济南大学Rose循循环环结结构构比比较较适适合合解解决决多多次次重重复复执执行行相相同同的操作运算。的操作运算。分分析析以以上上这这句句话话,用用循循环环结结构构来来解解决决问问题题的时候我们需要关注哪些?的时候我们需要关注哪些?1.多多次次重重复复这这就就需需要要考考虑虑一一个个循循环环的的执执行次数如何控制?行次数如何控制?2.相相同同的的操操作
18、作运运算算这这就就是是循循环环体体,就就是是循环控制结构内的操作语句。循环控制结构内的操作语句。循环结构的适用情况循环结构的适用情况济南大学Rose1、for(循环变量循环变量=初值;循环变量初值;循环变量=终值;循环变量增值)终值;循环变量增值)循环体语句循环体语句2、while(循环条件)循环条件)循环体语句循环体语句3、do循环体语句循环体语句while(循环条件);循环条件);三种三种C语言循环控制结构语句语言循环控制结构语句说明:三种语句的功能大体上是说明:三种语句的功能大体上是一样的,都能实现循环结构控制,一样的,都能实现循环结构控制,只是具体的语法结构不同,编程只是具体的语法结构
19、不同,编程时有些细节处理不同。时有些细节处理不同。说明:当循环体由若干语句组成时说明:当循环体由若干语句组成时,应用大括号括起来。应用大括号括起来。注意注意分号分号济南大学Rose从键盘上输入从键盘上输入10个整数,输出每个个整数,输出每个数的平方数的平方。使用使用for语句编程。语句编程。编程练习编程练习3分钟分钟济南大学Rose参考程序:参考程序:main()inta,i;printf(inputaninteger:);for(i=1;i=10;i=i+1)scanf(%d,&a);printf(:%dn,a*a);济南大学Rose补充:自增运算符补充:自增运算符自减运算符自减运算符例如:
20、例如:i+、+ii-、-i例如:例如:for(i=1;i=1;i-)for(i=3;i10)i=i-10;补充:循环控制过程中,步长的修正是灵活多样的,可正、可负;步长可为1,也可为2、3、10等。济南大学Rosemain()floata,sum=0;inti,num;scanf(“%d”,&num);for(i=1;i=num;i=i+1)printf(inputscore:);scanf(%f,&a);sum=sum+a;printf(resultis:%f,sum/num);i=1;while(i=num)printf(inputscore:);scanf(%f,&a);sum=sum+
21、a;i+;循环语句转换循环语句转换济南大学Rosemain()floata,sum=0;inti,num;scanf(“%d”,&num);for(i=1;i=num;i+)printf(inputscore:);scanf(%f,&a);sum=sum+a;printf(resultis:%f,sum/num);循环语句转换循环语句转换i=1;doprintf(inputscore:);scanf(%f,&a);sum=sum+a;i+;while(i=num);济南大学Rose使用使用while和和dowhile循环,注意:循环,注意:1、赋初值:赋初值:循环变量循环变量i=1;累乘之积累
22、乘之积m=1;2、循环变量要修正值,循环变量要修正值,i+;或或i-;否则造成否则造成死循环死循环。Ctrl+Break结束死循环结束死循环总结总结济南大学Rose使用使用while语句或语句或dowhile语句实语句实现随机次数的循环举例。现随机次数的循环举例。济南大学Rose【例例2.12】输输入入一一个个字字符符,如如果果是是大大写写字字母母,转转换换为为小小写写,如如果不是则不转换。输入果不是则不转换。输入“0”结束程序。结束程序。#includevoidmain()charch;while(1)ch=getchar()if(ch=0)break;ch=(ch=A&ch=Z)?(ch+
23、32):ch;printf(%c,ch);永真循环。表面上看是死循环,实永真循环。表面上看是死循环,实际在循环体里有际在循环体里有if语句进行条件判语句进行条件判断,可以执行到断,可以执行到break语句退出循语句退出循环。环。济南大学Rose总结总结循环情况分类:循环情况分类:固定次数的循环;(适合用固定次数的循环;(适合用for语句实现)语句实现)随机次数的循环。(适合用随机次数的循环。(适合用while和和dowhile语句)语句)举例举例:固定次数:固定次数:for(i=100;i=999;i+)随机次数:随机次数:while(ch!=13)济南大学Rose以上只是常用方法,不绝对,例
24、如也可以用以上只是常用方法,不绝对,例如也可以用for语句实现随机次语句实现随机次数的循环;也可用数的循环;也可用while和和dowhile实现固定次数的循环。实现固定次数的循环。#includevoidmain()charch;for(;(ch=getchar()!=0;)ch=(ch=A&ch=Z)?(ch+32):ch;printf(%c,ch);Rose说明:说明:如果在如果在for语句之前已经给循环变量赋初值,则语句之前已经给循环变量赋初值,则for语句语句的循环的循环 变量赋初值部分可以省略。但其后得分号不省略。变量赋初值部分可以省略。但其后得分号不省略。例:例:i=1;for(
25、;i=10;i+)m=m*i;也可以将循环变量修正值的工作纳入到循环体中去做也可以将循环变量修正值的工作纳入到循环体中去做.例例:for(i=1;i=10;)m=m*i;i+;第二部分第二部分“循环条件表达式循环条件表达式”不能缺省,否则将陷入死循不能缺省,否则将陷入死循环。环。Rose也可以省略也可以省略for语句的第一和第三部分语句的第一和第三部分例例:i=1;for(;i=10;)m=m*i;i+;如果有多个循环变量赋初值如果有多个循环变量赋初值,或多个循环变量值要修正或多个循环变量值要修正,应在各应在各变量之间用逗号隔开。变量之间用逗号隔开。例:例:for(i=1,j=10;i=j;i
26、+,j-)k=i+j;济南大学Rosemain()intn,max;scanf(“%d”,&n);max=-32768;while(n!=0)if(maxn)max=n;scanf(“%d”,&n);printf(%dn,max);编程练习编程练习从键盘输入若干整数,以从键盘输入若干整数,以0结束,判断结束,判断并输出其中最大的数。并输出其中最大的数。分析:分析:循环次数随机。循环条件控制循环次数随机。循环条件控制while(n!=0)求最大值的算法:反复比较,设定一个求最大值的算法:反复比较,设定一个最大值变量最大值变量max,则则if(maxn)max=n;循环语句构成:循环语句构成:比较
27、;输入;比较;输入;循环开始前的处理工作:循环开始前的处理工作:变量变量n的初值?的初值?max的初值?的初值?济南大学Rosemain()intn,max;scanf(“%d”,&n);max=-32768;while(n!=0)if(maxn)max=n;scanf(“%d”,&n);printf(%dn,max);main()intn,max;scanf(“%d”,&n);max=-32768;doif(maxn)max=n;scanf(“%d”,&n);while(n!=0);printf(%dn,max);比较两种循环实际执行过程中的不同比较两种循环实际执行过程中的不同while循循
28、环有可环有可能一次能一次也不执也不执行,而行,而dowhile循循环至少环至少要执行要执行一次。一次。济南大学Rose自学自学P53“几种循环的比较几种循环的比较”济南大学Rose2.4break语句和语句和continue语句语句济南大学Rosebreak语句功能:提前结束循环。语句功能:提前结束循环。常和常和if语句搭配使用,满足某种条件下语句搭配使用,满足某种条件下退出循环。退出循环。济南大学Rose例:从键盘上输入一个数,判断这个数是否是素例:从键盘上输入一个数,判断这个数是否是素数。素数是除了数。素数是除了1和自身不能被任何数整除的数。和自身不能被任何数整除的数。分析:分析:循环的初
29、始和终止条件。循环的初始和终止条件。i=2;(i=m?)例题程序:例题程序:sushu.c济南大学Rose#includemain()inti,m,k;scanf(%d,&m);for(i=2;i=m)printf(“%dissushu!,m);济南大学Rosecontinue语句功能:结束本次循环,开语句功能:结束本次循环,开始下一次循环,整个循环未结束。始下一次循环,整个循环未结束。例如:例如:while(条件条件)语句语句1;if(条件条件)contine;语句语句3;语句语句4;济南大学Rosemain()inti;for(i=1;i=6;i+)if(i%2)printf(#);con
30、tinue;printf(*);printf(n);阅读程序,请说出阅读程序,请说出该程序段的功能?该程序段的功能?济南大学Rose循环的嵌套在一个循环体内又有一个循环语句的循环结在一个循环体内又有一个循环语句的循环结构,则称为循环嵌套构,则称为循环嵌套dowhile、while、for三种循环方式可以相互三种循环方式可以相互构成循环嵌套构成循环嵌套济南大学Rose循环嵌套执行过程:循环嵌套执行过程:外循环每执行一次,内循环外循环每执行一次,内循环执行整个一遍,即执行整个一遍,即n2次。次。循环次数:循环次数:内外循环次数的乘积:内外循环次数的乘积:n1n2循环的嵌套例如:例如:for(i=1
31、;i=n1;i+)for(j=1;j=n2;j+).济南大学Rose举例举例打印一张九九表打印一张九九表济南大学Rose#includemain()inti,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%4d,i*j);printf(n);济南大学Rose例:例:求求 3100之间的全部素数。之间的全部素数。分析:分析:1、外层循环,外层循环,n从从3到到100。2、内层循环,、内层循环,i从从2到到n/2或或sqrt(n)例:例:sushu-2.c素数编程技巧探讨:素数编程技巧探讨:1、可否减少循环次数?、可否减少循环次数?2、标志变量的使用。、标志变量的使
32、用。sushu-1.c济南大学Rose例:例:图形编程。图形编程。分析:分析:1、外层循环:行数,外层循环:行数,i从从1到到62、内层循环:每行空格数和每、内层循环:每行空格数和每行行“*”个数。个数。空格数:空格数:*号数:号数:*j从从1到到6-ij从从1到到2*i-1inti,j;for(i=1;i=6;i+)for(j=1;j=6-i;j+)printf(“”);for(j=1;j=2*i-1;j+)printf(“*”);循环的书写格式和结构怎样?循环的书写格式和结构怎样?外循环的循环体是什么?外循环的循环体是什么?程序段实际运行还缺少什么?程序段实际运行还缺少什么?济南大学Ros
33、eintint i,j;i,j;for(i=1;i=6;i+)for(i=1;i=6;i+)for(j=1;j=6-i;j+)for(j=1;j=6-i;j+)printfprintf(“”);(“”);for(j=1;j=2*i-1;j+)for(j=1;j=2*i-1;j+)printfprintf(“*”);(“*”);printf(“nprintf(“n”);”);济南大学Rose图形编程的统一规律:图形编程的统一规律:1、两重循环嵌套,外循环控制图形的行数,、两重循环嵌套,外循环控制图形的行数,内循环控制图形的列数和空格数内循环控制图形的列数和空格数;2、内循环完毕通常有一个换行、内
34、循环完毕通常有一个换行printf(“n”);3、内循环的次数要观察图形的形状,通常和内循环的次数要观察图形的形状,通常和外循环变量外循环变量i具有一定的运算规律。具有一定的运算规律。4、内循环图案的起始位置可用空格控制,因、内循环图案的起始位置可用空格控制,因为具有一定的递变规律,通常也用循环实现。为具有一定的递变规律,通常也用循环实现。图形编程补充图形编程补充Sy3-4.c济南大学Rose无条件转移语句无条件转移语句goto语句是一种使程序的流程无条件转移的语句使用语句的形式为:goto 语句标号语句标号是由用户自行定义的(由字母、数字、下划线组成。且第一个字符必须为字母或下划线),跳转到
35、的那条语句的语句标号和该语句之间用冒号分开。例如:label:printf(“No resultn”);goto 语句的功能是无条件地跳转到语句标号所指定的本函数内的那条语句。goto.c济南大学Rose1、三种循环语句的语法格式三种循环语句的语法格式2、固定次数的循环如何设计?、固定次数的循环如何设计?随机次数的循环如何设计?随机次数的循环如何设计?2、break、continue语句的功能语句的功能3、循环嵌套。、循环嵌套。4、经典例题:判断素数、求最大、经典例题:判断素数、求最大/最小值、水仙花数、最小值、水仙花数、数列、图形编程。数列、图形编程。总结总结济南大学Rose编程练习编程练习
36、:从从1开始做自然数的开始做自然数的累加,当其累加和超过累加,当其累加和超过1000时,时,共计累加了多少数?当时的累加共计累加了多少数?当时的累加和是多少?和是多少?济南大学Rose例:例:“猴子吃桃猴子吃桃”猴子第一天摘了若干个桃子,当即吃了一半,猴子第一天摘了若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天又将剩下的桃子还不过瘾,又多吃了一个。第二天又将剩下的桃子吃了一半,又多吃了一个。以后每天都吃掉前一天吃了一半,又多吃了一个。以后每天都吃掉前一天剩下的一半零一个。到第十天想吃时,只剩下一个剩下的一半零一个。到第十天想吃时,只剩下一个桃子了。问第一天共摘了多少桃子?桃子了。问第
37、一天共摘了多少桃子?分析:循环分析:循环10天,天,day从从10循环到循环到1。设设x1为前一天桃子数,设为前一天桃子数,设x2为第二天桃子数,为第二天桃子数,则则x2=x1/2-1,所以所以x1=(x2+1)*2。每次循环:每次循环:x1=(x2+1)*2;x2=x1举例举例2-9.c济南大学Rose数列之和,加到该项数小于指定的数列之和,加到该项数小于指定的detax值为止值为止编程练习编程练习2-5济南大学Rose举例举例输入数据合法性检验问题输入数据合法性检验问题例:从键盘上输入一个数,如果是三位例:从键盘上输入一个数,如果是三位数,则判断它是否是水仙花数,如果不数,则判断它是否是水
38、仙花数,如果不是则让用户重新输入。是则让用户重新输入。济南大学Rose本章学习说明学到程序控制结构这一部分,是编程能力提高最重要的阶段。学到程序控制结构这一部分,是编程能力提高最重要的阶段。此时的学习,应以主动思维为主,自己动手来,尽量不要模此时的学习,应以主动思维为主,自己动手来,尽量不要模仿参考别人的程序,这样才能一点一点的使自己的思维能力仿参考别人的程序,这样才能一点一点的使自己的思维能力得到锻炼。得到锻炼。如果参考别人的程序或经验,如果参考别人的程序或经验,一定要将程序读懂了一定要将程序读懂了,理解别,理解别人的编程思想,然后将编程思想拿过来,为我所用,绝不是人的编程思想,然后将编程思想拿过来,为我所用,绝不是将别人的程序照搬过来。将别人的程序照搬过来。编程一定要编程一定要注意题目要求注意题目要求,必须完全符合题目要求的程序才,必须完全符合题目要求的程序才是正确的程序,不能随意添加或减少程序功能。是正确的程序,不能随意添加或减少程序功能。