给出C/C++代码,读代码做题(题型总结,持续更新ing)

7 篇文章 0 订阅
4 篇文章 0 订阅

1.题目:

如下一段神奇的代码实现的功能是什么?

int miracle(unsigned int n)
{ 
    int m= n==0 ? 0:1;
    while (n=(n&(n-1)))
    {
    m++;
    }
    return m;
}

答案:

n的二进制表示中“1”的个数
解析:

此题的理解核心是 n&(n-1),例如:

 n = 10100(二进制),则(n-1) = 10011  ;    n&(n-1) = 10000

n&(n-1)表示将n中最右的一个1变成0.。

while (n=(n&(n-1))) 代表当1都变成 0之后,循环结束

2.题目:

请阅读以下程序:

void main() 
{ 
int a=5,b=0,c=0; 
if (a=b+c) printf ("***\n"); 
else  printf("$$$\n"); 
}

答案:输出$$$

解析:先将b+c的值赋给a

3.题目:

程序出错在什么阶段__?

int main(void) {
    http://www.taobao.com
    cout << "welcome to taobao" << endl; 
}

答案:程序运行正常

解析:

双斜杠之后的www.taobao.com被当做注释了,那么前面的http:是否合法?这就是C++中一个几乎不会被用到的语法,标签。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C++课程设计目,包括1、输10至99之间每位数的乘积大于每位数的和的数,例如对于数字12,有1*22+7,故输该数。 2、求任意n个数中的最大数和最小数:先输入一个正整数n(个数),而后再输入任意n个实数,找这n个数中的最大数及最小数并显示来。3、对两个有序数组进行合并:设有如下数组A、B,并假设两个数组的元素都已经有序(从大到小降序排列)。编程序,合并A、B数组形成一个新的数组C,并使C的元素仍有序(从大到小降序排列)。 int A[10]={123, 86,80, 49,33,15,7,0,-1,-3}; int B[10]={100,64,51,50,27,19,15,12,5,2}; 4、有一个分数序列:1/2,1/3,1/4,1/5,1/6,1/7,……,编写函数求序列前n项之和,要求在主程序中提示用户输入整数n,并判断所输入数是否合法(大于1为合法),如果合法则调用求和函数并输结果。 5、计算两个日期之间的间隔天数:从键盘输入两个日期(如以year1,month1,day1以及year2,month2,day2的方式来输入它们),而后计算这两个日期的间隔天数并在屏幕上显示结果。 要求编制具有如下原的函数difs2Date: long GetDayDifference(int y1,int m1,int d1,int y2,int m2,int d2); 并在主函数中调用向屏幕上输计算结果。7、声明并定义一个日期类CDate,其中数据成员m_iYear,m_iMonth,m_iDay,分别表示年、月、日,成员函数SetDate()用来设置年、月、日,成员函数IsLeapYear()用来判断当前的年份是否为闰年,构造函数带有默认形参值,可接收外部参数对m_iYear, m_iMonth, m_iDay进行初始化,另要求编写测试程序,定义一个CDate类对象,将其日期设置为2005年1月1日, 调用成员函数IsLeapYear()判断该年份是否为闰年,并输判断结果. 说明:闰年的年份可以被4整除而不能被100整除,或者能被400整除. 8、编写一个程序计算两个给定长方形的面积,其中在设计类成员函数GetTotalArea()(用于计算两个长方形的总面积)时使用对象作为参数。 9、设计一个时间类Time,包括3个数据成员,时(h)、分(m)、秒(s),另外包括存取各数据成员和设置时间的成员函数,按上、下午各12小时或按24小时输时间的成员函数,以及默认构造函数,默认时间值为0时0分0秒。 10、编写一个程序,输入3个学生的英语和计算机成绩,并按总分从高到低排序(要求设计一个学生类Student)。 11. 求解一元二次方程。 一元二次方程的定义为: ax2+bx+c=0 (1)如果b2 -4ac>0,方程有两个不同的实根,分别是: (2)如果b2 -4ac< 0,方程没有实根,但有虚根; (3)如果b2 -4ac= 0,方程有一个实根。 请你编写一个程序,使其能求多个二次方程的根。该程序要询问用户是否想继续解下一个方程。用户输入1来继续,输入其它数字,则终止程序。程序要求用户输入a,b和c,然后根据前面的条件计算,并输答案。 要求:使用类实现, (1) a,b,c为该类的私有成员变量; (2) 求根的实现为该类的成员函数,形式为: //函数返回值:实根的个数; //参数:x- 用以返回实根值的数组; int CalResult(double x[]); (3) 该类还包含有参构造函数、析构函数。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值