本文适用于大学的期中期末考试、专升本(专接本、专插本)考试、408等考研预科。如有相关题目疑问或建议欢迎在评论区进行互动。
转载请标明出处。
在这里我们将列出一些关于三种基本结构的课后练习题,方便大家理解记忆。
点击题目上方标题,即可跳转至解析。
编写一个程序,计算并输出一个非负整数的阶乘。
编写一个程序,实现一个累加器,直到用户输入的数字为止。
编写一个程序,从用户输入的一系列整数中查找最大值。
打印乘法表(1到10)。
编写一个程序,计算用户输入的一系列整数的平均数。
以下为题目答案及解析:
第一道题:
#include <stdio.h> int main() { int n, i; unsigned long long factorial = 1; printf("Enter a non-negative integer: "); scanf("%d", &n); for(i = 1; i <= n; ++i) { factorial *= i; } printf("Factorial of %d = %llu\n", n, factorial); return 0; }
其中unsigned long long类型是目前C语言中精度最高的数据类型,占用8个字节(64位),它的取值范围是从 0 到 18,446,744,073,709,551,615。在程序设计中,如果需要存储非常大的正整数(比如计算超长的阶乘、处理大型数据等),就可以选用 unsigned long long 来存储,以避免溢出问题。
第二道题:
#include <stdio.h> int main() { int n, sum = 0; printf("Enter a positive integer: "); scanf("%d", &n); while(n > 0) { sum += n; --n; } printf("Sum from 1 to %d is %d\n", n + 1, sum); return 0; }
第三道题:
#include <stdio.h> int main() { int n, max; printf("Enter an integer (negative to stop): "); scanf("%d", &max); while(1) { printf("Enter an integer (negative to stop): "); scanf("%d", &n); if(n < 0) break; if(n > max) max = n; } printf("The maximum number is %d\n", max); return 0; }
第四道题:
#include <stdio.h> int main() { int i, j; for(i = 1; i <= 10; ++i) { for(j = 1; j <= 10; ++j) { printf("%d*%d=%2d ", i, j, i*j); } printf("\n"); } return 0; }
第五道题:
#include <stdio.h> int main() { int n, count = 0, sum = 0; float average; printf("Enter integers (negative to stop): "); scanf("%d", &n); while(n >= 0) { sum += n; count++; scanf("%d", &n); } average = (float)sum / count; printf("Average of entered integers: %.2f\n", average); return 0; }
《衡庐浅析·C语言程序设计·第三章·三种基本结构(练习题一)》部分到这里就结束了,请及时用习题巩固所学知识,也欢迎大家在评论区进行互动!