注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

高望晴岚

明天会更好!

 
 
 

日志

 
 

网易MOOC 程序设计入门—C语言 翁恺 第三周编程作业 1奇偶个数2信号报告数字特征值  

2014-12-20 13:31:01|  分类: 计算机 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

网易MOOC

程序设计入门—C语言

翁恺

第三周编程作业

 

1奇偶个数(5分)

题目内容:

你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。

 

输入格式:

一系列正整数,整数的范围是(0,100000)。如果输入-1则表示输入结束。

 

输出格式:

两个整数,第一个整数表示读入数据中的奇数的个数,第二个整数表示读入数据中的偶数的个数。两个整数之间以空格分隔。

 

输入样例:

9 3 4 2 5 7 -1

 

输出样例:

4 2

时间限制:500ms内存限制:32000kb

//奇偶个数

#include<stdio.h>

 

int main()

{

int ou=0,ji=0;

int x;

do

{

scanf("%d",&x);

x%2?++ji:++ou;

}while(x!=-1);

printf("%d %d",ji-1,ou);

return 0;

}

 

 

2数字特征值(5分)

题目内容:

对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值。对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。这个整数在第n位上的数字记作x,如果xn的奇偶性相同,则记下一个1,否则记下一个0。按照整数的顺序把对应位的表示奇偶性的01都记录下来,就形成了一个二进制数字。比如,对于342315,这个二进制数字就是001101

 

这里的计算可以用下面的表格来表示:

 

数字

3

4

2

3

1

5

数位

6

5

4

3

2

1

数字奇偶

数位奇偶

奇偶一致

0

0

1

1

0

1

二进制位值

32

16

8

4

2

1

 

按照二进制位值将1的位的位值加起来就得到了结果13

 

你的程序要读入一个非负整数,整数的范围是[0,100000],然后按照上述算法计算出表示奇偶性的那个二进制数字,输出它对应的十进制值。

 

提示:将整数从右向左分解,数位每次加1,而二进制值每次乘2

 

输入格式:

一个非负整数,整数的范围是[0,100000]

 

输出格式:

一个整数,表示计算结果。

 

输入样例:

342315

 

输出样例:

13

时间限制:500ms内存限制:32000kb

#include <stdio.h>

 

int main()

{

int x = 1;

int y = 1;

int a = 0;

int b = 1;

 

scanf("%d", &x);

if (x >= 0 && x <= 100000)

{

do

{

if (x%10%2 == y%2)

a += b;

b *= 2;

x /= 10;

y++;

} while (x != 0);

printf("%d", a);

}

return 0;

}

  评论这张
 
阅读(5229)| 评论(4)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017