收藏 分销(赏)

算法语言与数据结构习题课.pptx

上传人:天**** 文档编号:4185334 上传时间:2024-08-12 格式:PPTX 页数:24 大小:652.31KB
下载 相关 举报
算法语言与数据结构习题课.pptx_第1页
第1页 / 共24页
算法语言与数据结构习题课.pptx_第2页
第2页 / 共24页
算法语言与数据结构习题课.pptx_第3页
第3页 / 共24页
算法语言与数据结构习题课.pptx_第4页
第4页 / 共24页
算法语言与数据结构习题课.pptx_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、算法算法语言言与数与数据据结构构信息信息与与物流管理系物流管理系王健王健西安财经学院管理学院西安财经学院管理学院西安财经学院管理学院西安财经学院管理学院信息信息与与物流管理系物流管理系习题课(简单程序程序设计)补充内容:Printf()格式字符串 1)类型:类型字符用以表示输出数据的类型,其格式符和意义如下表所示:格式字符意 义d以十进制形式输出带符号整数(正数不输出符号)o以八进制形式输出无符号整数(不输出前缀0)x,X以十六进制形式输出无符号整数(不输出前缀Ox)u以十进制形式输出无符号整数f以小数形式输出单、双精度实数e,E以指数形式输出单、双精度实数g,G以%f或%e中较短的输出宽度输

2、出单、双精度实数c输出单个字符s输出字符串信息信息与与物流管理系物流管理系2)标志:标志字符为-、+、#、空格四种,其意义下表所示:标 志意 义-结果左对齐,右边填空格+输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号#对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0 x;对e,g,f 类当结果有小数时才给出小数点信息信息与与物流管理系物流管理系scanfscanf()格式字符串的一般形式为:()格式字符串的一般形式为:%*%*输入数据宽度输入数据宽度长度长度 类型类型其中有方括号的项为任选项。各项的意义如下:1)类型:表示输入数据的类型,其格式符和意

3、义如下表所示。格式字符意义d输入十进制整数o输入八进制整数x输入十六进制整数u输入无符号十进制整数f或e输入实型数(用小数形式或指数形式)c输入单个字符s输入字符串2)“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。如:scanf(%d%*d%d,&a,&b);当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。信息信息与与物流管理系物流管理系【例例例例1 1】输入三角形的三边长,求三角形面积。输入三角形的三边长,求三角形面积。输入三角形的三边长,求三角形面积。输入三角形的三边长,求三角形面积。分析:已知三角形的三边长分析:已知三角形的三边长分析:已知三角形的三边长分析

4、:已知三角形的三边长a,b,ca,b,c,则该三角形的面积公式为:,则该三角形的面积公式为:,则该三角形的面积公式为:,则该三角形的面积公式为:,其中其中其中其中s=(a+b+c)/2s=(a+b+c)/2源程序如下:源程序如下:源程序如下:源程序如下:信息信息与与物流管理系物流管理系#include#includemain()main()floata,b,c,s,area;floata,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);scanf(“%f,%f,%f”,&a,&b,&c);s=1.0/2*(a+b+c);s=1.0/2*(a+b+c);area=sq

5、rt(s*(s-a)*(s-b)*(s-c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn”,a,b,printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn”,a,b,c,s);c,s);printf(“area=%7.2fn”,area);printf(“area=%7.2fn”,area);信息信息与与物流管理系物流管理系【例例例例2 2】从键盘输入字符,判断字符的类别(控制字符、字母、数字、从键盘输入字符,判断字符的类别(控制字符、字母、数字、从键盘输入字符,判断字符

6、的类别(控制字符、字母、数字、从键盘输入字符,判断字符的类别(控制字符、字母、数字、其它)其它)其它)其它)信息信息与与物流管理系物流管理系#includestdio.h#includestdio.hmain()main()charc;charc;printf(inputacharacter:);printf(inputacharacter:);c=getchar();c=getchar();if(c32)if(c=0&c=0&c=A&c=A&c=a&c=a&cb)if(ab)max=a;min=b;max=a;min=b;elseelsemax=b;min=a;max=b;min=a;if(

