C语言的一些简单练习题(上)

简介: C语言的一些简单练习题(上)

简单练习题

1.获得4个最大数,请帮他编程找到最大的数。

输入描述:

一行,4个整数,用空格分开。

输出描述:

一行,一个整数,为输入的4个整数中最大的整数。

#include <stdio.h>
int main()
{
    int arr[4] = {0};
    int i = 0;
    for(i=0; i<4; i++)
    {
        scanf("%d", &arr[i]);
    }
    //假设
    int max = arr[0];
    for(i=1; i<4; i++)
    {
        if(arr[i]> max)
        {
            max = arr[i];
        }
    }
    printf("%d\n", max);
    return 0;
}

首先,思路就是定义一个长度为4的数组用于存放输入的值,用一个for循环来实现输入按顺序存放到数组中,后我们假设最大值是max,把数组中第一个值给max,之后用for循环比较后三个和第一个值也就是max的大小,如果比max大,就把后面的值赋予给max,最后打印max即可。

我们在第二个for循环中其实也可以用三目运算符,来把大的值赋予给max。

先简单介绍一下三目运算符:

三目运算符(也称为条件运算符)是一个用来简化条件语句的运算符。它的语法形式如下:

条件表达式 ? 表达式1 : 表达式2;

这个运算符由三个部分组成,其中条件表达式可以是任何返回一个布尔值(非零即真)的表达式。如果条件为真,则执行表达式1并返回其值作为整个表达式的结果;如果条件为假,则执行表达式2并返回其值作为整个表达式的结果。

接下来我们用三目运算符来把大的值赋予给max

#include <stdio.h>
int main()
{
    int arr[4] = { 0 };
    for (int i = 0; i < 4; i++)
    {
        scanf("%d", &arr[i]);
    }
    //假设
    int max = arr[0];
    for (int i = 1; i < 4; i++)
    {
        max = (max > arr[i]) ? max : arr[i];
    }
    printf("%d\n", max);
    return 0;
}

这样只需要每次用三目运算符和后三个值比较即可;简化了代码,看起来更简洁。

两次运行结果是一致的:

2.分数求和

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果。

法一:

#include<stdio.h>
int main()
{
  int i = 1;
  int j = 2;
  double sum1 = 0.0;
  double sum2 = 0.0;
  while (i <= 100)
  {
    sum1 = 1.0 / i + sum1;
    i = i + 2;
  }
  while (j <= 100)
  {
    sum2 = 1.0 / j + sum2;
    j = j + 2;
  }
  printf("%lf", sum1 - sum2);
  return 0;
}

在这里我们可以看出来分母为奇数项时,都是加在一起,偶数项时,都是减在一起。

那首先第一种最简单的思路就是把奇数项和偶数项分开后加在一起,最后用奇数项的和减去偶数项的和,思路是最容易想到的。

法二:

#include<stdio.h>
int main()
{
  int i = 0;
  double sum = 0.0;
  int flag = 1;
  for (i = 1; i <= 100; i++)
  {
    sum = flag * 1.0 / i + sum;
    flag = -flag;
  }
  printf("%lf", sum);
  return 0;
}

第二种思路就是我们可以设置一个flag来调整奇数项和偶数项的正负号;那么我们只需要第一次设置的flag是1,再每次循环中求完和后让flag乘上一个-1即可控制奇数项和偶数项。

两种方式的运行结果都是一致的

目录
相关文章
|
6月前
|
C语言
C语言练习题
C语言练习题
32 0
|
6月前
|
C语言
c语言编程练习题:7-50 输出华氏-摄氏温度转换表
c语言编程练习题:7-50 输出华氏-摄氏温度转换表
77 0
|
6月前
|
C语言
c语言编程练习题:7-49 Have Fun with Numbers
c语言编程练习题:7-49 Have Fun with Numbers
63 0
|
6月前
|
C语言
c语言编程练习题:7-46 爬动的蠕虫
c语言编程练习题:7-46 爬动的蠕虫
61 0
|
6月前
|
C语言
C语言练习题 温度自动转换‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪
C语言练习题 温度自动转换‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪
|
6月前
|
C语言 数据安全/隐私保护
C语言练习题
C语言练习题
43 1
|
5月前
|
人工智能 算法 Java
|
6月前
|
C语言
c语言编程练习题:7-60 Welcome to You!
c语言编程练习题:7-60 Welcome to You!
74 0
|
6月前
|
C语言
c语言编程练习题:7-52 求简单交错序列前N项和
c语言编程练习题:7-52 求简单交错序列前N项和
60 0
|
6月前
|
C语言
c语言编程练习题:7-51 求奇数分之一序列前N项和
c语言编程练习题:7-51 求奇数分之一序列前N项和
68 0