首页 > 其他分享 >c语言 循环 函数相关练习

c语言 循环 函数相关练习

时间:2023-03-16 09:56:31浏览次数:32  
标签:count arr 函数 int max 练习 循环 printf my

#include <stdio.h>

//1.求任意10个整数的最大数
int get_max_1(int arr[])
{
    int i = 0;
    int max = arr[0];
    for(i=1; i<10; i++)
    {
        if(max<arr[i])
        {
            max=arr[i];
        }
    }
    return max;
}

int get_max_2(int* arr)
{
    int i = 0;
    int max = *arr;
    for(i=1; i<10; i++)
    {
        if(max < *(arr+i))
        {
            max = *(arr+i);
        }
    }
    return max;
}

//2.求1/1-1/2+1/3-1/4+1/5...+1/99-1/100的值
double caculation(int n)
{
    double sum = 0.0;
    int i = 0;
    int flag = 1;
    for(i=1; i<=n; i++)
    {
        sum += flag*(1.0/i);
        flag = -flag;
    }
    return sum;
}

//3.实现九九乘法表
void multiplication_table()
{
    int i = 0;
    int j = 0;
    for(i=1;i<=9;i++) // line
    {
        for(j=1;j<=i;j++)
        {
            printf("%d*%d=%-2d ",i,j,i*j);
        }
        printf("\n");
    }
}


//4.编写程序数一下1-100的所有数中,出现多少个数字9?
int count_9()
{
    int counter = 0;
    int i = 0;
    for(i=1;i<=100;i++)
    {
        if(i%10 == 9)
        {
            counter++;
        }
        else if (i/10==9)
        {
            counter++;
        }
    }
    return counter;

}

//5. revert the adcdef string: abcdef-->fedcba
int my_strlen(char* arr)
{
    int count = 0;
    while(*arr != '\0')
    {
        count++;
        arr++;
    }
    return count;
}

//method-1
void revert_string_1(char* arr)
{
    int left = 0;
    int right = my_strlen(arr) - 1;
    while(left<right)
    {
        char temp = *(arr+left);
        *(arr+left) = *(arr+right);
        *(arr+right) = temp;
        left++;
        right--;
    }
}

//method-2: 递归实现
void revert_string_2(char * arr)
{
    char temp = *arr;
    int right = my_strlen(arr)-1;
    *arr = *(arr+right);
    *(arr+right) = '\0';
    if(my_strlen(arr)>1)
    {
        revert_string_2(arr+1);
    }
    *(arr+right) = temp;
}





void main()
{
    //1.
    int my_arr1[10]={-1,2,4,5,19,45,34,64,100,99};
    int max_val_1 = get_max_1(my_arr1);
    int max_val_2 = get_max_2(my_arr1);
    printf("The max value is %d\n", max_val_1);
    printf("The max value is %d\n", max_val_2);

    //2.
    double sum = caculation(100);
    printf("1/1-1/2+1/3...-1/100=%lf\n", sum);

    //3.
    multiplication_table();

    //4.
    int count = count_9();
    printf("\ncounter of 9 in 1-100 is %d\n", count);

    //5.
    char arr[] = "abcdef";
    revert_string_2(arr);
    printf("%s\n", arr);

}

 

标签:count,arr,函数,int,max,练习,循环,printf,my
From: https://www.cnblogs.com/ananmy/p/17221208.html

相关文章

  • pandas.DataFrame.sample和pandas.DataFrame.reset_index函数
    pandas.DataFrame.sample-从DataFrame或Series对象中随机取样DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None, ......
  • 字符串操作函数总结
    经过一段时间的学习,现在在这里写下这篇博客,以复习字符串操作函数首先我用软件画了一张图,这里面大概的介绍了字符串操作函数的用法,现在我们来详细的学习首先就是strtok函数首......
  • 递归函数
    递归函数目录递归函数1.什么是递归函数2、递归函数有啥优缺点3、通过实例来介绍函数递归:1.什么是递归函数​ 在函数内部,可以调用其他函数,如果一个函数在内部调用自......
  • c语言学习日志——练习
    T:实现一段字符串从两端逐个向中间移动。code:#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>intmain(){chararr1[]="Welcometo512";chara......
  • MSF练习 - 永恒之蓝
    永恒之蓝漏洞利用一、启动MSFmsfconsole┌──(root㉿kali)-[~]└─#msfconsole                          ......
  • R语言中的exp函数
     R语言中exp函数用于返回e的x次方。exp(2)##返回e的二次方2.718281828459*2.718281828459exp(3)##返回e的三次......
  • Java字符串基础练习题2(较难)
    ​生成验证码内容:可以是小写字母,也可以是大写字母,还可以是数字​规则: 长度为5 内容中是四位字母,1位数字。 其中数字只有1位,但是可以出现在任意的位置。publicstati......
  • C++ 构造函数和析构函数
    构造函数和析构函数目录页面问题构造函数与析构函数初始化列表转换构造拷贝构造(这种都是浅拷贝,每一项成员依次拷贝过去)默认的赋值运算符小的总结页面构造/......
  • QT5笔记: 8. QT的全局变量(基本数据类型、函数、宏)
    这个头文件中存放着QT类库的一些全局定义,一般Qt类的头文件会包含这个头文件:基本数据类型函数宏数据类型:保证跨平台时各数据类型长度统一函数定义(一些数......
  • Thefuzz中的函数
    extractWithoutOrderSelectthebestmatchinalistordictionaryofchoices.Findbestmatchesinalistordictionaryofchoices,returnageneratoroftupl......