7、maxc)if(maxc)if(minc)min=c;min=c;printf(max=%dnmin=%d,max,min);printf(max=%dnmin=%d,max,min);信息信息与与物流管理系物流管理系【例例例例4 4】求个位数比十位数大求个位数比十位数大求个位数比十位数大求个位数比十位数大2 2的数。的数。的数。的数。main()main()intn,i,j;intn,i,j;n=10;n=10;while(n=99)while(n=99)i=n/10;i=n/10;j=n%10;j=n%10;if(j=i+2)if(j=i+2)printf(%d,n);printf(%d,

8、n);n+;n+;运行结果:运行结果:运行结果:运行结果:1324354657687913243546576879信息信息与与物流管理系物流管理系【例例例例5 5】求求求求100100999999之间的水仙花数。之间的水仙花数。之间的水仙花数。之间的水仙花数。main()main()inti,j,k,n;inti,j,k,n;n=100;n=100;while(n=999)while(n=999)i=n/100;i=n/100;j=n/10-i*10;j=n/10-i*10;k=n%10;k=n%10;if(n=i*i*i+j*j*j+k*k*k)if(n=i*i*i+j*j*j+k*k*k)

9、printf(n%d,n);printf(n%d,n);n+;n+;运行结果:运行结果:运行结果:运行结果:153153370370371371470470信息信息与与物流管理系物流管理系【例例例例6 6】打印杨辉三角形。打印杨辉三角形。打印杨辉三角形。打印杨辉三角形。main()main()inti,j;inti,j;for(i=1;i=5;i+)/*for(i=1;i=5;i+)/*输出该行前的空格输出该行前的空格输出该行前的空格输出该行前的空格*/for(j=1;j=5-I;j+)for(j=1;j=5-I;j+)printf(“);printf(“);for(j=1;j=2*i-1;j

10、+)/*for(j=1;j=2*i-1;j+)/*输出该行中的星号输出该行中的星号输出该行中的星号输出该行中的星号*/printf(“*”);printf(“*”);printf(“n”);printf(“n”);运行结果:运行结果:运行结果:运行结果:*信息信息与与物流管理系物流管理系#includemain()int s;float n,t,pi;t=1,pi=0;n=1.0;s=1;while(fabs(t)1e-6)pi=pi+t;n=n+2;s=-s;t=s/n;pi=pi*4;printf(pi=%10.6fn,pi);公式求。N-S流程图:【例7】用信息信息与与物流管理系物流管理

11、系【例例例例8 8】判断判断判断判断mm是否素数。是否素数。是否素数。是否素数。#include#includemain()main()intm,i,k;intm,i,k;scanf(“%d”,&m);scanf(“%d”,&m);k=sqrt(m);k=sqrt(m);for(i=2;i=k;i+)for(i=2;i=k+1)printf(“%disaprimenumbern”,m);if(i=k+1)printf(“%disaprimenumbern”,m);elseprintf(“%disnotaprimenumbern”,m);elseprintf(“%disnotaprimenumb

12、ern”,m);信息信息与与物流管理系物流管理系【例例例例9 9】计算计算计算计算3 3100100之间的素数。之间的素数。之间的素数。之间的素数。#include#includemain()main()intm,k,i,n=0;intm,k,i,n=0;m=3;m=3;while(m=100)while(m=100)i=2;i=2;while(i=(m-1)while(i=m)if(i=m)printf(%d,m);printf(%d,m);n=n+1;n=n+1;if(n%10=0)if(n%10=0)printf(n);printf(n);m=m+2;m=m+2;printf(n);pr

