NBU 水水更健康 (二)

本文提供了多个C语言编程实例,包括字符和数字统计、条件判断、循环操作、数学计算等功能,适合初学者练习掌握基本语法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:唉,刚考完物理,只求30分T=T

字母个数统计

#include<stdio.h>
#include <string.h>
void main()
{
    char x[1000];
    int y,i,sum=0;
    gets(x);
    y=strlen(x);
    for(i=0;i<=y;i++)
    {
        if(x[i]>='a'&&x[i]<='z'||x[i]>='A'&&x[i]<='Z')
            sum++;
    }
        printf("%d\n",sum);
}

数字字符统计

#include<stdio.h>
#include <string.h>
void main()
{
    char x[1000];
    int y,i,sum=0;
    gets(x);
    y=strlen(x);
    for(i=0;i<=y;i++)
    {
        if(x[i]>='0'&&x[i]<='9')
            sum++;
    }
        printf("%d\n",sum);
}

字符分类统计

#include<stdio.h>
#include <string.h>
void main()
{
    char x[1000];
    int y,i,sum1=0,sum2=0,sum3=0,sum4=0;
    gets(x);
    y=strlen(x);
    for(i=0;i<y;i++)
    {
        if(x[i]>='a'&&x[i]<='z'||x[i]>='A'&&x[i]<='Z')
            sum1++;
        else if(x[i]>='0'&&x[i]<='9')
            sum2++;
        else if(x[i]==' ')
            sum3++;
        else
            sum4++;
    }
        printf("%d %d %d %d\n",sum1,sum2,sum3,sum4);
}

相邻字符判相等

#include <stdio.h>
void main()
{
    char c[1000],x;
    int y,i,l=0;
    gets(c);
    y=strlen(c);
    for(i=0;i<y;i++)
        {
            if(c[i]==c[i+1])
            {
                x=c[i];
                l++;
                break;
            }
        }
    while(l==1)
    {
        printf("%c\n",x);
        break;
    }
    while(l==0)
    {
        printf("No\n");
        break;
    }
}

统计行数

#include<stdio.h>
void main()
{
    char x[1000];
    int y=0;
    while(gets(x),strcmp(x,"@"))
        y++;
    printf("%d\n",y);
}

特定字符出现次数

#include <stdio.h>
#include<string.h>
int main()
{
    int b,sum=0;
    char c[1000],ch;
    gets(c);
    scanf("%c",&ch);
    for(b=0;b<strlen(c);b++)
    {
        if(c[b]==ch)
            sum++;
    }
    printf("%d\n",sum);
    return 0;
}

字符变换

#include <stdio.h>
void main()
{
    char c[1000];
    int i,y;
    gets(c);
    y=strlen(c);
    for(i=0;i<y;i++)
    {
        if(c[i]>='A'&&c[i]<='Z')
        {
            c[i]=c[i]+32;
        }
        else if(c[i]>='a'&&c[i]<='z')
        {
            c[i]=c[i]-32;
        }
        else
        {
            continue;
        }
    }
    puts(c);
}

成绩合格问题

#include <stdio.h>
void main()
{
    int x;
    scanf("%d",&x);
    if(x>=60)
        printf("pass\n");
    else
        printf("failure\n");
}

三级制成绩评级

#include <stdio.h>
void main()
{
    int x;
    scanf("%d",&x);
    if(x>=80&&x<=100)
        printf("A\n");
    else if(x<=79&&x>=60)
        printf("B\n");
    else
        printf("C\n");
}

五级制成绩评级

#include <stdio.h>
void main()
{
    int x;
    scanf("%d",&x);
    if(x>=90&&x<=100)
        printf("A\n");
    else if(x>=80&&x<=89)
        printf("B\n");
    else if(x>=70&&x<=79)
        printf("C\n");
    else if(x>=60&&x<=69)
        printf("D\n");
    else
        printf("E\n");
}

两数求大值

#include <stdio.h>
void main()
{
    int x,y;
    scanf("%d%d",&x,&y);
    if(x>y)
        printf("%d\n",x);
    else
        printf("%d\n",y);
}

