c语言练习题1

1. 设a、b、c均是0到9之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c的值。

#include<stdio.h>

int main(void)
{
    int a, b, c;
    int abc, bcc;
    for (a = 0; a <10; a++)
    {
        for (b = 0; b <10; b++)
        {
            for (c = 0; c <10; c++)
            {
                abc = a * 100 + b * 10 + c;
                bcc = b * 100 + c * 10 + c;
                if (abc + bcc == 532)
                    printf("%d %d %d\n", a, b, c);
            }
        }
    }
    //printf("end");
    return(0);
}

2. 猜数游戏

int main(void)
{
    int num = 17;
    int guess;

    printf("input the number:" );
    scanf_s("%d", &guess);
    if (guess == num)
        printf("right!the num is %d.", guess);
    else
    {
        printf("no,the num is not %d.", guess);
    }
    return(0);
}

3. 猜数游戏升级版

int main(void)
{
    int num = 17;
    int guess, count;
    ;

    printf("input the number:");
    scanf_s("%d", &guess);

    for (count = 5; count >=0; count--)
    {
    
        if (guess == num)
        {
            printf("right!the num is %d.\n", guess);
            break;
        }
        else
        {
            if (guess > num)
            {
                printf("it is too big!you have only %d times:",count);
                scanf_s("%d", &guess);
            }
            else
            {
            
                printf("it is too small!you have only %d times:",count);
                scanf_s("%d", &guess);
            }
            //printf("no,the num is not %d.", guess);
        } 
        if (count == 0)
        {
            printf("fail!the number is %d.\n",num);
        }
    }
    printf("the game is over.\n");
    return(0);
}

4. 1!+2!+…+100!

int main(void)
{
    int i,j;
    double sum = 0;
    double cheng = 1;

    for (i = 1; i <= 100; i++)
    {
        for (j = 1; j <= i; j++)
        {
            cheng = cheng * j;
        }
        sum = sum + cheng;
        cheng = 1;
    }

    printf("1!+2!+...+100!=%e.\n", sum);
    return 0;
}

5. 输入数据比大小

int main(void)
{
   
    int n,i, get;
    int max=0;

    printf("please input the count of numbers:");
    scanf_s("%d", &n);
    for (i = 1; i <= n; i++)
    {
        printf("input the number:");
        scanf_s("%d", &get);
        if (max < get)
            max = get;
    }
    printf("the biggest number is %d.\n", max);

    return 0;
}

6. 搬砖穷举问题

//man*3 woman*2 kid*1 sum=45
int main(void)
{
    int man, woman, kid;
    int zhuan = 45;
    int times = 0;

    for (man = zhuan / 3; man >= 0; man--)
    {
        for (woman = zhuan / 2; woman >= 0; woman--)
        {
            for (kid = zhuan; kid >= 0; kid--)
            {
                times = man * 3 + woman * 2 + kid;
                if (times == zhuan)
                    printf("man=%d,woman=%d,kid=%d.\n",man,woman,kid);
            }
        }
    }
    printf("end.");

    return 0;
}

7. 计算体积

#define PI 3.1415926

double tiji(double r, double h);
int main(void)
{
    double r, h,volume;
    printf("input r h:");
    scanf_s("%lf %lf", &r, &h);
    volume = tiji(r, h);
    printf("the volume is %lf.\n", volume);

    return 0;
}

double tiji(double r, double h)
{
    double volume;
    volume = PI * r * r * h;
    return volume;
}

8. 素数表

int sushu(int num);
int main(void)
{
    int n,num,i;
    int j = 0;
    printf("input the max num you want:");
    scanf_s("%d", &n);
    for(i = 2; i <= n; i++)
    {
        num=sushu(i);
        if (num==2)
        {
            printf(" %d  ", i);
            j++;
        }
        if (j >= 10)
        {
            printf("\n");
            j = 0;
        }
    }

    return 0;
}

int sushu(int num)
{
    int i;
    for (i = 2; i <= sqrt(num); i++)
    {
        if (num % i == 0)
            return(1);   
    }
    return(2);
}

9. 数据交换(不添加中间变量)

int main(void)
{
    int a = 17, b = 3;
    printf("before a=%d b=%d\n", a, b);
    a ^= b ^= a ^= b;//交换a b的值
    printf("after a=%d b=%d\n", a, b);

    return 0;
}