13、intf(n);运行结果:运行结果:运行结果:运行结果:3571113171923293183899735711131719232931838997信息信息与与物流管理系物流管理系【例例例例1010】把把把把100100分成四个数,第一个数减去分成四个数,第一个数减去分成四个数,第一个数减去分成四个数,第一个数减去4 4,第二个数加上,第二个数加上,第二个数加上,第二个数加上4 4,第三个数乘,第三个数乘,第三个数乘,第三个数乘以以以以4 4,第四个数除以,第四个数除以,第四个数除以,第四个数除以4 4,它们的和、差、积、商都相等,求这四个数。,它们的和、差、积、商都相等,求这四个数。,它们的

14、和、差、积、商都相等,求这四个数。,它们的和、差、积、商都相等,求这四个数。main()main()inti,x1,x2,x3,x4;inti,x1,x2,x3,x4;i=1;i=1;while(1)while(1)x1=i+4;x1=i+4;x2=i-4;x2=i-4;x3=i*4;x3=i*4;x4=i/4;x4=i/4;if(x1+x2+x3+x4=100)if(x1+x2+x3+x4=100)printf(nx1=%dx2=%dx3=%dx4=%dprintf(nx1=%dx2=%dx3=%dx4=%di=%dn,x1,x2,x3,x4,i);i=%dn,x1,x2,x3,x4,i);

15、break;break;i+;i+;运行结果:运行结果:运行结果:运行结果:x1=12x2=20 x3=4x4=64i=16x1=12x2=20 x3=4x4=64i=16信息信息与与物流管理系物流管理系【例例例例1111】老太太卖鸡蛋。老太太卖鸡蛋。老太太卖鸡蛋。老太太卖鸡蛋。#include#includevoidmain()voidmain()intn=7;intn=7;while(1)while(1)if(n%2=1&n%3=1&n%4=1&n%5=1&nif(n%2=1&n%3=1&n%4=1&n%5=1&n%6=1)%6=1)break;break;n+=7;n+=7;printf

16、(%dn,n);printf(%dn,n);运行结果:运行结果:运行结果:运行结果:301301 信息信息与与物流管理系物流管理系【例例例例1212】:老太太再次卖鸡蛋。:老太太再次卖鸡蛋。:老太太再次卖鸡蛋。:老太太再次卖鸡蛋。main()main()intx=10,i;intx=10,i;floaty;floaty;while(x=1)while(x=1)y=x;y=x;i=1;i=1;while(i=3)while(i=3)y=y-(y/2+0.5);y=y-(y/2+0.5);i+;i+;if(y=0.0)if(y=0.0)printf(n%dn,x);printf(n%dn,x);x

17、-;x-;运行结果:运行结果:运行结果:运行结果:7 7信息信息与与物流管理系物流管理系【例例例例1313】第一个数是第一个数是第一个数是第一个数是0 0,第二个数,第二个数,第二个数,第二个数1 1,下一个数是前两个数之和,求,下一个数是前两个数之和,求,下一个数是前两个数之和,求,下一个数是前两个数之和,求2020个数。个数。个数。个数。main()main()longintf1,f2;longintf1,f2;inti=1;inti=1;f1=0;f1=0;f2=1;f2=1;while(i=15)while(i=15)printf(%12ld%12ld,f1,f2);printf(%1

18、2ld%12ld,f1,f2);if(i%2=0)if(i%2=0)printf(n);printf(n);f1=f1+f2;f1=f1+f2;f2=f2+f1;f2=f2+f1;i+;i+;printf(n);printf(n);运行结果:运行结果:运行结果:运行结果:011201123581335813.317811514229317811514229信息信息与与物流管理系物流管理系【例例例例1414】计算计算计算计算5!5!1010!1515!main()main()floatt=1.0,s=0.0;floatt=1.0,s=0.0;inti,n=5;inti,n=5;while(n=1

19、5)while(n=15)t=1;t=1;i=1;i=1;while(i=n)while(i=n)t=t*i;t=t*i;i+;i+;s=s+t;s=s+t;n+=5;n+=5;printf(n%.12en,s);printf(n%.12en,s);运行结果:运行结果:运行结果:运行结果:1.30767794995e+121.30767794995e+12信息信息与与物流管理系物流管理系【例例例例1414】计算计算计算计算2 2222222222222222222main()main()intx=0,s=0,n=1;intx=0,s=0,n=1;while(n=4)while(n=4)x=x*

