衡庐浅析·C语言程序设计·第三章·三种基本结构(练习题一)

       本文适用于大学的期中期末考试、专升本(专接本、专插本)考试、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语言程序设计·第三章·三种基本结构(练习题一)》部分到这里就结束了,请及时用习题巩固所学知识,也欢迎大家在评论区进行互动! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值