中国大学MOOC:分析下面程序实现的功能intfunc(intdata){intcount=0;while(data!=0){data&=data-1;count++;}returncount;}
统计data中1的个数
举一反三
- 分析下面程序实现的功能intfunc(intdata){in...unt++;}returncount;}
- 下面程序输入12345,输出结果是()#include#includeintmain(){intdata;scanf("%d",&data);While(data){printf("%d",data%10);data=data/10;}} A: 1234 B: 54321 C: 12345 D: 5432
- 有如下程序 #include intchange(int*data) { *data=*data%2; return(*data)+1; } main() { intdata=12; change(&data); printf("%d,",data); data=change(&data); printf("%d,",data); } 程序运行后的输出结果是()
- 写出下面程序的输出结果 publicclassTestjava{ publicstaticvoidmain(String[]args){ Stringstr="abbaefabbewbvwabbswgfga"; System.out.println("count="+getSubCount(str,"abb")); } publicstaticintgetSubCount(Stringstr,Stringkey){ intcount=0; intindex=0; while((index=str.indexOf(key,index))!=-1){ System.out.println("index="+index); index=index+key.length(); count++; } returncount; } }
- 下面程序输入12345,输出结果是() #include #include int main() { int data; scanf("%d",&data); While(data) {printf("%d",data%10); data=data/10; } }
内容
- 0
下列( )语句可以实现取数据的个位。 A: buffer[0] = data/100 B: buffer[0] = data%100/10 C: buffer[0] = data%10 D: buffer[0] = data%1000
- 1
下列()语句可以实现取数据的个位 A: buffer[0]=data/100 B: buffer[0]=data%100/10 C: buffer[0]=data%10
- 2
以下代码的输出结果是(_____)。 data=[1, 0, 2, 0, 0] data.remove(0) print(data)
- 3
15.阅读下列程序代码,该程序执行的结果为 。 sum=0 for data in range(1,51): if data%2==0: sum+=data print(sum)
- 4
程序填空题:输入一个数据,如果该数据为负,则打印该数据;为正,则不做任何处理;为 0,则结束循环。#include <stdio.h>void main(){int data;while(1){scanf("%d",&data);if(data==0) _______1__________;else if(data>0) _______2__________;else printf("%d\n",data);}}