两整数排序

#include <stdio.h>
void main()
{
    int x,y;
    scanf("%d%d",&x,&y);
    if(x>y)
        printf("%d %d\n",y,x);
    else
        printf("%d %d\n",x,y);
}

两字符比大小

#include <stdio.h>
void main()
{
    char x,y;
    scanf("%c%c",&x,&y);
    if(x>y)
        printf("%c %c\n",y,x);
    else
        printf("%c %c\n",x,y);
}

三数求大值

#include <stdio.h>
void main()
{
    int x,y,z,max=0;
    scanf("%d%d%d",&x,&y,&z);
    if(x>y&&x>z)
        max=x;
    else if(y>z&&y>x)
        max=y;
    else if(z>y&&z>x)
        max=z;
    printf("%d\n",max);
}

三整数排序

#include <stdio.h>
void main()
{
    int x,y,z;
    scanf("%d%d%d",&x,&y,&z);
    if(x>y&&x>z&&y>z)
        {printf("%d %d %d\n",x,y,z);}
    if(x>y&&x>z&&z>y)
        {printf("%d %d %d\n",x,z,y);}
    if(y>x&&y>z&&z>x)
        {printf("%d %d %d\n",y,z,x);}
    if(y>x&&y>z&&x>z)
        {printf("%d %d %d\n",y,x,z);}
    if(z>x&&z>y&&x>y)
        {printf("%d %d %d\n",z,x,y);}
    if(z>x&&z>y&&y>x)
        {printf("%d %d %d\n",z,y,x);}
}

鸡兔同笼(2)

#include <stdio.h>
void main()
{
    int x,y,z,i;
    scanf("%d%d",&x,&y);
    if((4*x-y)%2!=0)
        {printf("NO answer\n");}
    else
    {z=(4*x-y)/2;
    i=x-(4*x-y)/2;
    if(z<0||i<0)
        printf("NO answer\n");
    else
        printf("%d %d\n",z,i);}
}

夏季促销

#include <stdio.h>
void main()
{
    double x,y;
    scanf("%lf",&x);
    if(x<500)
        printf("%.2lf\n",x);
    else if(x>=500&&x<=999)
    {
        x=0.95*x;
        printf("%.2lf\n",x);
    }
    else if(x>=1000&&x<=2999)
    {
        x=0.9*x;
        printf("%.2lf\n",x);
    }
    else if(x>=3000&&x<=4999)
    {
        x=0.85*x;
        printf("%.2lf\n",x);
    }
    else if(x>=5000)
    {
        x=0.8*x;
        printf("%.2lf\n",x);
    }
}

公园门票

#include <stdio.h>
void main()
{
    int x;
    scanf("%d",&x);
    if(x>=30)
        printf("%.2lf\n",x*48.0);
    else
        printf("%.2lf\n",x*50.0);
}

飞船飞行情况

#include <stdio.h>
void main()
{
    double x;
    scanf("%lf",&x);
    if(x>=7.91&x<11.19)
        printf("1\n");
    if(x>=11.19&&x<16.67)
        printf("2\n");
    if(x>=16.67)
        printf("3\n");
}

5和7的整倍数

#include <stdio.h>
void main()
{
     unsigned int x;
    scanf("%d",&x);
    if(x%5==0&&x%7==0)
        printf("yes\n");
    else
        printf("no\n");
}

区间内5和7的整倍数

#include<stdio.h>
void main()
{
    unsigned int n,i;
    scanf("%d",&n);
    for(i=1;i<n;i++)
    {
        if(i%5==0&&i%7==0)
            printf("%d ",i);
    }
    printf("\n");
}

是否闰年

#include <stdio.h>
void main()
{
    int x;
    scanf("%d",&x);
    if((x%4==0)&&(x%100!=0)||(x%400==0))
        {printf("yes\n");}
    else
        {printf("no\n");}
}

模拟万年历

