| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1361 人关注过本帖
标题:求助两个问题
取消只看楼主 加入收藏
miss_you
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-10-23
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
求助两个问题
  大家好,我是软件工程专业的大一新生,正在学习C语言,想问两个问题。
  输入一个只包含0和1的二进制数(不确定多少位,但至多5位),打印出相应的十进制数。(注意,各个位的初值的选定技巧)
 这题要怎么做啊?
  写一个程序,提示输入两个整数a,b,若a2+b2>100,则输出a2+b2的百位以上数字,否则直接输出a2+b2的和。(注意,值可能的范围)(那个a2,b2是a的平方b的平方的意思)
我的程序是:#include <stdio.h>
void main()
{
    long x,y,t;
    printf("请输入两个整数\n");
    scanf("&ld&ld",&x,&y);
    t=x*x+y*y;
    if(t>100)
    printf("%ld\n",t/100);
    else
        printf("%ld\n",t);
}
为什么输入两个10后结果是13743895,不是应该是2吗?
希望各位热心的高手能给我这个刚入门的菜鸟一点指导,谢谢了!


[ 本帖最后由 miss_you 于 2009-10-23 13:57 编辑 ]
搜索更多相关主题的帖子: 软件工程 学习 大一新生 include 二进制 
2009-10-23 13:56
miss_you
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-10-23
收藏
得分:0 
回复 5楼 我菜119
可是long int不是也可以写成long吗?
2009-10-23 19:46
miss_you
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-10-23
收藏
得分:0 
谢谢大家,第二题解决了,可是第一题还是不会啊,6楼的程序我看不懂,还有啊,我们学习的时间不长,谭浩强的《C程序设计》才刚开始学第5章,应该不需要太复杂的解法的,请问有高手能帮帮忙吗?
2009-10-23 20:01
miss_you
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-10-23
收藏
得分:0 
我刚想到一个:
#include <stdio.h>
void main()
{
    int i,x,t=10,f=1,sum=0,a[6]={0};
    printf("请输入一个不超过5位的2进制数\n");
    scanf("%d",&x);
    for(i=1;i<=5;i++,t=t*10,f=f*2)
    {
        a[i]=10/t*((x%t)-x%(t/10)); /*将该二进制的第i位数输入到a[i]中*/
        a[i]=a[i]*f;                /*将a[i]在二进制中代表的数值转化为十进制中代表的数值*/
        sum=sum+a[i];
    }
    printf("该数相应的十进制数为%d\n",sum);
}                可是好像还是不对,如输入1010结果是0啊,错在哪里?
2009-10-23 21:03
快速回复:求助两个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018089 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved