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即可控制奇数项和偶数项。

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

目录
相关文章
|
8月前
|
人工智能 算法 Java
|
9月前
|
C语言 数据安全/隐私保护
C语言练习题
C语言练习题
56 1
|
9月前
|
C语言
C语言练习题 温度自动转换‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪
C语言练习题 温度自动转换‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪
|
9月前
|
存储 C语言
C语言从入门到实战——数组和指针的强化练习题
C语言中指针和数组有着密切的关系,因为数组名在C语言中可以看作是一个指针常量。 指针是一个变量,存储的是另一个变量的地址。可以通过指针来访问另一个变量的值。指针变量可以存储任何类型的地址,包括数组的地址。 数组是一组相同类型的数据元素的集合。在C语言中,可以用数组名来表示整个数组,在这个意义上,数组名看起来像一个指针变量。实际上,数组名在C语言中可以看作是一个指向数组首元素的指针常量。
82 0
|
9月前
|
C语言
C语言练习题
C语言练习题
40 0
|
9月前
|
C语言
c语言编程练习题:7-60 Welcome to You!
c语言编程练习题:7-60 Welcome to You!
95 0
|
9月前
|
C语言
c语言编程练习题:7-59 打印菱形图案
c语言编程练习题:7-59 打印菱形图案
92 0
|
9月前
|
C语言
c语言编程练习题:7-58 求幂级数展开的部分和
c语言编程练习题:7-58 求幂级数展开的部分和
86 0
|
9月前
|
C语言
c语言编程练习题:7-57 求e的近似值
c语言编程练习题:7-57 求e的近似值
90 0
|
9月前
|
C语言
c语言编程练习题:7-56 求给定精度的简单交错序列部分和
c语言编程练习题:7-56 求给定精度的简单交错序列部分和
110 0

热门文章

最新文章