11.25

来源:互联网 发布:知了软件网站后台 编辑:程序博客网 时间:2024/06/10 08:49

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,

这里写图片描述

原创粉丝点击