第三次作业
一、实验内容
1. 字符判断
输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”。
#include<stdio.h> int main() { char c; printf("输入一个字符\n"); scanf("%c",&c); if(c>='A'&&c<='Z') { c=c+32; printf("%c\n",c); } else if(c>='a'&&c<='z') { c=c-32; printf("%c\n",c); } else if(c>=48&&c<=57) { printf("%c\n",c); } else if(c==32) { printf("space"); } else { printf("other"); } return 0; }
2. 年龄问题
输入一个学生的生日(年:月:日),并输入当前日期(年:月:日),计算该生的实际年龄(周岁)。
#include<stdio.h> int main() { int a,b,c; int d,e,f; int g; printf("请输入学生的生日,逗号分开\n"); scanf("%d,%d,%d",&a,&b,&c); printf("请输入当前日期,逗号分开\n"); scanf("%d,%d,%d",&d,&e,&f); if((b==e&&c<=f)||b<e) { g=d-a; printf("%d",g); } else if(b==e&&c>f) { g=d-a-1; printf("%d",g); } else { g=d-a-1; printf("%d",g); } return 0; }
3. 判断三角形类型
输入三个整数,判断由其构成的三角形的类型(等边三角形、等腰三角形、等腰直角三角形、直角三角形、一般三角形以及非三角形)
#include<stdio.h> #include<math.h> int main() { int a,b,c; printf("请输入三个整数\n"); scanf("%d%d%d",&a,&b,&c); if(a+b<=c||(fabs(a-b))>c) { printf("非三角形\n"); } else if(a==b&&b==c&&a==c) { printf("等边三角形\n"); } else if((a==b&&a*a+b*b==c*c)||(a==c&&a*a+c*c==b*b)||c==b&&c*c+b*b==a*a) { printf("等腰直角三角形\n"); } else if((a==b&&a*a+b*b!=c*c)||(a==c&&a*a+c*c!=b*b)||c==b&&c*c+b*b!=a*a) { printf("等腰三角形\n"); } else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||c*c+b*b==a*a) { printf("直角三角形"); } else { printf("一般三角形\n"); } return 0; }
4. 看商品猜价格小游戏
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int a,b; printf("请输入价格,价格为[1,100]\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; }
二、本次课知识点总结
1. 变量名用小写字母表示,符号常量和自定义类型名是用大写字母表示。
2.char:字符型 int:整型。
3.字符串常量由双引号括起来的一串字符序列, 字符量用单引号标起来。
4.“输出列表”指明了要输出的数据,数据之间用逗号分开,输出数据的个数与格式字符的个数一致。
5.#include<time.h>读取系统时间的库文件
6.rand()产生随机数
三、实验总结(实验中遇到的问题及解决方法)
在第二题当中,思路不明确,总是搞混生日与日期的大小关系。应该分三种情况,1.月份相同,并且当前号数大于生日 或者当前月份直接大于生日就是过了生日 所以是直接相减 2:月份相同,生日大于当前号数,就没有过生日,需要相减再减一 3其他情况我生日大于当前日期 所以我生日没过 所以减1.