#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;
}