//本博主所写的代码仅为阅读者提供参考;
//若有不足之处请提出,博主会尽所能修改;
//附上课后编程练习题目;
//若是对您有用的话请点赞或分享提供给它人;
//6.16 - 1.c
#include <stdio.h>
#define LEN 26
int main(void)
{
int n;
char letters[LEN];
for (n = 0; n < LEN; n++)
{
letters[n] = 'a' + n;
}
printf("Here are %d letters:\n", LEN);
for (n = 0; n < LEN; n++)
{
printf("%-3c", letters[n]);
}
return 0;
}
//-------------
//6.16 - 2.c
#include <stdio.h>
#define N 5
int main(void)
{
int i, j;
for (i = 1; i <= N; i++)
{
for (j = 1; j <= i; j++)
{
printf("$");
}
printf("\n");
}
return 0;
}
//-------------
//6.16 - 3.c
#include <stdio.h>
#define N 6
int main(void)
{
int i, j;
for (i = 1; i <= N; i++)
{
for (j = 0; j < i; j++)
{
printf("%c", 'F' - j);
}
printf("\n");
}
return 0;
}
//-------------
//6.16 - 4.c
#include <stdio.h>
#define N 6
int main(void)
{
int i, j;
char ch = 'A';
for (i = 1; i <= N; i++)
{
for (j = 1; j <= i; j++)
{
printf("%c", ch++);
}
printf("\n");
}
return 0;
}
//-------------
//6.16 - 5.c
#include <stdio.h>
int main(void)
{
int i, j;
char ch;
printf("Please enter a upper letter: ");
scanf("%c", &ch);
int length = ch - 'A';
//循环次数;
printf("The pyramid of %c is:\n", ch);
for (i = 0; i <= length; i++)
{
char t = 'A' - 1;
for (j = 0; j < length - i; j++)
{
printf(" ");
}
//↑左侧空格数;
for (j = 0; j <= i; j++)
{
printf("%c", ++t);
}
//↑打印递增字母;
for (j = 0; j < i; j++)
{
printf("%c", --t);
}
//↑打印递减字母
printf("\n");
}
return 0;
}
//-------------
//6.16 - 6.c
#include <stdio.h>
int main(void)
{
int i, upper, lower;
printf("Please input the upper limits: ");
scanf("%d", &upper);
printf("Please input the lower limits: ");
scanf("%d", &lower);
printf("%-10s%-10s%-10s\n", "number", "square", "cube");
for (i = lower; i <= upper; i++)
{
printf("%-10d%-10d%-10d\n", i, i * i, i * i * i);
}
printf("Done.\n");
return 0;
}
//-------------
//6.16 - 7.c
#include <stdio.h>
#include <string.h>
#define LEN 20
int main(void)
{
int i;
char str[LEN];
printf("Please enter a word: ");
scanf("%19s", str);
printf("The word is:\n");
printf("%s\n", str);
printf("Reversing the word is:\n");
for (i = strlen(str) - 1; i >= 0; i--)
{
printf("%c", str[i]);
}
return 0;
}
//-------------
//6.16 - 8.c
#include <stdio.h>
int main(void)
{
double i, j;
printf("Please enter two numbers (q to quit): ");
while (scanf("%lf %lf", &i, &j) == 2)
{
printf("(%g - %g) / (%g * %g)", i, j, i, j);
printf(" = %g\n", (i - j) / (i * j));
printf("You can enter again (q to quit): ");
}
printf("Done.\n");
return 0;
}
//-------------
//6.16 - 9.c
#include <stdio.h>
double cal(double n, double k);
int main(void)
{
double i, j;
printf("Please enter two numbers (q to quit): ");
while (scanf("%lf %lf", &i, &j) == 2)
{
printf("(%g - %g) / (%g * %g)", i, j, i, j);
printf(" = %g\n", cal(i, j));
printf("You can enter again (q to quit): ");
}
printf("Done.\n");
return 0;
}
double cal(double n, double k)
{
return (n - k) / (n * k);
}
//-------------
//6.16 - 10.c
#include <stdio.h>
int main(void)
{
int upp, low, i;
printf("Enter lower and upper integer limits: ");
while ((scanf("%d %d", &low, &upp) == 2) && (upp > low))
{
int sum = 0;
for (i = low; i <= upp; i++)
{
sum += i * i;
}
printf("The sums of the squares ");
printf("from %d to %d is %d\n", low * low, upp * upp, sum);
printf("Enter next set of limits: ");
}
printf("Done\n");
return 0;
}
//-------------
//6.16 - 11.c
#include <stdio.h>
#define N 8
int main(void)
{
int i, a[N];
printf("Please enter 8 numbers:\n", N);
for (i = 0; i < N; i++)
{
scanf("%d", &a[i]);
}
printf("Reverse order printing 8 numbers:\n", N);
for (i = N - 1; i >= 0; i--)
{
printf("%-3d", a[i]);
}
return 0;
}
//-------------
//6.16 - 12.c
#include <stdio.h>
int main(void)
{
int i, n;
printf("Please enter a number (<= 0 to quit): ");
while ((scanf("%d", &n) == 1) && (n > 0))
{
double res1 = 0.0;
double res2 = 0.0;
for (i = 1; i <= n; i++)
{
res1 += 1.0 / i;
if (i % 2 == 1)
{
res2 += 1.0 / i;
}
else
{
res2 -= 1.0 / i;
}
}
printf("1.0 + 1.0/2.0 + 1.0/3.0 + 1.0/4.0 + ...");
printf("sum are %g\n", n, res1);
printf("1.0 - 1.0/2.0 + 1.0/3.0 - 1.0/4.0 + ...");
printf("sum are %g\n", n, res2);
printf("The sum of the first %d items of the two sequences is %g\n", n, res1 + res2);
printf("\nYou can enter again (<= 0 to quit): ");
}
printf("Done.\n");
return 0;
}
//-------------
//6.16 - 13.c
#include <stdio.h>
#define N 8
int main(void)
{
int a[N], i;
int val = 2;
for (i = 0; i < N; i++)
{
a[i] = val;
val *= 2;
}
i = 0;
printf("Here are the results for array:\n", N);
do
{
printf("%d ", a[i++]);
} while (i < N);
printf("\nDone.\n");
return 0;
}
//-------------
//6.16 - 14.c
#include <stdio.h>
#define N 8
int main(void)
{
int i;
double a[N], b[N];
printf("Please enter %d numbers:\n", N);
for (i = 0; i < N; i++)
{
scanf("%lf", &a[i]);
}
b[0] = a[0];
for (i = 1; i < N; i++)
{
b[i] = a[i] + b[i - 1];
}
printf("Here are the results for array a:\n");
for (i = 0; i < N; i++)
{
printf("%-3g", a[i]);
}
printf("\nHere are the results for array b:\n");
for (i = 0; i < N; i++)
{
printf("%-3g", b[i]);
}
printf("\nDone.\n");
return 0;
}
//-------------
//6.16 - 15.c
#include <stdio.h>
#define LEN 255
int main(void)
{
int i = 0;
char input[LEN];
printf("Please enter a string:\n");
do
{
scanf("%c", &input[i]);
} while (input[i] != '\n' && ++i && i < LEN);
printf("Reversing print the string is:\n");
for (i--; i >= 0; i--)
{
//↑避免打印换行符;
printf("%c", input[i]);
}
printf("\nDone.\n");
return 0;
}
//-------------
//6.16 - 16.c
#include <stdio.h>
#define RATE_SIMP 0.10
#define RATE_COMP 0.05
#define INIT_AMT 100.0
int main(void)
{
int years = 0;
double daphne = INIT_AMT;
double deirdre = INIT_AMT;
do
{
daphne += RATE_SIMP * INIT_AMT;
deirdre += RATE_COMP * deirdre;
years++;
} while (deirdre < daphne);
printf("Investment values after %d years:\n", years);
printf("Daphne: $%.2f\n", daphne);
printf("Deirdre: $%.2f\n", deirdre);
printf("Deirdre(invest) > Daphne(invest)\n");
return 0;
}
//-------------
//6.16 - 17.c
#include <stdio.h>
#define TAX 0.08
int main(void)
{
int i = 0;
double Chuckie = 100.0;
do
{
i++;
Chuckie += Chuckie * TAX;
Chuckie -= 10;
printf("(%d)account:%g.\n", i, Chuckie);
} while (Chuckie > 9);
//↑若余额低于9则不够下一年支取;
printf("After %d years:\n", ++i);
printf("Chuckie has taken all of the money!\n");
return 0;
}
//-------------
//6.16 - 18.c
#include <stdio.h>
int main(void)
{
int i = 1;
int friends = 5;
while (friends < 150)
{
printf("At %d weeks, Rabnud has", i);
printf("%4d friends.\n", friends);
friends = 2 * (friends - i++);
}
printf("At %d weeks, over Dunbar's number(150).\n", i);
return 0;
}
//-------------
//----------------------------2020年4月3日 -------------------------------