1. 字符判断
输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”。
#include <stdio.h> void main() { char ch1, ch2; printf("请输入一个字符\n"); ch1=getchar(); if(ch1>='A'&&ch1<='Z') { ch2=ch1+32; printf("%c\n",ch2); } else if(ch1>='a'&&ch1<='z') { ch2=ch1-32; printf("%c\n",ch2); } else if(ch1>='0'&&ch1<='9') { ch1=ch1; printf("%c\n",ch1); } else if(ch1==' ') { printf("space\n"); } else { printf("other\n"); } }
总结:1.理解如何大写小写字母如何转换 因为大写小写字母ASCII码值相差32
2.注意‘ ’代表的才是常量
2. 年龄问题
输入一个学生的生日(年:月:日),并输入当前日期(年:月:日),计算该生的实际年龄(周岁)。
#include <stdio.h> void 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\n",g); } else if(b==e&&c>f) { g=d-a-1; printf("%d\n",g); } else { g=d-a-1; printf("%d\n",g); } }
总结:1.要细心注意%d对应的地址
2.注意输出的是周岁 同一年中没到生日的时候要减去一岁
3. 判断三角形类型
输入三个整数,判断由其构成的三角形的类型(等边三角形、等腰三角形、等腰直角三角形、直角三角形、一般三角形以及非三角形)
#include <stdio.h> void main() { int a,b,c; printf("请输入三个整数\n"); scanf("%d%d%d",&a,&b,&c); if(a+b<c||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("直角三角形\n"); } else { printf("一般三角形\n"); } }
总结:1.要注意判断三角形的条件用C语言如何表示
2. 等于不是=(赋值) ==是(等于)
4. 看商品猜价格小游戏
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int a,b; srand(time(NULL)); b=rand()%100+1; printf("请输入一个数字\n"); scanf("%d",&a); if(a>b) { printf("你输入的数字太大了\n"); } else if(a<b) { printf("你输入的数字太小了\n"); } else { printf("你猜对了\n"); } printf("这个数字是%d\n",b); return 0; }
总结:1.编程的时候要条理清楚 注意谁是随机数 谁是输出的数
2.要注意【1,100】之间的数是b=rand()%100+1;不要忘记+1
附加题:虫子吃苹果问题(完成此题加1分)
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
输入n,x和y(均为整数),输出剩下的苹果个数。
测试数据: 10 4 9
5 3 16
#include<stdio.h> int main() { int n,x,y,z; printf("请输入你们的苹果个数\n"); scanf("%d%d%d",&n,&x,&y); if(x<=0||y<=0||n<=0) { printf("error\n"); } else if(n<=y/x) { printf("你没有苹果了\n"); } else if((float)y/x>y/x) { z=n-y/x-1; printf("剩下的苹果为%d\n",z); } else { z=n-y/x; printf("剩下的苹果为%d\n",z); } return 0; }
总结:要注意y/x不一定是整数,要注意进行强制转换
知识点:1.大小写字母的值相差32
2.rand()%100+1才是[1,100]之间数
3.=是赋值 ==是相等
4.随机数要用#include<time.h>函数