c语言学习笔记

42 阅读1分钟

练习:输入两个整数,输出两数及之间的素数

#include<stdio.h>
int f1(int n){
    int i=2;
    while(i<n){
        int m =n%i;
        if(m==0){
            return 0;
        }
        i++;
    }
    return 1;
}
void f2(int n,int m){ 
    for(;n<=m;n++){
        if(f1(n)){
            printf("%d\n",n);
        }
    }   
}
int main(){
    int n,m;
    scanf("%d %d",&n,&m);
    f2(n,m);
    return 0;
}

练习:计算BMI值(注:输入小数时如使用double则要用%fl,使用float则用%f)

#include<stdio.h>
double f1(double a,double b){
    double c=a/(b*b);
    return c;
}
int main(){
    double a,b;
    scanf("%lf %lf",&a,&b);
    printf("%f",f1(a,b));
}

练习:求和

#include<stdio.h>
int f1(int n, int m){
    int a= 0;
    for(;n<=m;n++){
       a+=n;
    }
    return a;
}
int main(){
    int a,b;
    scanf("%d %d",&a,&b);
    printf("%d",f1(a,b));
    return 0;
}

练习:输出斐波拉契数列第n项

法1

#include<stdio.h>
int f1(int n){
    int i=1,j=1,a=0,k=1;
    if(n<=2){
        return 1;
    }
        for(;k<=n-2;k++){
            a=(i+j);
            j=i;
            i=a;
        }
    return a;
}
int main(){
    int n;
    scanf("%d",&n);
    printf("%d",f1(n));
    return 0;
}

法2

#include<stdio.h>
int f1(int n){
    if(n<=2){
        return 1;
    }
    return f1(n-1)+f1(n-2);
}
int main(){
    int n;
    scanf("%d",&n);
    printf("%d",f1(n));
    return 0;
}

调用代码库里的函数。网站zh.cppreference.com

#include<名称>

示例:

1 math.h

sqrt():开方

pow():求几次方

ceil():向上取等

floor():向下取等

abs():绝对值

#include<stdio.h>
#include<math.h>
int main(){
    int n=pow(2,5);
    printf("%d",n);
    return 0;
}