#h1#
0、完成课堂例子
1、将一个四位数逆序打印
1234 ==> 4321
实现方法一:
# include <stdio.h> int main(void) { int i = 1234; int one = i%10; int two = i / 10 % 10; int three = i / 100 % 10; int four = i / 1000 % 10; printf("%d%d%d%d\n",one, two, three, four); return 0; }
实现方法二:小算法实现
# include <stdio.h> int main(void) { int val; int sum = 0; printf("请输入您需要倒转的数字:\n"); scanf("%d", &val); while (val) { sum = sum * 10 + val%10; val /= 10; } printf("%d\n", sum); return 0; }
2、输入一个整数,判断这个数是几位数。
提示: if
假设:这个数不会超过9999.
# include <stdio.h> int main(void) { int num; printf("请输入一个数字 "); scanf("%d", &num); if ( num/1000 > 0 ) printf("%d 是一个4位数\n", num); else if ( num/100 > 0 ) printf("%d 是一个3位数\n", num); else if ( num/10 > 0 ) printf("%d 是一个2位数\n", num); else printf("%d 是一个1位数\n", num); return 0; }
3、输入一个秒数,如8542秒, 输出成xx:xx:xx
135 ==> 00:02:15
# include <stdio.h> int main(void) { int num; int hour; int minute; int second; printf("请输入一个秒数 "); scanf("%d", &num); hour = num / 3600; minute = num%3600 / 60; second = num%3600 % 60; if ( hour>0 ) { if (hour/10>0) printf("%d:", hour); else printf("0%d:", hour); } else printf("00:"); if ( minute > 0 ) { if (minute/10>0) printf("%d:", minute); else printf("0%d:", minute); } else printf("00:"); if ( second > 0 ) { if (second/10>0) printf("%d:", second); else printf("0%d:", second); } else printf("00"); return 0; }
4、春节回家,如果你的月薪在1W及以上,就座飞机,如果在5K及以上,座高铁,如果在3K及以上,座绿皮或大巴,如果在1.5K以上,骑车回家,否则,走路回家。
请输入月薪,程序输出怎么回家。
# include <stdio.h> int main(void) { int salary; printf("请输入你的月薪:\n"); scanf("%d", &salary); if ( salary>10000 ) printf("春节我可以坐飞机回家\n"); else if ( salary>5000 ) printf("春节我可以坐高铁回家\n"); else if ( salary> 3000 ) printf("春节我可以坐绿皮或大巴\n"); else if ( salary>1500 ) printf("春节我只能骑车回家了\n"); else printf("春节我只能走路回家了\n"); return 0; }
5、从键盘输入月工资总额,五险一金的总额,请计算本月应该缴的个人所得税:
起征额:3500
应纳税所得额: 工资总额 - 起征点 - 五险一金
<1500 3%
1500~4500 10%
4500~9000 20%
9000~35000 25%
35000~55000 30%
55000~80000 35%
>80000 45%
10000 - 1800 - 3500 = 4700 = 1500 + 3000 + 200
1500 * 0.03 + 3000 * 0.1 + 200 * 0.2 = 385
# include <stdio.h> int main(void) { int salary; int insure; int start = 3500; int must; int result; printf("请输入您的月薪总额和王险一金的总额,中间用空格分开:"); scanf("%d %d", &salary, &insure); //求出应纳税所得额 must = salary - start - insure; //result = must>1500 ? 1500*0.03 : must*0.03; if ( must>1500 ) result = 1500 * 0.03; else result = must * 0.03; if ( must>4500 ) result += 3000 * 0.1; else result += (must-1500) * 0.1; if ( must>9000 ) result += 4500 * 0.2; else result += (must-4500) * 0.2; printf("%d", result); return 0; }