#include <stdio.h>
void main()
{
    int x,y;
    scanf("%d%d",&x,&y);
    if((x%4==0)&&(x%100!=0)||(x%400==0))
    {
        if(y==2)
            printf("29\n");
        else if(y%2!=0&&y<8||y%2==0&&y>8||y==8)
            printf("31\n");
        else
            printf("30\n");
    }
    else
    {
         if(y==2)
            printf("28\n");
        else if(y%2!=0&&y<8||y%2==0&&y>8||y==8)
            printf("31\n");
        else
            printf("30\n");
    }
}

实际年龄

#include <stdio.h>
void main()
{
    int y0,m0,d0,y1,m1,d1,age;
    scanf("%d%d%d%d%d%d",&y0,&m0,&d0,&y1,&m1,&d1);
    age=y1-y0;
    if(m1<m0)
    age=age-1;
    else if(m1==m0)
    {
        if(d1<d0)
            age=age-1;
    }
    printf("%d\n",age);
}

求年月日

#include<stdio.h>
void main()
{
    int x,y,y1,z;
    scanf("%d%d",&x,&y);
    if(x%4==0&&x%100!=0||x%400==0)
    {
        if(y<=31)
            {y1=1;
            z=y;}
        else if(y>31&&y<=60)
            {y1=2;
            z=y-31;}
        else if(y>60&&y<=91)
            {y1=3;
            z=y-60;}
        else if(y>91&&y<=121)
            {y1=4;
            z=y-91;}
        else if(y>121&&y<=152)
            {y1=5;
            z=y-121;}
        else if(y>152&&y<=182)
            {y1=6;
            z=y-152;}
        else if(y>182&&y<=213)
            {y1=7;
            z=y-182;}
        else if(y>213&&y<=244)
            {y1=8;
            z=y-213;}
        else if(y>244&&y<=274)
            {y1=9;
            z=y-244;}
        else if(y>274&&y<=305)
            {y1=10;
            z=y-274;}
        else if(y>305&&y<=335)
            {y1=11;
            z=y-305;}
        else
            {y1=12;
            z=y-355;}
    }
    else
    {
        if(y<=31)
            {y1=1;
            z=y;}
        else if(y>31&&y<=59)
            {y1=2;
            z=y-31;}
        else if(y>59&&y<=90)
            {y1=3;
            z=y-59;}
        else if(y>90&&y<=120)
            {y1=4;
            z=y-90;}
        else if(y>120&&y<=151)
            {y1=5;
            z=y-120;}
        else if(y>151&&y<=181)
            {y1=6;
            z=y-151;}
        else if(y>181&&y<=212)
            {y1=7;
            z=y-181;}
        else if(y>212&&y<=243)
            {y1=8;
            z=y-212;}
        else if(y>243&&y<=273)
            {y1=9;
            z=y-243;}
        else if(y>273&&y<=304)
            {y1=10;
            z=y-273;}
        else if(y>304&&y<=334)
            {y1=11;
            z=y-304;}
        else
            {y1=12;
            z=y-334;}
    }
    printf("%d-%d-%d\n",x,y1,z);
}

a^2+b^2

#include<stdio.h>
void main()
{
    int a,b,y;
    scanf("%d%d",&a,&b);
    y=a*a+b*b;
    if(y>100)
        printf("%d\n",y/100);
    else
        printf("%d\n",y);
}

数字加密

#include <stdio.h>
void main()
{
    int x;
    scanf("%d",&x);
    if(x<=40)
        printf("%d\n",30*x);
    else
        printf("%.0lf\n",30*40+(x-40)*1.5*30);
}

加油站加油

#include <stdio.h>
void main()
{
    int x;
    scanf("%d",&x);
    if(x<=10000)
        printf("%.2lf\n",x*0.05+1500);
    else if(x>10000&&x<=50000)
        printf("%.2lf\n",(x-10000)*0.03+2000);
    else
        printf("%.2lf\n",(x-50000)*0.02+3200);
}

日K蜡烛图

