第六章
1.找出用户输入的最大数
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float n, max = 0.00f;
printf("Command: 0 = print max \n\n ");
for (;n > 0;)
{
printf("Enter a number: ");
scanf("%f", &n);
if (n > max)
{
max = n;
}
}
printf("The largest number entered is %f", max);
system("pause");
return 0;
}
2.输入两个整数,找出最大公约数(GCD)
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a, b;
int remainder, GCD;
printf("Enter two integers: ");
scanf("%d %d", &a, &b);
for (;b > 0;)
{
remainder = a % b;
a = b;
b = remainder;
}
GCD = a;
printf("GCD is : %d", GCD);
system("pause");
return 0;
}
3.输入分数,并显示最简分数
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a, b;
int remainder, GCD;
printf("Enter a fraction:");
scanf("%d/%d", &a, &b);
int x, y;
x = a;
y = b;
for (;b > 0;)
{
remainder = a % b;
a = b;
b = remainder;
}
GCD = a;
int m, n;
m = x / GCD;
n = y / GCD;
printf("In lowest terms: %d/%d", m, n);
system("pause");
return 0;
}
5.逆序的一般化
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x, a, b;
printf("Enter a number :");
scanf("%d", &x);
printf("The reversal is:");
do
{
a = x % 10;
x /= 10;
printf("%d", a);
} while (x != 0);
system("pause");
return 0;
}
6.显示所有偶数平方值
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n, i;
printf("Enter a number: ");
scanf("%d", &n);
for (i = 2; i * i < n; i += 2 )
{
printf("%d \n", i * i);
}
system("pause");
return 0;
}
7.显示平方表
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n;
printf("This program prints a table of squares \n");
printf("Enter a number of entries in table : ");
scanf("%d", &n);
int square, i;
for (i = 1; i<= n; i ++)
{
square = i * i;
printf("%10d%10d \n", i, square);
}
system("pause");
return 0;
}
8.显示该月日历
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int days, n;
printf("Enter number of days in month: ");
scanf("%d", &n);
printf("Enter starting day of the week(1=Sun. 7=Sat.): ");
scanf("%d", &days);
int i = 0;
switch (days)
{
case 1:
do
{
i ++;
printf("%2d ", i);
if((i + days - 1) % 7 == 0)
{
printf("\n");
}
} while (i < n);
break;
case 2:
do
{
i ++;
if(i == 1)
{
printf("%5d ", i);
}
else
printf("%2d ", i);
if((i + days - 1) % 7 == 0)
{
printf("\n");
}
} while (i < n);
break;
case 3:
do
{
i ++;
if(i == 1)
{
printf("%8d ", i);
}
else
printf("%2d ", i);
if((i + days - 1) % 7 == 0)
{
printf("\n");
}
} while (i < n);
break;
case 4:
do
{
i ++;
if(i == 1)
{
printf("%11d ", i);
}
else
printf("%2d ", i);
if((i + days - 1) % 7 == 0)
{
printf("\n");
}
} while (i < n);
break;
case 5:
do
{
i ++;
if(i == 1)
{
printf("%14d ", i);
}
else
printf("%2d ", i);
if((i + days - 1) % 7 == 0)
{
printf("\n");
}
} while (i < n);
break;
case 6:
do
{
i ++;
if(i == 1)
{
printf("%17d ", i);
}
else
printf("%2d ", i);
if((i + days - 1) % 7 == 0)
{
printf("\n");
}
} while (i < n);
break;
case 7:
do
{
i ++;
if(i == 1)
{
printf("%20d ", i);
}
else
printf("%2d ", i);
if((i + days - 1) % 7 == 0)
{
printf("\n");
}
} while (i < n);
break;
}
printf("\n");
system("pause");
return 0;
}
9.还贷
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float loan, rate, payment;
printf("Enter amount of loan: ");
scanf("%f", &loan);
printf("Enter interest rate: ");
scanf("%f", &rate);
printf("Enter monthly payment: ");
scanf("%f", &payment);
int n;
printf("Enter your payment times: ");
scanf("%d", &n);
float balance1, balance2, balance3;
float monthly_rate = rate / 100.00f / 12;
int i;
float balance;
balance = loan - payment + loan * monthly_rate;
for (i = 1;i < n;)
{
if (i == 1)
{
printf("Balance remaining after %d payment: %.2f \n", i, balance);
}
i ++;
balance = balance - payment + balance * monthly_rate;
printf("Balance remaining after %d payment: %.2f \n", i, balance);
}
system("pause");
return 0;
}
10.比较最早日期
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("Order: 0/0/0=exit \n\n");
int mm, dd, yy;
int min1, min2, min3;
int sum, min;
min = 99 * 365 + 31 * 12 + 31;
for (;;)
{
printf("Enter first date (mm/dd/yy): ");
scanf("%d/%d/%d", &mm, &dd, &yy);
sum = yy * 365 + mm * 30 + dd;
if (min > sum&&sum != 0)
{
min = sum;
min3 = yy;
min1 = mm;
min2 = dd;
}
if (sum == 0)
{
break;
}
}
printf("%02d/%02d/%02d is the eariest date \n", min1, min2, min3);
system("pause");
return 0;
}
11.计算e(自然对数)的近似值
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, n;
double x = 1, e = 1;
printf("Enter a number: ");
scanf("%d", &n);
for (i = 1;i < n;i ++)
{
x = x * i;
e += 1 / x;
}
printf("e = %.16lf", e);
system("pause");
return 0;
}
12.接11,
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, n;
double x = 1, e = 1;
printf("Enter a number: ");
scanf("%d", &n);
float stop;
printf("Enter a small number to terminate: ");
scanf("%f", &stop);
for (i = 1;i < n;i ++)
{
x = x * i;
e += 1 / x;
if (e >= stop)
{
break;
}
}
printf("e = %.16lf", e);
system("pause");
return 0;
}