10. 数组求平均值,并且输出平均值以上的值

int main(void)
{
    int i;
    double avg, sum = 0;
    int a[5];

    printf("input 5 number:");
    for (i = 0; i < 5; i++)
    {
        scanf_s("%d", &a[i]);
        sum = sum + a[i];
    }
    avg = sum / 5;
    printf("the average number is %lf.\n",avg);
    printf("avg<:\n");
    for (i = 0; i < 5; i++)
    {
        if (a[i] > avg)
            printf("%d\n", a[i]);
    }
    return 0;
}

11. 数组,斐波那契数列

int main(void)
{
    int i;
    int a[10] = { 1,1 };

    printf("%d  %d  ", a[0],a[1]);
    for (i = 2; i < 10; i++)
    {
        a[i] = a[i - 1] + a[i - 2];
        if (i %5==0)
            printf("\n");
        printf("%d  ", a[i]);
    }
    return 0;
}

12. 输入数组,查找数据并显示位置

int main(void)
{
    int a[5];
    int i,num,flag=0;

    printf("input 5 numbers:");
    for (i = 0; i < 5; i++)
    {
        scanf_s("%d", &a[i]);
    }
    printf("input the standard number:");
    scanf_s("%d", &num);
    for (i = 0; i < 5; i++)
    {
        if (a[i] == num)
        {
            printf("the squence of %d is %d.\n", num, i + 1);
            flag = 1;
        }
           
    }
    if(flag==0)
        printf("404!!!");

    return 0;
}

13. 输入n个数存在数组中,找出最小值,并于第一个值交换

int main(void)
{
    int a[10] = {0};
    int b[10];
    int n, i, min,min_num=0;

    printf("input n:");
    scanf_s("%d", &n);
    printf("input the numbers:");
    for (i = 0; i < n; i++)
    {
        scanf_s("%d", &a[i]);
    }
    min = a[0];
    for (i = 1; i < n; i++)
    {
        if (a[0] > a[i])
        {
           
            a[0] = a[i];
            min_num = i;
        }
    }
    a[min_num] = min;
    printf("the min is %d number.\n", min_num+1);
    for (i = 0; i < n; i++)
    {
        printf("%d  ", a[i]);
    }


    return 0;
}

14. 选择法排序

int main(void)
{
    int a[10] = { 0 };
    int b[10];
    int n, i, j,min, min_num = 0;

    printf("input n:");
    scanf_s("%d", &n);
    printf("input the numbers:");
    for (i = 0; i < n; i++)
    {
        scanf_s("%d", &a[i]);
    }
    for (i = 0; i < n-1; i++)
    {
        min_num = i;
        for (j = i+1; j < n; j++)
        {
            if (a[j] < a[min_num])
                min_num = j;
        }
        min = a[min_num];
        a[min_num] = a[i];
        a[i] = min;
    }
    for (i = 0; i < n; i++)
    {
        printf("%d  ", a[i]);
    }


    return 0;
}

15. 输入二维数组,寻找最大值

int main(void)
{
    int a[3][2];
    int i,j,min,min_hang=0,min_lie=0;

    printf("input 3*2 matrix:");
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 2; j++)
        {
            scanf_s("%d", &a[i][j]);
        }
    }
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 2; j++)
        {
            printf("%d  ", a[i][j]);
        }
        printf("\n");
    }
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 2; j++)
        {
            if (a[i][j] > a[min_hang][min_lie])
            {
                min_hang = i;
                min_lie = j;
            }
        }
    }
   
    printf("the biggest number is a[%d][%d]=%d.", min_hang+1 , min_lie+1 , a[min_hang][min_lie]);

    return 0;
}

16. 记录字符串中数字的个数

int main(void)
{
    int count=0,i=0;
    char s[100];

    printf("input the char:");
    while ((s[i] = getchar()) != '\n')
    {
        i++;
    }
    s[i] = '\0';

    for (i = 0; s[i] != '\0'; i++)
    {
        if (s[i] >= '0' && s[i] <= '9')
            count++;
    }
    printf("count=%d\n", count);

    return 0;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其中存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其中至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas中的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源中加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值