2021.11.8 经过长时间忙碌其他的事情,我又回来了

过去的这近十天的时间里,做了如下的事情:

1.策划协办宣传学校里的模拟面试大赛,前前后后做了推送,海报,安排协调宣传部的任务,对接主负责人,被折磨个够呛。

2.加入了学校华为俱乐部,希望能够多认识认识朋友们,毕业之后能有个去华为的工作我也是很开心的。

3.和女朋友在周末终于休息一下,忘记实验室的东西,吃了dubaoji

4.学车,现在科目一的三项大概联系了3次,每次半小时,已经基本掌握了。

5.磨磨唧唧把第八章看完了,下面开始做题。

1 摘苹果(4分)

题目内容:

陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当他不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度(已知在100cm到200cm之间,包括100cm和200cm),以及陶陶把手伸直时能达到的最大高度(已知在100cm到120cm之间,包括100cm和120cm),请你编写程序帮助陶陶计算一下他能摘到的苹果数目。假设他碰到苹果,苹果就会掉下来。

函数原型:int GetApple(int a[], int height, int n);

函数功能:计算淘淘能摘到的苹果数目

函数参数:数组a保存苹果到地面的高度;height代表陶陶把手伸直时能达到的最大高度;n为苹果数

函数返回值:淘淘能摘到的苹果数目

程序运行示例1:

100 200 150 140 129 134 167 198 200 111↙

110↙

5

程序运行示例2:

120 110 200 134 122 162 183 144 128 100↙

105↙

输入格式: "%d"

注意(第一行输入的数据是10个苹果分别到地面的高度;第二行输入的数据是陶陶把手伸直时能达到的最大高度)

输出格式:"%d"

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

#include <stdio.h>
#include <stdlib.h>
#define N 10
int GetApple(int a[], int height, int n);
int PutApple(int a[]);

int PutApple(int a[])
{
    int i;
    for(i=1;i<=N;i++)
    {
        scanf("%d", &a[i]);
    }
    return 0;
}

int GetApple(int a[], int height, int n)
{
    int i;
    n=0;
    scanf("%d", &height);
    for (i=0; i<N; i++)
    {
        if ((height+30)>=a[i])
            n++;
    }
    return n;
}

int main()
{
    int a[N],height,n,num;
    PutApple(a);
    num=GetApple(a,height,n);
    printf("%d",num);
    return 0;
}
 

2

好数对(4分)

题目内容:

已知一个集合A,对A中任意两个不同的元素求和,若求得的和仍在A内,则称其为好数对。例如,集合A={1 2 3 4},1+2=3,1+3=4,则1,2和1,3 是两个好数对。编写程序求给定集合中好数对的个数。

注:集合中最多有1000个元素,元素最大不超过10000

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int A[10000];
    int n;
    int num=0;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
         scanf("%d",&A[i]);
    }

    for (int x=0;x<n-1;x++)
    {
        for(int y=(x+1);y<n;y++)
        {
            for(int j=0;j<n;j++)
            {
                if (A[x]+A[y]==A[j])
                {
                    num++;
                }
            }

        }
    }
    printf("%d\n",num);
    return 0;
}

3 组合三位数(4分)

题目内容:

将0到9这十个数字分成三个3位数,要求第一个3位数,正好是第二个3位数的1/2,是第三个3位数的1/3。问应当怎样分,编写程序实现。

#include <stdio.h>
#include <stdlib.h>
int Select(int x,int y,int z);

int Select(int x,int y,int z)
{
    int j,a[10]={0},count=0;
    while(x>0)
    {
        j=x%10;
        a[j]++;
        x=x/10;
    }
    while(y>0)
    {
        j=y%10;
        a[j]++;
        y=y/10;
    }
    while(z>0)
    {
        j=z%10;
        a[j]++;
        z=z/10;
    }
    for(int i=0;i<10;i++)
    {
        if(a[i]==1)
        count++;
    }
    return count;
}

int main()
{
    int i,m,n,num;
    int count=0;
    for(i=102;i<=329;i++)
    {
        m=i*2;
        n=i*3;
        num=Select(i,m,n);
        if(num==9)
            printf("%d,%d,%d\n",i,m,n);

    }
    return 0;
}

4 求100以内的最大素数(4分)

题目内容:

编程计算n(n<=500)以内的10个最大素数及其和,分别输出这最大的10个素数及其和。n的值要求从键盘输入。要求10个素数按从大到小的顺序输出。

程序运行示例1:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n,i,j,x,a[500]={0,1},m,sum=0;
    printf("Input n(n<=500):");
    scanf("%d",&n);
    for (i=2;i<=n;i++)
    {
        for (j=2;j<i;j++)
        {
           if(i%j==0)
            a[i]=1;
        }

    }
    for(x=n;x>0;x--)
    {
        if(a[x]==0&&m!=10)
        {
            printf("%d\t",x);
            sum=sum+a[x];

            m++;    

        }
    }

    printf("\nsum=%d",sum);

    return 0;
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值