#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
void dem_fun(void)
{
float a, b, c;
scanf_s("%f,%f,%f", &a, &b, &c);
if (a > b)
{
swap_num(&a, &b);
}
if (a > c)
{
swap_num(&a, &c);
}
if (b > c)
{
swap_num(&b, &c);
}
printf("%5.2f,%5.2f,%5.2f\n", a, b, c);
}
void swap_num(float* a, float* b)
{
float temp; //
temp = *a; //指针a指向temp
*a = *b; // 指针b指向指针a
*b = temp;
}
//Eg 4.8
void is_leapYear(void)
{
int year, leap;
//leap = 1 闰年
printf("输入年份:");
scanf_s("%d", &year);
if (year % 4 == 0) // 能够被4整除
{
if (year % 100 == 0) // 能够被4整除且能被100整除
{
if (year % 400 == 0) // 能够被4整除且且能被100整除同时能够被400整除
{
leap = 1;
}
else // 但不能被400整除
{
leap = 0;
}
}
else // 能4整除不能被100整除
{
leap = 1;
}
}
if (leap)
{
printf("%d是闰年!", year);
}
else
{
printf("%d不是闰年!", year);
}
}
//Eg 4.10
void transfee_Cal(float distance)
{
int level;
float dis, prices;
level = distance / 250;
switch (level)
{
default:dis = 12;
case 0:dis = 0; break;
case 1:dis = 2; break;
case 2:
case 3:dis = 5; break;
case 4:
case 5:
case 6:
case 7:dis = 8; break;
case 8:
case 9:
case 10:
case 11:dis = 10; break;
case 12:dis = 15; break;
}
prices = 100 * (1 - dis / 100) * 20 * 300;
printf("prices:%.2f", prices);
}
//4.4
void max_Print(void)
{
int num1, num2, num3, max;
scanf_s("%d%d%d", &num1, &num2, &num3);
if (num1 >= num2 && num1 >= num3)
{
max = num1;
}
if (num2 >= num1 && num2 >= num3)
{
max = num2;
}
if (num3 >= num1 && num3 >= num2)
{
max = num3;
}
}
//4.5
void sqrt_Printf(void)
{
int number=10000,root;
if (number > 1000)
printf("输入错误!");
root = sqrt(number);
}
//4.6
void numbers(int x)
{
int result;
if (x < 1)
{
result = x;
}
else //大于等于1
{
if (x < 10)
{
result = 2 * x + 1;
}
else //大于等于10
{
result = 3 * x + 11;
}
}
}
// 4.8
void grade_Leve(int grd)
{
switch (grd/10)
{
default:if (grd == 100)printf("level A"); else printf("error"); break;
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:printf("level E"); break;
case 6:printf("level D"); break;
case 7:printf("level C"); break;
case 8:printf("level B"); break;
case 9:printf("level A"); break;
}
}
//4.9
void judge_Number(void)
{
long number;
printf("please input a number :");
scanf_s("%d", &number);
// 取某一位
// number/1000 --千位
// number/100 --百位
// number/10 --十位
// number%10 --个位
if (number <= 99999)
{
if (number <= 9999 && number >= 1000)
{
printf("Sequential output: %d %d %d %d\n", number / 1000, number % 1000 / 100, number%1000%100 / 10, number % 10);
printf("Reverse order output: %d %d %d %d\n", number % 10, number % 1000 % 100 / 10, number % 1000 / 100, number / 1000);
printf("number is %d", 4);
}
else if (number <= 999 && number >= 100)
{
printf("Sequential output: %d %d %d\n", number / 100, number % 100 / 10, number % 100 % 10);
printf("Reverse order output: %d %d %d\n", number % 100 % 10, number % 100 / 10, number / 100);
printf("number is %d", 3);
}
else if (number <= 99 && number >= 10)
{
printf("Sequential output: %d %d\n", number / 10, number % 10);
printf("Reverse order output: %d %d\n", number % 10, number / 10);
printf("number is %d", 2);
}
else //(number <= 9 && number >= 0)
{
printf("Sequential output: %d\n",number);
printf("Reverse order output: %d\n", number);
printf("number is %d", 1);
}
}
}
//4.10
void reward_Cal(double grade)
{
double reward;
if (grade <= 1e5)
{
reward = grade * 0.1;
printf("The reward is %.2f\n", reward);
}
else if (1e5 < grade && grade <= 2e5)
{
reward = (grade - 1e5) * 0.075 + 1e5 * 0.1;
printf("The reward is %.2f\n", reward);
}
else if(2e5<grade && grade<=4e5)
{
reward = (grade-2e5) * 0.050 + 2e5 * 0.075 + 1e5 * 0.1;
printf("The reward is %.2f\n", reward);
}
else if (4e5 < grade && grade <= 6e5)
{
reward = (grade-4e5) * 0.030 + 4e5 * 0.050 + 2e5 * 0.075 + 1e5 * 0.1;
printf("The reward is %.2f\n", reward);
}
else if (6e5 < grade && grade <= 10e5)
{
reward = (grade-6e5) * 0.015 + 6e5 * 0.030 + 4e5 * 0.050 + 2e5 * 0.075 + 1e5 * 0.1;
printf("The reward is %.2f\n", reward);
}
else
{
reward = grade * 0.010;
printf("The reward is %.2f\n", reward);
}
}
//4.10-2
//4.11
void suence_4Nums()
{
int i, j;
float a[4],temp;
scanf_s("%f%f%f%f",a,a+1,a+2,a+3);
for (i = 0; i <3; i++)
{
for (j = 0; j < 3-i; j++)
{
if (a[j] <= a[j + 1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for (i = 0; i < 4; i++)
{
printf("%.2f\n", a[i]);
}
}
//4.12
void tower_Height(void)
{
float x;
float y;
int height;
scanf_s("%f%f", &x, &y);
printf("%f %f\n", x, y);
if (((x+2.0)*(x+2.0)+(y-2.0)*(y-2.0)) <= 1.0 || ((x - 2.0) * (x - 2.0) + (y - 2.0) * (y - 2.0) <= 1.0) || ((x + 2.0) * (x + 2.0) + (y + 2.0) * (y + 2.0)) <= 1.0 || ((x - 2.0) * (x - 2.0) + (y + 2.0) * (y + 2.0) <= 1.0))
{
height = 10;
}
else
{
height = 0;
}
printf("The height of tower is %d m\n", height);
}