11.25

1.写一个函数找出一个整数数组中,第二大的数
ps1:66,66,66,66则没有第二大的数
ps2:99,99,88,86,则第二大的数是88

#include <stdio.h>

int dier(int arr[], int lenth)
{
    int second = 0, max = 0, i = 0;

    second = max = arr[0];

    for (i = 1; i < lenth; i++)
    {
        if (arr[i] >= max)
        {
            second = max;
            max = arr[i];
        }
    }
    return second;
}

int main(void)
{
    int arr[] = { 6,6,6,6,6 };

    printf("%d\n", dier(arr, 5));


    return 0;
}

2.一辆卡车违反交通规则,撞人后逃跑,现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的,但与之前两位不同;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。

#include <stdio.h>
#include <math.h>
int main(void)
{
    int a = 0, c = 0;//第一位,第三位
    double ret = 0;

    for (a = 1; a < 10; a++)//第一、二位,不能为0
    {
        for (c = 0; c < 10; c++)//第三、四位
        {
            if (c == a)
                continue;
            ret = sqrt(1000 * a + 100 * a + 10 * c + c);
            if ((int)ret == ret)//是否为整数
                printf("%d\n", (int)(ret*ret));
        }
}
return 0;
}

3.What will print out,why?
main()
{
char *p1=”name”;
char *p2;
p2=(char*)malloc(20);
memset(p2,0,20);
while(*p2++ = *p1++);
printf(“%s\n”,p2);
}

输出为空,在编译器上测试之后
经过查询,发现malloc是申请内存空间的,p2=(char*)malloc(20):申请20char*类型的内存空间给p2,

这里写图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值