#include <stdio.h>
void main()
{
    long int i,j;
double s;
scanf("%ld",&i);
j=i-3000;
if(j<=0)
 s=0;
 else if(j<=1500)
  s=j*0.05;
  else if(j<=4500)
   s=j*0.1-75;
   else if(j<=9000)
    s=j*0.2-75-450;
    else if(j<=35000)
     s=j*0.25-75-450-9000*0.05;
     else if(j<=55000)
      s=j*0.3-75-450-9000*0.05-35000*0.05;
      else if(j<=80000)
       s=j*0.35-75-450-9000*0.05-35000*0.05-55000*0.05;
       else
    s=j*0.45-75-450-9000*0.05-35000*0.05-55000*0.05-80000*0.1;
printf("%.2lf\n",s);
}

画正方形

#include<stdio.h>
void main()
{
    int x,y,z;
    scanf("%d%d",&x,&y);
    if(x<=0)
        z=0;
    else if(x!=0&&x<=3)
        z=10;
    else if(x>3&&x<=10)
        z=10+(x-3)*2;
    else
        z=24+(x-10)*3;
    if(y%5!=0)
            z=z+(y/5+1)*2;
    else
            z=z+(y/5)*2;
    printf("%d\n",z);
}

一元二次方程(简化版)

#include<stdio.h>
#include <math.h>
void main()
{
    float a,b,c,x1,x2,y;
    scanf("%f%f%f",&a,&b,&c);
    y=b*b-4*a*c;
    if(y>0)
    {
        x1=(-b+sqrt(y))/(2*a);
        x2=(-b-sqrt(y))/(2*a);
        if(x1>x2)
            printf("%.2f %.2f\n",x1,x2);
        else
            printf("%.2f %.2f\n",x2,x1);
    }
    else
    {
        x1=(-b)/(2*a);
        printf("%.2f\n",x1);
    }
}

求点的高度

#include <stdio.h>
#include <math.h>
void main()
{
    double x,y,a,b,c,d;
    scanf("%lf%lf",&x,&y);
    a=sqrt((x-2)*(x-2)+(y-2)*(y-2));
    b=sqrt((x-2)*(x-2)+(y+2)*(y+2));
    c=sqrt((x+2)*(x+2)+(y-2)*(y-2));
    d=sqrt((x+2)*(x+2)+(y+2)*(y+2));
    if(a<=0.5||b<=0.5||c<=0.5||d<=0.5)
        printf("50\n");
    else
        printf("0\n");
}

1到10的英文单词

#include <stdio.h>
void main()
{
    int x;
    scanf("%d",&x);
    switch(x)
    {
        case(1):printf("One\n");break;
        case(2):printf("Two\n");break;
        case(3):printf("Three\n");break;
        case(4):printf("Four\n");break;
        case(5):printf("Five\n");break;
        case(6):printf("Six\n");break;
        case(7):printf("Seven\n");break;
        case(8):printf("Eight\n");break;
        case(9):printf("Nine\n");break;
        case(10):printf("Ten\n");break;
        default:printf("Error\n");break;
    }
}

简单计算器

#include <stdio.h>
void main()
{
    float x,y;
    char z;
    scanf("%f%c%f",&x,&z,&y);
    switch(z)
    {
        case('+'):printf("%.2f\n",x+y);break;
        case('-'):printf("%.2f\n",x-y);break;
        case('*'):printf("%.2f\n",x*y);break;
        case('/'):printf("%.2f\n",x/y);break;
    }
}

买水果(此题后来才补写,不知为何清空了之前的AC记录)

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int maxn;
    while(cin>>maxn)
    {
        int i=2,day=1,sum=2;
        while(sum<=maxn)
        {
            i*=2;
            day++;
            sum+=i;
        }
        cout<<fixed<<setprecision(2)<<"Average="<<sum*1.2/day<<endl;
    }
    return 0;
}

简单数字打印

#include <stdio.h>
void main()
{
    int x,i;
    scanf("%d",&x);
    for(i=1;i<=x;i++)
    {
        printf("%d\n",i);
    }
}

字符串输入输出(1)

