作业3
1. 字符判断
输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”。
#include<stdio.h> int main() { char c1; printf("请输入一个字符"); scanf("%c",&c1); if(c1>=97&&c1<=122) { c1=c1-32; printf("%c",c1); } else if(c1>=65&&c1<=90) { c1=c1+32; printf("%c",c1); } else if(c1>=48&&c1<=57) { printf("%c",c1); } else if(c1==32) { printf("space"); } else { printf("other"); } return 0; }
2. 年龄问题
输入一个学生的生日(年:月:日),并输入当前日期(年:月:日),计算该生的实际年龄(周岁)。
#include<stdio.h> int main() { int a,b,c,d,e,f,g; printf("请输入今天的日期"); scanf("%d,%d,%d",&a,&b,&c); printf("请输入你的生日"); scanf("%d,%d,%d",&d,&e,&f); if(b>e) { g=a-d; } else if(b<e) { g=a-d-1; } else if(b==e) { if(c>=f) { g=a-d; } else if(c>f) { g=a-d-1; } } printf("你今年%d周岁了",g); return 0; }
3. 判断三角形类型
输入三个整数,判断由其构成的三角形的类型(等边三角形、等腰三角形、等腰直角三角形、直角三角形、一般三角形以及非三角形)
#include<stdio.h> int main() { int a,b,c,t; printf("请输入三角形的三边"); scanf("%d%d%d",&a,&b,&c); if(a+b>c||b-a<c) { if(a==b) { if(b==c) { printf("等边三角形"); } else { printf("等腰三角形"); } } else if(a*a+b*b==c*c) { printf("直角三角形"); } else if((a==b)||(a*a+b*b==c*c)) { printf("等腰直角三角形"); } else { printf("一般三角形"); } } else if(a+b<=c&&b-a>=c) { printf("非三角形"); } return 0; }
4. 看商品猜价格小游戏
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int a,b; srand(time(NULL)); a=rand()%100; printf("请输入你猜的价格"); scanf("%d",&b); if(a==b) { printf("商品归你了"); } else if(a>b) { printf("太小了,实际价格为%d",a); } else if(a<b) { printf("太大了,实际价格为%d",a); } return 0; }
附加题:虫子吃苹果问题
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
输入n,x和y(均为整数),输出剩下的苹果个数。
测试数据: 10 4 9
5 3 16
#include<stdio.h> int main() { int a,n,y; float x; printf("请输入一箱中的苹果数"); scanf("%d",&n); printf("请输入虫子吃掉一个苹果的时间"); scanf("%f",&x); printf("请输入过了多长时间"); scanf("%d",&y); a=n-y/x; printf("还剩下%d个苹果",a); return 0; }
实验总结:注意每个语句后面加分号,注意变量的对应,赋值为=,相等为==。注意英式的,和汉语式的,的区别。不要忘记最后的return 0;字符型数据可以以数字的形式输出。
知识点总结:if语句的嵌套,用系统时间作为随机种子,英文大小写的转换:利用ASCII码值。注意&&与||的区别。写代码时要有条理。
在“%c”前加一个空格,忽略缓冲区内的空白字符。