1. 字符判断
输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”。
# include <stdio.h> int main() { char x; printf("请输入一个大写或小写字母或空格或0-9的整数:\n"); 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==32) { printf("space\n"); } else if(x>=48&&x<=57) { x=x-48; printf("%d",x); } else { printf("other\n"); } return 0; }
本次课知识点总结:
1.熟练运用字符型与整型之间的转换。
2.记住一些主要字符型数据所对应的数字。
实验总结:
1.字符型数据的表示方法,用单引号引起来。
2.输出时看清要求,是输出字符型还是整型。
2. 年龄问题
输入一个学生的生日(年:月:日),并输入当前日期(年:月:日),计算该生的实际年龄(周岁)。
# include <stdio.h> # include <stdlib.h> int main() { int year1,month1,day1,year2,month2,day2,a,b,c; printf("请输入你的生日,格式年:月:日:\n"); scanf("%d:%d:%d",&year1,&month1,&day1); if(month1>12||month1<1||month2>12||month2<1) { printf("输入数据错误!!!\n"); exit(0); } else if(month1==1||month1==3||month1==5||month1==7||month1==8||month1==10||month1==12) { if(day1>31||day1<1) { printf("输入数据错误!!!\n"); exit(0); } } else if(month1==4||month1==6||month1==9||month1==11) { if(day1>30||day1<1) { printf("输入数据错误!!!\n"); exit(0); } } else if(month1==2) { if((year1/4==0&&year1/100!=0)||year1/400==0) { if(day1>29||day1<1) { printf("输入数据错误!!!\n"); exit(0); } } else { if(day1>28||day1<1) { printf("输入数据错误"); exit(0); } } } printf("请输入今天的日期,格式年:月:日\n"); scanf("%d:%d:%d",&year2,&month2,&day2); if(month2==1||month2==3||month2==5||month2==7||month2==8||month2==10||month2==12) { if(day2>31||day2<1) { printf("输入数据错误!!!\n"); exit(0); } } else if(month2==4||month2==6||month2==9||month2==11) { if(day2>30||day2<1) { printf("输入数据错误!!!\n"); exit(0); } } else if(month2==2) { if((year2/4==0&&year2/100!=0)||year2/400==0) { if(day2>29||day2<1) { printf("输入数据错误!!!\n"); exit(0); } } else { if(day2>28||day2<1) { printf("输入数据错误!!!\n"); exit(0); } } } a=year2-year1; b=month2-month1; c=day2-day1; if((a<0)||(a==0&&b<0)||(a==0&&b==0&&c<0)) { printf("输入数据错误!!!\n"); exit(0); } else { if(b<0) { a=a-1; printf("你现在%d周岁了\n",a); } else if(b==0) { if(c<0) { a=a-1; printf("你现在%d周岁了\n",a); } else { printf("你现在%d周岁了\n",a); } } else { printf("今天你%d周岁了\n",a); } } return 0; }
本次课知识点总结:
1.引入了强制输出,# include <stdlib.h> exit(0); 。
2.使用if else 连环嵌套。
实验总结:
1.输入一次数据就立刻判断一次,最好不要两次都输入完了在判断输入数据是否错误。
2.熟记闰年的判断方式。
3. 判断三角形类型
输入三个整数,判断由其构成的三角形的类型(等边三角形、等腰三角形、等腰直角三角形、直角三角形、一般三角形以及非三角形)
# include <stdio.h> int main() { int x,y,z; printf("请输入三角形的三条边长,数字类型为整数:\n"); scanf("%d,%d,%d",&x,&y,&z); if((x+y<=z||x+z<=y)||y+z<=x) { printf("非三角形\n"); } else { if((x==y||x==z)||y==z) { if((x==y&&x==z)&&y==z) { printf("该三角形为等边三角形\n"); } else { if((x*x+y*y==z*z||x*x+z*z==y*y)||y*y+z*z==x*x) { printf("该三角形为等腰直角三角形\n"); } else { printf("该三角形为等腰三角形\n"); } } } else { if((x*x+y*y==z*z||x*x+z*z==y*y)||y*y+z*z==x*x) { printf("该三角形为直角三角形\n"); } else { printf("该三角形为普通三角形\n"); } } } return 0; }
本次课知识点总结:
1.if else 连环嵌套。
2.有关三角形的基础知识要知道。
实验总结:
1.在等腰的基础上判断等边,只等腰不等边时在分是否是直角。
2.逻辑关系要理清楚。
4. 看商品猜价格小游戏
# include <stdio.h> # include <stdlib.h> # include <time.h> int main() { int a,b; printf("你猜这个商品的价格是多少(1-100之间):\n"); scanf("%d",&a); srand(time(NULL)); b=rand()%100+1; if(a==b) { printf("恭喜!商品归你了\n"); } else if(a<b) { printf("太小了,价格是%d\n",b); } else { printf("太大了,价格是%d\n",b); } return 0; }
本次课知识点总结:
1.系统输出1-100随机数# include <stdlib.h> b=rand()%100+1;
2.让随机数不停的变化# include <time.h> srand(time(NULL));
实验总结:
1.让随机数不停变化需要加入# include <time.h> srand(time(NULL));
2.让随机在1-100需在 b=rand()%100后面在加个1.
附加题:虫子吃苹果问题(完成此题加1分)
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
输入n,x和y(均为整数),输出剩下的苹果个数。
测试数据: 10 4 9
5 3 16
# include <stdio.h> int main() { int n,x,y,z,f; printf("你买了一箱n个苹果,箱子里有一只虫子,虫子x小时吃掉一个苹果,y小时后还剩多少苹果,请输入n,x,y(n,x,y均为正整数):\n"); scanf("%d,%d,%d",&n,&x,&y); f=n-(y/x); if(n<=0||x<=0) { printf("输入错误!!!\n"); } else if(f<=0) { printf("剩余0个苹果\n"); } else { if((double)y/x>y/x) { z=n-(y/x)-1; printf("剩余%d个苹果\n",z); } else { z=n-(y/x); printf("剩余%d个苹果\n",z); } } return 0; }
本次课知识点总结:
1.使用浮点型数据。
实验总结:
1.当y/x为小数时让y/x+1。