作业三
Posted 门天宇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了作业三相关的知识,希望对你有一定的参考价值。
作业三
1. 字符判断:输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”。
#include<stdio.h> int main() { char x; scanf("%c",&x); if(x>=\'a\'&&x<=\'z\') { x=x-32; printf("%c\\n",x); } else if(x>=\'A\'&&x<=\'Z\') { x=x+32; printf("%c\\n",x); } else if(x>=\'0\'&&x<=\'9\') { printf("%c\\n",x); } else if(x==\' \') { printf("space\\n"); } else { printf("other\\n"); } return 0; }
2. 年龄问题:输入一个学生的生日(年:月:日),并输入当前日期(年:月:日),计算该生的实际年龄(周岁)。
#include<stdio.h> int main() { int a,b,c,d,e,f,g,h,i,j; printf("输入你的生日\\n"); scanf("%d,%d,%d",&a,&b,&c); if ((a<=0)||(b<=0||b>12)||(c<=0||c>31)) {printf ("输入错误\\n");} if(((a%4==0&&a%100!=0)||(a%400==0))&&(b==2)) {if(c>=30) {printf("输入错误\\n");} } else if((a%4!=0)&&(b==2)) {if(c>=29) {printf ("输入错误\\n");} } printf ("输入今天的日期年月日用逗号分开\\n"); scanf ("%d,%d,%d",&d,&e,&f); if ((d<=0)||(e<=0||e>12)||(f<=0||f>31)) {printf ("输入错误\\n");} if(((d%4==0&&d%100!=0)||(d%400==0))&&(e==2)) {if(f>=30) {printf("输入错误\\n");} } else if((d%4!=0)&&(e==2)) {if(f>=29) {printf ("输入错误\\n");} } g=d-a; h=e-b; i=f-c; j=g-1; if(g==0) { printf("你的周岁是%d岁\\n",g); } else if(g>0) { if(h>0) {printf("你的周岁是%d岁\\n",g);} else if(h>0&&i>=0&&h>=0) {printf("你的周岁是%d岁\\n",g);} else if(h==0&&i>=0) {printf("你的周岁是%d岁\\n",g);} else if(h==0&&i<0) {printf("你的周岁是%d岁\\n",j);} else if(h<0) {printf("你的周岁是%d岁\\n",j);} } else { printf("输入错误\\n"); } return 0; }
3. 判断三角形类型:输入三个整数,判断由其构成的三角形的类型(等边三角形、等腰三角形、等腰直角三角形、直角三角形、一般三角形以及非三角形)。
#include<stdio.h> int main() { int a,b,c; printf("输入三条边长\\n"); scanf("%d,%d,%d",&a,&b,&c); if(a+b<=c||a+c<=b||b+c<=a) {printf("这不是三角形\\n");} else { if(a==b||a==c||b==c) {if(a==b&a==c&b==c) {printf("这是等边三角形\\n");} else {if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) {printf("这是等腰直角三角形\\n");} else {printf("这是等腰三角形\\n");} } } else{ if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) {printf("这是直角三角形\\n");} else {printf("这是一般三角形\\n");} } } return 0; }
4. 看商品猜价格小游戏。
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int a,b; printf("请输入价格\\n"); srand(time(NULL)); scanf("%d",&b); a=rand()%100+1; if(a==b) { printf("价格相等,商品是你的\\n"); } else if(a>b) { printf("价格错误了,你猜的太小了,价格是%d元。\\n",a); } else { printf("价格错误了,你猜的太大了,价格是%d元。\\n",a); } return 0; }
5.你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?输入n,x和y(均为整数),输出剩下的苹果个数。
#include<stdio.h> int main() { int a,n,x,y; printf("输入你买的苹果数,还有虫子吃的速度,和小时。\\n"); scanf("%d,%d,%d",&n,&x,&y); if(n<=0||x<=0||y<=0) { printf("输入数据错误,请重新输入。\\n"); } else if(n<=y/x) { printf("都被虫子吃光了,你没有苹果啦\\n"); } else if((double)y/x>y/x) { a=n-y/x-1; printf("你还有%d个整苹果\\n",a); } else { a=n-y/x; printf("你还有%d个整苹果\\n",a); } return 0; }
二、本次课知识点总结:
1.if后边记得括号,并且以else结束,别加if。
2.符号常量要用“char”,注意%c与%d的区别,有符号常量时注意单引号的使用。
3.别忘记#include<time.h>和srand(time(NULL)),这样才能做到随机。
4.注意double的使用。
三、实验总结(实验中遇到的问题及解决方法)
1.不输出数据:printf后边忘记加常量,等号只使用了一个,错误加上&。
2.输出错误:语法逻辑问题,要注意对齐。
3.需要小数判断:记得加double。
4.输出随机数据时要加上#include<time.h>。
5.除法是“/”而不是“\\”。
以上是关于作业三的主要内容,如果未能解决你的问题,请参考以下文章
日常Geetest滑动验证码(三代canvas版)处理小结(以B站登录验证为例)
Android 逆向加壳技术简介 ( 动态加载 | 第一代加壳技术 - DEX 整体加固 | 第二代加壳技术 - 函数抽取 | 第三代加壳技术 - VMP / Dex2C | 动态库加壳技术 )