20、10+2;x=x*10+2;s=s+x;s=s+x;n+;n+;printf(n2+22+222+2222=%dn,s);printf(n2+22+222+2222=%dn,s);运行结果:运行结果:运行结果:运行结果:2 222222222222222222224682468信息信息与与物流管理系物流管理系【例例例例1515】计算计算计算计算a+aa+aaa+a+aa+aaa+main()main()inta,n,i=1,sn=0,tn=0;inta,n,i=1,sn=0,tn=0;printf(a,n=:);printf(a,n=:);scanf(%d,%d,&a,&n);scanf(%d

21、,%d,&a,&n);while(i=n)while(i=n)tn=tn+a;tn=tn+a;sn=sn+tn;sn=sn+tn;a=a*10;a=a*10;i+;i+;printf(a+aa+aaa+.=%dn,sn);printf(a+aa+aaa+.=%dn,sn);运行结果:运行结果:运行结果:运行结果:a,n=3,3a,n=3,3a+aa+aaa+=369a+aa+aaa+=369信息信息与与物流管理系物流管理系课后后题1.1.编制程序求编制程序求编制程序求编制程序求e e的近似值。的近似值。的近似值。的近似值。e1e1用用用用forfor循环语句求解循环语句求解循环语句求解循环语句

22、求解6 6!的值,并输出结果。要求有必要的输!的值,并输出结果。要求有必要的输!的值,并输出结果。要求有必要的输!的值,并输出结果。要求有必要的输入输出提示。入输出提示。入输出提示。入输出提示。2.2.用用用用scanfscanf函数输入圆半径函数输入圆半径函数输入圆半径函数输入圆半径r r和圆柱高和圆柱高和圆柱高和圆柱高h h的值,并求圆柱体的体积,已知圆柱体的体积的值,并求圆柱体的体积,已知圆柱体的体积的值,并求圆柱体的体积,已知圆柱体的体积的值,并求圆柱体的体积,已知圆柱体的体积公式为:公式为:公式为:公式为:要求输入输出时要有文字说明。要求输入输出时要有文字说明。要求输入输出时要有文字

23、说明。要求输入输出时要有文字说明。3.3.编写一个程序从键盘输入数值编写一个程序从键盘输入数值编写一个程序从键盘输入数值编写一个程序从键盘输入数值n n,计算出以下数列的前,计算出以下数列的前,计算出以下数列的前,计算出以下数列的前n n项的和,即求:项的和,即求:项的和,即求:项的和,即求:4.sum4.sum1 12 23 3n n要求使用要求使用要求使用要求使用forfor循环语句完成求和,并有必要的输入输出文字提示。循环语句完成求和,并有必要的输入输出文字提示。循环语句完成求和,并有必要的输入输出文字提示。循环语句完成求和,并有必要的输入输出文字提示。5 5 输入整数输入整数输入整数输

