算法与程序设计课程作业

上传人:liy****000 文档编号:115659271 上传时间:2019-11-14 格式:DOCX 页数:14 大小:131.14KB
返回 下载 相关 举报
算法与程序设计课程作业_第1页
第1页 / 共14页
算法与程序设计课程作业_第2页
第2页 / 共14页
算法与程序设计课程作业_第3页
第3页 / 共14页
算法与程序设计课程作业_第4页
第4页 / 共14页
算法与程序设计课程作业_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《算法与程序设计课程作业》由会员分享,可在线阅读,更多相关《算法与程序设计课程作业(14页珍藏版)》请在金锄头文库上搜索。

1、算法与程序设计课程作业1. 键入一个字母,判断其大小写,如果是小写,输出大写,否则输出小写,如果输入的不是字母,输出“Enter error!”。代码:#includemain()printf(Please type a letter:n);char a;scanf(%c,&a);if(a=65&a=90&a=122)printf(%cn,a-32);elseprintf(Enter error!n);运行结果:输入大写字母:输入小写字母:输入非字母:2. 写程序,求键盘输入的形式为:xopy的算术表达式的值。其中:x,y是整数op是一个算术运算符。代码:#include#includemai

2、n()printf(请以整数 运算符 整数的形式输入表达式n);int a,b;float y;char op;scanf(%d%c%d,&a,&op,&b);switch(op)case+:y = a+b;break;case-:y = a-b;break;case*:y = a*b;break;case/:y = a*pow(b,-1);break;default:printf(%c不是合法的四则运算符n,op);break;printf(=%.2fn,y);运行结果:加法运算结果:减法运算结果:乘法运算结果:除法运算结果:错误输入运算结果:3. 键盘输入三个整数,判断此三数是否能作为三角

3、形的三个边长,若能,进一步判断能够成什么三角形,若不能,输出“不能构成三角形”。代码:#includemain()float a,b,c;scanf(%f%f%f,&a,&b,&c);if(a+bc&b+ca&a+cb)printf(可以构成);if(a=b&b=c)printf(等边);elseif(a=b|a=c|b=c)printf(等腰);if(abs(a*a+b*b-c*c)0.0001|abs(a*a+c*c-b*b)0.0001|abs(b*b+c*c-a*a)0.0001)printf(直角);else printf(不能构成);printf(三角形n);运行结果:普通三角形结

4、果:等边三角形结果:等腰三角形结果:直角三角形结果:等腰直角三角形结果:不能构成三角形结果:4. 键盘输入一个无符号整数,求各个位的数之和。代码:#include#includemain()int len(long a); /声明“测位数”函数int che(long a,int k); /声明“取数a的第k位数值”函数 long a;int l,k=1,ans=0; printf(请输入一个无符号整数n);scanf(%ld,&a);l = len(a); /测量该数的位数printf(该数共有%d位n,l);do /求各个位数和 ans+=che(a,k);k+;while(k0)b*=1

5、0,l+;return l; int che(long a,int k) /定义“取数a的第k位数值”函数int x,r;r = pow(10,k);(int)(r);x = (a%r-a%(r/10)/(r/10); /求第k位数 return x;运行结果:5.键盘输入一个日期(年月日),输出该日期是该年第几天。代码:#includemain()int year,mon,day,date=0,i=0;int month13=0,31,28,31,30,31,30,31,31,30,31,30,31;printf(请按照 年 月 日 格式输入一个日期n);doscanf(%d%d%d,&ye

6、ar,&mon,&day); if(year%400=0|(year%4=0&year%100!=0) /判断该年是否为闰年 month2=29;if(mon12|daymonthmon|day=0|mon*year=0)/判断输入日期是否合法 printf(输入日期或格式有误,请重新输入n);continue;break;while(1); doi+;date = date + monthi;while(imon-1);date = date + day;printf(该日期是该年的第%d天n,date);运行结果:错误输入结果:正常输入,平、闰年结果对比:(以3月1日为例,右图为闰年) 6

7、.键盘输入一个给出一个百分制成绩,输出对应等级,60分一下为E等,以10分逐级递增,分别为D、C、B、A。代码:#includemain()int sc,t;printf(请输入百分制成绩:n);doscanf(%d,&sc);if(sc100)printf(亲你输入的分儿冒了(*o*) 重新搞一下哦n); continue;break;while(1);t = sc/10;switch(t)case 0:case 1:case 2:case 3:case 4:case 5:printf(En);break;case 6:printf(Dn);break;case 7:printf(Cn);b

8、reak;case 8:printf(Bn);break;case 9:case 10:printf(An);break;default:break;运行结果:正常输入结果:异常输入结果:6. 键盘输入一个不多于5位的数,判断他是几位的。输出每一位,倒序输出。代码:#include#includemain()int len(long a);int che(long a,int k); /声明两个函数int x;printf(请输入一个不高于5位的整数:n);scanf(%d,&x);if(x=100000)printf(亲原则上是不能超过5位的哦);printf(您输入的是一个%d位数n它们分

9、别是:n,len(x);int i;for(i=1;i=1;j-)printf(%5d,che(x,j);int len(long a) /“测位数”函数int l=0,b=1;while(a/b0)b*=10,l+;return l; int che(long a,int k)/“取数a的第k位数值”函数int x,r;r = pow(10,k);(int)(r);x = (a%r-a%(r/10)/(r/10);/求第k位数 return x;运行结果:正常运行结果:超位运行结果:7. 有4个圆塔,圆心分别为(-2,2)、(-2,-2,)、(2,-2)、(2,2),半径都是1,塔高都是10,塔以外没有建筑物。今输入任意一点的坐标,求该点的地势高度。代码:#include#includemain()float ab(float c);/声明“实数取绝对值”函数float x,y,r;printf(请以 x,y 的格式输入一个坐标值n我将告诉你你所处的地势。n);scanf(%f,%f,&x,&y);r = sqrt(pow(ab(x)-2,2)+pow(ab(y)-2,2);if(r=0)x = c;elsex = -c;return x;运行结果:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 其它考试类文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号