标签:输出 判断 rand 年龄 lib main 字符 三角形 开始
1.字符判断
#include<stdio.h> int main () { char a; printf("输入一个字符:"); scanf("%c",&a); if(a>=‘A‘&&a<‘Z‘) { a=a-32; printf("%c",a); } else if (a>=‘a‘&&a<=‘z‘) { a=a+32; printf("%c",a); } else if(a>=‘0‘&&a<=‘9‘) { printf("%c",a); } else if(a==‘ ‘) { printf("space"); } else { printf("other"); } return 0; }
2.年龄问题
#include <stdio.h> int main() { int a,b,c,d,e,f,m,n; printf("请输入生日,中间用,隔开"); scanf("%d,%d,%d",&a,&b,&c); printf("请输入今天的日期,中间用,隔开"); scanf("%d,%d,%d",&d,&e,&f); m=d-a; n=m-1; if(e>b&&f>c) { printf("你今年%d岁了",m); } else { printf("你今年%d岁了",n); } return 0; }
3 判断三角形类型
#include <stdio.h> int main() { int a,b,c; printf("请输入三个整数"); scanf("%d,%d,%d",&a,&b,&c); if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b) { if(a==b&&b!=c||a==c&&b!=c||b==c&&a!=b) { printf("这是一个等腰直角三角形"); } else { printf("这是一个直角三角形"); } } else if(a==b&&b==c) { printf("这是一个等边三角形"); } else if(a==b&&b!=c||a==c&&b!=c||b==c&&a!=b) { printf("这是一个等腰三角形"); } else if(a+b>=c&&a+c>=b&&b+c>=a) { printf("这是一个一般三角形"); } else { printf("这个不是三角形"); } return 0; }
4 看商品猜价格小游戏
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int a,b; srand(time(NULL)); printf("猜猜商品的价格"); scanf("%d",&a); b=rand()%100; if(a==b) { printf("猜对了哦!实际价格为%d",b); } else if(a>b) { printf("猜大了哦!实际价格为%d",b); } else { printf("猜小了哦!实际价格为%d\n",b); } return 0; }
实验总结:输入字符型数据时,变量要用char型,第一次写用的int,后来改成了char但是输出和输入数字那一步都写得%d而不是%c。没有意识到一个数字也是一个字符。
三角形问题。判断三角形的条件开始不全。比如我输入一个3 3 3。应该输出一个等边三角形但是输出的却是一个等腰三角形那是因为在等腰三角形那一步只看了两边相等但没有其他一边和这两边不相等。所以输入等边时输出的是等腰。猜价格的这个问题,开始只写了猜大了猜小了,但是没有输出实际价格,但实际价格又随着时间变所以不太好看。后面加上了。
知识点总结:如果判断两个实数相等不要忘记在程序开始要有文件包括命令include<math.h>
“%c”输入时,空格字符和转义字符作为有效字符收入。
解决方案:在“%c”前加一个空格,忽略缓冲区内的空白字符(空格,回车,tab键)
标签:输出 判断 rand 年龄 lib main 字符 三角形 开始
原文地址:http://www.cnblogs.com/gangfeng/p/5988615.html