C语言homework2,有一个逆序打印数字的小算法

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

 

你可能感兴趣的:(c)