c语言16

58 阅读2分钟

最大公约数

#include <stdio.h>
int gcd(int m,int n)
{
    if (n == 0)
        return m;
    else
        return gcd(n,m%n);
}
int main()
{
    int a,b;
    printf("请输入2个数");
    scanf("%d %d",&a,&b);
    printf("最大公约数是%d",gcd(a,b));
    return 0;
}

函数理论

  1. 形参(定义函数时()中的参数)就是函数内部定义的变量
  2. 实参(调用函数时()中的值)传递给形参就是赋值
#include<stdio.h>
void f(int x){
    x = 100;
    printf("%d", x);
}

int main(){
    int x = 10;
    printf("%d", x);
    f(x);
    printf("%d", x);
    
}

最终输出结果为10 100 10 3. 全局变量:定义在函数外面,多个函数共用

#include <stdio.h> 
int x = 10;
void f(){
    x = 100;
    printf("%d\n", x);
}
int main(){
    printf("%d\n", x);
    f(x);
    printf("%d\n", x);
    return 0

最终输出结果为10 100 100

#include <stdio.h> //head
int x = 10;
void f(int x){
    x = 100;
    printf("%d\n", x);
}
int main(){
    printf("%d\n", x);
    f(x);
    printf("%d\n", x);
    return 0 ;
}

最终输出结果为10 100 10

time函数

  1. 形式:time(NULL),任何函数都可以使用

随机函数

<stdlib.h> srand(种子) rand() 获取随机数 1-100的随机数:rand()%100+1

  1. 种子一定,随机数一定,所以种子需要变化(time函数很适合)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
    printf("当前时间戳%d\n",time(NULL));
    end:srand(time(NULL));
    int num=rand()%100+1;
    printf("猜字游戏\n");
    int n=0;
    int i=0;
    while(1){
        printf("请输入一个1-100的整数,输入0退出:");
        scanf("%d",&n);
        i++;
        if(n>100||n<0){
            printf("?nt,输入1-100的数\n");
        }else if(n==0){
            printf("退出游戏\n");
            break;
        }else if(n<num){
            printf("猜小了\n");
        }else if(n==num){
            printf("恭喜猜对了\n");
            printf("你一共猜了%d次\n",i);
            goto end;
        }else if(n>num){
            printf("猜大了\n");
        }
    }
    ```