24、入整数a a和和和和b b,如果,如果,如果,如果aa能被能被能被能被b b整除,就输出算式和商,否则输出算式、整数商和余整除,就输出算式和商,否则输出算式、整数商和余整除,就输出算式和商,否则输出算式、整数商和余整除,就输出算式和商,否则输出算式、整数商和余数。数。数。数。6.6.输入某个点输入某个点输入某个点输入某个点AA的平面坐标(的平面坐标(的平面坐标(的平面坐标(x,y)x,y),判断(输出),判断(输出),判断(输出),判断(输出)AA点是在圆内、圆外还是在圆周上,点是在圆内、圆外还是在圆周上,点是在圆内、圆外还是在圆周上,点是在圆内、圆外还是在圆周上,其中圆心从标为其中圆心从标为

25、其中圆心从标为其中圆心从标为(2,2)(2,2),半径为,半径为,半径为,半径为11。7.7.输入年号和月份,输出这一年的该月的天数。输入年号和月份,输出这一年的该月的天数。输入年号和月份,输出这一年的该月的天数。输入年号和月份,输出这一年的该月的天数。(一个年份,先判断是否闰年一个年份,先判断是否闰年一个年份,先判断是否闰年一个年份,先判断是否闰年)8.8.输出输出输出输出9*99*9乘法表。乘法表。乘法表。乘法表。9.9.求爱因斯坦数学题。有一条长阶,若每步跨求爱因斯坦数学题。有一条长阶,若每步跨求爱因斯坦数学题。有一条长阶,若每步跨求爱因斯坦数学题。有一条长阶,若每步跨2 2阶,则最后剩

26、余阶,则最后剩余阶,则最后剩余阶,则最后剩余1 1阶;若每步跨阶;若每步跨阶;若每步跨阶;若每步跨3 3阶,阶,阶,阶,则最后剩则最后剩则最后剩则最后剩2 2阶;若每步跨阶;若每步跨阶;若每步跨阶;若每步跨5 5阶,则最后剩阶,则最后剩阶,则最后剩阶,则最后剩4 4阶;若每步跨阶;若每步跨阶;若每步跨阶;若每步跨6 6阶,则最后剩阶,则最后剩阶,则最后剩阶,则最后剩5 5阶;若每步跨阶;若每步跨阶;若每步跨阶;若每步跨7 7步,最后正好一阶不剩。步,最后正好一阶不剩。步,最后正好一阶不剩。步,最后正好一阶不剩。10.10.输入一串字符,直到输入一个星号(输入一串字符,直到输入一个星号(输入一串

27、字符,直到输入一个星号(输入一串字符,直到输入一个星号(*)为止,统计(输出)其中的字母个数和数)为止,统计(输出)其中的字母个数和数)为止,统计(输出)其中的字母个数和数)为止,统计(输出)其中的字母个数和数字字符个数。字字符个数。字字符个数。字字符个数。11.11.计算斐波那契分数序列前计算斐波那契分数序列前计算斐波那契分数序列前计算斐波那契分数序列前n n项之和项之和项之和项之和(n(n是某个常数是某个常数是某个常数是某个常数).().(2/1,3/2,5/3,8/5,13/8,21/13,.2/1,3/2,5/3,8/5,13/8,21/13,.前一项的分子作为后一项的分母。前一项前一

28、项的分子作为后一项的分母。前一项前一项的分子作为后一项的分母。前一项前一项的分子作为后一项的分母。前一项的分分母和作为后一项的分母。的分分母和作为后一项的分母。的分分母和作为后一项的分母。的分分母和作为后一项的分母。)。12.12.输入一个正整数,各输出输入一个正整数,各输出输入一个正整数,各输出输入一个正整数,各输出n n行的正行的正行的正行的正(倒倒倒倒)三角形宝塔图案三角形宝塔图案三角形宝塔图案三角形宝塔图案.信息信息与与物流管理系物流管理系13.13.输出输出输出输出3-n3-n之间的所有素数之间的所有素数之间的所有素数之间的所有素数(即质数即质数即质数即质数).).14.14.输入一

29、个正整数,判断其中各位数字是否奇偶数交替出现。是,输出输入一个正整数,判断其中各位数字是否奇偶数交替出现。是,输出输入一个正整数,判断其中各位数字是否奇偶数交替出现。是,输出输入一个正整数,判断其中各位数字是否奇偶数交替出现。是,输出YES,YES,不是不是不是不是输出输出输出输出NOTNOT。(例:例:例:例:21342134和和和和10381038都是奇偶数交替出现;而都是奇偶数交替出现;而都是奇偶数交替出现;而都是奇偶数交替出现;而2234522345不是不是不是不是.).)15.15.设某县设某县设某县设某县20002000年工业总产值为年工业总产值为年工业总产值为年工业总产值为200

30、200亿元,如果该县预计平均年工业总产值增长率为亿元,如果该县预计平均年工业总产值增长率为亿元,如果该县预计平均年工业总产值增长率为亿元,如果该县预计平均年工业总产值增长率为4.5%4.5%,那么多少年后该县年工业总产值将超,那么多少年后该县年工业总产值将超,那么多少年后该县年工业总产值将超,那么多少年后该县年工业总产值将超500500亿元亿元亿元亿元?16.16.输入一个三位数,判断是否是一个输入一个三位数,判断是否是一个输入一个三位数,判断是否是一个输入一个三位数,判断是否是一个“水仙花数水仙花数水仙花数水仙花数”。水仙花数是指三位数的各位数字。水仙花数是指三位数的各位数字。水仙花数是指三

31、位数的各位数字。水仙花数是指三位数的各位数字的立方和等于这个三位数本身。例如:的立方和等于这个三位数本身。例如:的立方和等于这个三位数本身。例如:的立方和等于这个三位数本身。例如:153=1*1*1+5*5*5+3*3*3153=1*1*1+5*5*5+3*3*317.17.输出输出输出输出1-9991-999中能被中能被中能被中能被3 3整除,而且到少有一位数字是整除,而且到少有一位数字是整除,而且到少有一位数字是整除,而且到少有一位数字是5 5的所有数字。的所有数字。的所有数字。的所有数字。18.18.一个整数等于该数所有因子之和,则称该数是一个完数。例如:一个整数等于该数所有因子之和,则

32、称该数是一个完数。例如:一个整数等于该数所有因子之和,则称该数是一个完数。例如:一个整数等于该数所有因子之和,则称该数是一个完数。例如:6 6和和和和2828都是完数。都是完数。都是完数。都是完数。因为因为因为因为:6=1+2+3,28=1+2+4+7+14.:6=1+2+3,28=1+2+4+7+14.输出三位数中所有完数。输出三位数中所有完数。输出三位数中所有完数。输出三位数中所有完数。19.19.将将将将100100分成分成分成分成4 4个数,第一个数加上个数,第一个数加上个数,第一个数加上个数,第一个数加上4 4,第二个数减去,第二个数减去,第二个数减去,第二个数减去4 4,第三个数乘

33、以,第三个数乘以,第三个数乘以,第三个数乘以4 4,第四个数,第四个数,第四个数,第四个数除以除以除以除以4 4,它们的和、差、积、商都相等,求这,它们的和、差、积、商都相等,求这,它们的和、差、积、商都相等,求这,它们的和、差、积、商都相等,求这4 4个数。个数。个数。个数。20.20.计算计算计算计算 s=2+22+222+2222s=2+22+222+2222。2121计算计算计算计算 2 2!+4!+6!+4!+6!。22.22.第一个数为第一个数为第一个数为第一个数为0 0,第二个数为,第二个数为,第二个数为,第二个数为1 1,第三个数为,第三个数为,第三个数为,第三个数为1 1,下面的数均是前三个数之和,求此数,下面的数均是前三个数之和,求此数,下面的数均是前三个数之和,求此数,下面的数均是前三个数之和,求此数列的前列的前列的前列的前2020项。项。项。项。23.23.输入输入输入输入5 5个数,求最大数和最小数。个数,求最大数和最小数。个数,求最大数和最小数。个数,求最大数和最小数。24.24.求求求求1000100099999999之间的回文数(如:之间的回文数(如:之间的回文数(如:之间的回文数(如:12211221,正、反读都是一个数)。,正、反读都是一个数)。,正、反读都是一个数)。,正、反读都是一个数)。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服