谭浩强版课后习题
#include<cstdio>
#include<cmath>
#include<cstring>
int main() {
return 0;
}
//3
//4
int Max(int a,int b,int c) {
return max(max(a, b), c);
}
//5
void Sqrt(int num) {
if (num >= 0 && num <= 1000) {
printf("%d", sqrt(num));
}
else printf("W");
}
//8
void Grade(int num) {
if (num >= 90) {
printf("A");
break;
}
else if (num >= 80) {
printf("B");
break;
}
else if (num >= 70) {
printf("C");
break;
}
else if (num >= 60) {
printf("D");
break;
}
else printf("E");
}
//10
double income1(double x) {
double sum = 0;
if (x > 1000000) {
sum = (x - 1000000)*0.01 + 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015;
return sum;
}
if (x > 600000) {
sum = (x - 600000)*0.015 + 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03;
}
if (x > 400000) {
sum = (x - 400000)*0.03 + 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05;
}
if (x > 200000) {
sum = (x - 200000)*0.05 + 100000 * 0.1 + 100000 * 0.075;
return sum;
}
if (x > 100000) {
sum = (x - 100000)*0.075 + 100000 * 0.1;
return sum;
}
return x * 0.1;
}
int income2(int x) {
double sum = 0;
int c = 0;
if (x > 1000000)c = 1;
else if (x > 600000)c = 2;
else if (x > 400000)c = 3;
else if (x > 200000)c = 4;
else if (x > 100000)c = 5;
switch (c)
{
case 1:
sum += (1000000 - 600000)*0.015;
case 2:
sum += (600000 - 400000)*0.03;
case 3:
sum += (400000 - 200000)*0.05;
case 4:
sum += (200000 - 100000)*0.075;
case 5:
sum += 100000*0.01;
deflaut:
break;
}
switch (c)
{
case 1:
printf("%lf/n", sum + ((x-1000000)*0.01) );
break;
case 2:
printf("%lf/n", sum + ((x - 600000)*0.015) );
break;
case 3:
printf("%lf/n", sum + ((x - 400000)*0.03));
break;
case 4:
printf("%lf/n", sum + ((x - 200000)*0.05));
break;
case 5:
printf("%lf/n", sum + ((x - 100000)*0.075));
break;
deflaut:
printf("%lf/n", sum + (x*0.1));
break;
}
}
//3
int gcd (int a, int b) {
return (b>0) ? gcd(b, a%b) : a;
}
//4
char s[105];
void Count() {
scanf("%s",&s);
int len = strlen(s);
int eng = kon = num = oth = 0;
for (int i = 0; i < len; i++) {
if (s[i] == ' ') kon++;
else if ( (s[i] <= 'z' && s[i] >= 'a') || (s[i] <= 'Z' && s[i] >= 'A') eng++;
else if (s[i] <= '9' && s[i] >= '0')) num++;
else oth++;
}
printf("%d%d%d%d%d", eng, kon, num, oth);
}
//5
void Factorial() {
int i = 1,sum = 0,cur = 1;
while (i <= 20) {
cur *= i++;
sum += cur;
}
printf("%d", sum);
}
//8
void Narcissistic() {
int i, j, k, n;
for (n = 100 ; n < 999 ; n++){
i = n / 100;
j = n / 10 % 10;
k = n % 10;
if (n == i*i*i + j*j*j + k*k*k){
printf("%d\n", n);
}
}
//printf("153 370 371 407\n");
}