#include <stdio.h>
void main()
{
    char c[3];
    gets(c);
    puts(c);
}

字符串输入输出

#include <stdio.h>
void main()
{
    char c[100];
    gets(c);
    puts(c);
}

不能被3整除的数

#include<stdio.h>
void main()
{
    int x,y,i,l=0;
    scanf("%d%d",&x,&y);
    i=x;
    while(i<=y)
    {
        if((i%3)!=0)
        {
            printf("%d",i);
            i++;
            l++;
            if(l!=5)
                printf(" ");
            if(l==5)
            {
                printf("\n");
                l=0;
            }
        }
        else
            i++;
    }
}

1到N连续求和

#include <stdio.h>
void main()
{
    int x,i,sum=0;
    scanf("%d",&x);
    for(i=0;i<=x;i++)
    {
        sum=sum+i;
    }
    printf("%d\n",sum);
}

连续数列求和

#include <stdio.h>
#include <math.h>
void main()
{
    int x,i,d,sum=0;
    scanf("%d",&x);
    d=0;
    for(i=0;i<x;i++)
    {
        d=abs(d)+1;
        if(d%2==0)
        d=d*(-1);
        sum+=d;
    }
    printf("%d\n",sum);
}

1到N奇数求和

#include <stdio.h>
void main()
{
    int x,y;
    scanf("%d",&x);
    if(x%2!=0)
    {
        y=(1+x)*(x+1)/4;
        printf("%d\n",y);
    }
}

连续数列求和

#include <stdio.h>
void main()
{
    int x,y=0,z=0,i;
    scanf("%d",&x);
    for(i=1;i<=x;i++)
    {
        y+=i;
        z=z+y;
    }
    printf("%d\n",z);
}

平方和数列求和

#include <stdio.h>
void main()
{
    int x,y=0,z,i;
    scanf("%d",&x);
    for (i=1;i<=x;i++)
    {
        z=i*i;
        y+=z;
    }
    printf("%d\n",y);
}

乘法数列求和

#include <stdio.h>
void main()
{
    int x,y,z=0,i;
    scanf("%d",&x);
    for(i=1;i<=x;i++)
    {
        y=i*(i+1);
        z+=y;
    }
    printf("%d\n",z);
}

立方数列求和

#include<stdio.h>
#include <math.h>
void main()
{
    int x,y,sum=0,i;
    scanf("%d",&x);
    for(i=1;i<=x;i++)
    {
        y=pow(i,3);
        sum+=y;
    }
    printf("%d\n",sum);
}

特殊的整数数列求和

#include<stdio.h>
#include <math.h>
void main()
{
    int a,b,y=0,z=0,sum=0,i;
    double x=0;
    scanf("%d%d",&a,&b);
    for(i=0;i<a;i++)
    {
        x=pow(10,i);
        y=b*x;
        z+=y;
        sum+=z;
    }
    printf("%d\n",sum);
}

分数数列求和(1)

#include <stdio.h>
void main()
{
    double x,i,sum=0,z=0;
    scanf("%lf",&x);
    for(i=1.0;i<=x;i++)
    {
        z=1/i;
        sum+=z;
    }
    printf("%.6lf\n",sum);
}

分数数列求和(2)

#include <stdio.h>
void main()
{
    int x,i,y=1;
    double sum=0,z=0;
    scanf("%d",&x);
    for(i=1;i<=x;i++)
    {
        z=1.0/y;
        sum+=z;
        y+=2;
    }
    printf("%.2lf\n",sum);
}

符号变化的分数数列求和

#include <stdio.h>
void main()
{
    int x,i,y=1;
    double sum=0,z=0;
    scanf("%d",&x);
    for(i=1;i<=x;i++)
    {
        z=1.0/y;
        sum+=z;
        y+=2;
    }
    printf("%.2lf\n",sum);
}


