1、关系运算
== 相等
!=不相等
关系运算的结果:1(关系成立) 0(关系不成立)
2、找零计算器
#includeint main() { int price= 0; int bill= 0; printf("请输入金额:"); scanf("%d",&price); printf("请输入票面:"); scanf("%d",&bill); if (bill>=price) { printf("应该找您:%dn",bill-price); } else printf("还差%d元n",price-bill); return 0; }
输出结果:
请输入金额:30 请输入票面:20 还差10元 请按任意键继续. . .
if只要求()里的值是零或非零
3、多路分支(switch-case)
#includeint main() { int type = 0; scanf("%d",&type); switch(type) { case 1: printf("早上好n"); break; case 2: printf("中午好n"); break; case 3: printf("晚上好n"); break; default: printf("你好n"); } return 0; }
type只能是int类型的
如果没有break,就会顺序执行到下面的case去,直到遇到一个break或者switch结束为止。
4、循环
- 数位数(while)
#includeint main() { int x; int n = 0;//默认数字0也是1位数,所以n最小为1 printf("请输入一个数字:"); scanf("%d",&x); n++; x /=10; //此时x是1位数,必须划掉一位继续判断 while(x>0) { n++; x /= 10;//相当于把数字最右一位划掉 } printf("这个数字是%d位n",n); return 0; }
运行结果:
请输入一个数字:123456 这个数字是6位 请按任意键继续. . .
while循环体内要有出循环的条件,否则会形成死循环
- 计算log2x
#includeint main() { int x; int ret = 0;//计数 int t;//计算之前先保存原始的值 scanf("%d",&x); t = x; while(x>1){ x /= 2; ret++; } printf("log2 of %d is %dn",t,ret); return 0; }
- 猜数游戏
思路:
计算机随机产生一个数,记到number里面
定义一个负责记次数的变量conunt初始化为0
用户输入一个数字a
conunt递增
判断a和number的大小,a大就输出大,a小就输出小
如果不相等循环执行
循环终止条件---a==number 并输出猜中和次数,结束
#include#include #include int main() { int number; int a; int count = 0; srand(time(0)); number = rand()%100+1;//随机函数 使用rand()函数产生1-100以内的随机整数 //x%n的结果是[0,n-1]的一个整数 printf("我己经想好一个1-100的数字了.n"); do{ printf("请输入一个数字:"); scanf("%d",&a); count++; if(a>number) { printf("你猜的数大了。n"); } else if(a
- 算平均数
思路:用户每输入一个数就把他与前面的数进行累加,每读取一个数就加进来,只保留前n项和以及读取数字的个数,直到读到-1结束读取并计算平均数。
#include#include #include int main() { int number; int sum=0; int count=0; scanf("%d",&number); while(number!=-1) { sum += number; count++;//读进来数字的个数 scanf("%d",&number); } printf("平均数为:%fn",1.0*sum/count); return 0; }
- 整数逆序
#includeint main() { int x; int digit; int ret = 0; scanf("%d",&x); while(x>0) { digit = x%10; //printf("%dn",digit);//取出最右一位 ret =ret*10+digit;//结果左移一位加digit //printf("x = %d,digit = %d,ret = %dn",x,digit,ret); x /= 10; } printf("%dn",ret); return 0; }



