工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1903|回复: 4

2005年11月神州数码华工笔试题C++部分两个大题--处女帖啊!!!

[复制链接]
发表于 2005-11-30 18:45 | 显示全部楼层 |阅读模式
2005年11月神州数码华工笔试题C++部分两个大题
1.char *GetMemory(void)

{   

char p[] = "hello world";

return p;

}

void Test(void)

{

char *str = NULL;

str = GetMemory();   

printf(str);

}


请问运行Test函数会有什么样的结果?

答:可能是乱码。

因为GetMemory返回的是指向“栈内存”的指针,该指针的地址不是 NULL,但其原现的内容已经被清除,新内容不可知。

2.输入一个整数,要求每一位的数字相加,直至结果为一位数,如552,相加得12,再次相加得3.
解答:1递归实现
#include<stdio.h>
int add(int a)
{
        int b=0;
        while(a!=0)
        {
                b+=a%10;
                a=a/10;
        }
        if(b/10==0)
                printf("\nthe result:%d",b);
        else add(b);
        return 1;
}

void main()
{
        int num;
        printf("input a integer:");
        scanf("%d",&num);
        if(num<0)num=-num;
        if(num/10==0)
                printf("\nthe result:%d",num);
        else add(num);
}
2.迭代实现
#include<stdio.h>
void main()
{
        int num,total;
        total=0;
        printf("input a integer:");
        scanf("%d",&num);
        if(num<0)num=-num;
        while(num!=0)
        {               
                total+=num%10;               
                num=num/10;
                if(num==0)
                if(total/10==0)break;
                else {num=total;total=0;}
        }
        printf("\nthe result:%d",total);
}
注意:递归与迭代的比较,递归可能受到堆栈的可利用容量的限制,其次,递归占用较多的运行内存,频繁调用函数会在堆栈中产生较多的运行开销.
发表于 2005-11-30 22:22 | 显示全部楼层
That\'s easy.
第一题,考察堆,栈,在一个专题见过
第二题,见过至少3道这样的练习题了。
这是招什么的?
回复

使用道具 举报

发表于 2005-11-30 23:27 | 显示全部楼层
应该是测试的。

听说设计类的要做j2ee的题
回复

使用道具 举报

发表于 2005-12-2 00:05 | 显示全部楼层
我连笔试都没有...惨烈啊...
回复

使用道具 举报

发表于 2005-12-6 00:49 | 显示全部楼层
原来笔试就做这些题啊?
楼上说话真的比较夸张,怪不得你的沟通能力有问题。

楼上的楼上的楼上把我想说的话给说了,见到这种题Y滴就是想点评点评。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-5-14 15:00

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表