基于数据挖掘的音乐推荐系统设计与实现 需要一个代码说明,不需要论文 采用python语言,django框架,mysql数据库开发 编程环境:pycharm,mysql8.0 系统分为前台+后台模式开发 网站前台: 用户注册, 登录 搜索音乐,音乐欣赏(可以在线进行播放) 用户登陆时选择相关感兴趣的音乐风格 音乐收藏 音乐推荐算法:(重点) 本课需要大量用户行为(如播放记录、收藏列表)、音乐特征(如音频特征、歌曲元数据)等数据 (1)根据用户之间相似性或关联性,给一个用户推荐与其相似或有关联的其他用户所感兴趣的音乐; (2)根据音乐之间的相似性或关联性,给一个用户推荐与其感兴趣的音乐相似或有关联的其他音乐。 基于用户的推荐和基于物品的推荐 其中基于用户的推荐是基于用户的相似度找出相似相似用户,然后向目标用户推荐其相似用户喜欢的东西(和你类似的人也喜欢**东西); 而基于物品的推荐是基于物品的相似度找出相似的物品做推荐(喜欢该音乐的人还喜欢了**音乐); 管理员 管理员信息管理 注册用户管理,审核 音乐爬虫(爬虫方式爬取网站音乐数据) 音乐信息管理(上传歌曲MP3,以便前台播放) 音乐收藏管理 用户 用户资料修改 我的音乐收藏 完整前后端源码,部署后可正常运行! 环境说明 开发语言:python后端 python版本:3.7 数据库:mysql 5.7+ 数据库工具:Navicat11+ 开发软件:pycharm
MPU6050是一款广泛应用在无人机、机器人和运动设备中的六轴姿态传感器,它集成了三轴陀螺仪和三轴加速度计。这款传感器能够实时监测并提供设备的角速度和线性加速度数据,对于理解物体的动态运动状态至关重要。在Arduino平台上,通过特定的库文件可以方便地与MPU6050进行通信,获取并解析传感器数据。 `MPU6050.cpp`和`MPU6050.h`是Arduino库的关键组成部分。`MPU6050.h`是头文件,包含了定义传感器接口和函数声明。它定义了类`MPU6050`,该类包含了初始化传感器、读取数据等方法。例如,`begin()`函数用于设置传感器的工作模式和I2C地址,`getAcceleration()`和`getGyroscope()`则分别用于获取加速度和角速度数据。 在Arduino项目中,首先需要包含`MPU6050.h`头文件,然后创建`MPU6050`对象,并调用`begin()`函数初始化传感器。之后,可以通过循环调用`getAcceleration()`和`getGyroscope()`来不断新传感器读数。为了处理这些原始数据,通常还需要进行校准和滤波,以消除噪声和漂移。 I2C通信协议是MPU6050与Arduino交互的基础,它是一种低引脚数的串行通信协议,允许多个设备共享一对数据线。Arduino板上的Wire库提供了I2C通信的底层支持,使得用户无需深入了解通信细节,就能方便地与MPU6050交互。 MPU6050传感器的数据包括加速度(X、Y、Z轴)和角速度(同样为X、Y、Z轴)。加速度数据可以用来计算物体的静态位置和动态运动,而角速度数据则能反映物体转动的速度。结合这两个数据,可以进一步计算出物体的姿态(如角度和角速度变化)。 在嵌入式开发领域,特别是使用STM32微控制器时,也可以找到类似的库来驱动MPU6050。STM32通常具有强大的处理能力和多的GPIO口,可以实现复杂的控制算法。然而,基本的传感器操作流程和数据处理原理与Arduino平台相似。 在实际应用中,除了基本的传感器读取,还可能涉及到温度补偿、低功耗模式设置、DMP(数字运动处理器)功能的利用等高级特性。DMP可以帮助处理传感器数据,实现高级的运动估计,减轻主控制器的计算负担。 MPU6050是一个强大的六轴传感器,广泛应用于各种需要实时运动追踪的项目中。通过 Arduino 或 STM32 的库文件,开发者可以轻松地与传感器交互,获取并处理数据,实现各种创新应用。博客和其他开源资源是学习和解决问的重要途径,通过这些资源,开发者可以获得关于MPU6050的详细信息和实践指南
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值