| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 807 人关注过本帖
标题:有些问题麻烦大家~
只看楼主 加入收藏
悉心
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-7-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:14 
有些问题麻烦大家~
1.编程实现:输入整数a和b,若a^2+b^2>100,则输出a^2+b^2百位以上的数字(如千位),否则输出个位数和百位数之和
2.根据所输入的三条边长的值,判断它们是否能够构成三角形,若能构成,则再判断是等边三角形、等腰三角形(不包括三条边相等的特例)还是一般三角形
3.输入三个整数,要求按从小到大的顺序输出
搜索更多相关主题的帖子: 麻烦 
2010-07-31 22:37
carmeloyin
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
帖 子:161
专家分:157
注 册:2008-12-2
收藏
得分:5 
第一题,应该是输出个位数和十位数之和吧?如果是百位,因为<=100,百位不就是0???
#include<iostream.h>
main()
{
    int a,b,c;
    cout<<"请输入a和b的值,中间用空格分开:";
    cin>>a>>b;
    c=a*a+b*b;
    if(c>100)
        cout<<c/100<<endl;  //输出百位以上的值,如为43100,则输出431
    else
        cout<<c/10 + c-(c/10)*10<<endl; //输出个位与十位的和
}


2010-07-31 22:50
carmeloyin
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
帖 子:161
专家分:157
注 册:2008-12-2
收藏
得分:5 
第2题:
#include<iostream.h>
main()
{
    int a,b,c;
    cout<<"请输入三条边长,中间用空格分开:";
    cin>>a>>b>>c;
    if( ((a+b)>c) && ((a+c)>b) && ((b+c)>a) )  //判断其是否为三角形
    {
        if(a==b && a==c)
            cout<<"是等边三角形"<<endl;
        else if(a==b || a==c || b==c)
                cout<<"是等腰三角形"<<endl;
        else
            cout<<"是普通三角形"<<endl;
    }
    else
        cout<<"不是三角形"<<endl;
}
        
2010-07-31 23:01
carmeloyin
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
帖 子:161
专家分:157
注 册:2008-12-2
收藏
得分:5 
#include<iostream.h>
#define N 3
main()
{
   
    int a[N],i,j,temp;
    /*输入部分*/
    cout<<"请输入3个整数,用空格分开:";
    for(i=0; i<N; i++)
        cin>>a[i];                //输入N个整数
    /*计算部分*/
    for(i=0; i<N; i++)           //循环N-1次,也就是2次
    {
        for(j=0; j<N-i; j++)      //每次循环分析a[0]到a[N-i]之间的元素大小,把最大的数字放到最后面
            if(a[j]>a[j+1])
            {
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
    }
    /*输出部分*/
    for(i=0; i<N; i++)           
        cout<<a[i]<<endl;
}

不过这题,我也有疑问,为什么我删除#define N 3  使用const int N=3;做为main函数里的第一句话
其他代码不变,得不到正确答案呢?
请高手回答


2010-07-31 23:30
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:5 
第三题:
程序代码:
#include<stdio.h>

int main(void)
{
    int a,b,c,max,min;

    scanf("%d %d %d",&a,&b,&c);
    max=(a>b?a:b)>c?(a>b?a:b):c;
    min=(a<b?a:b)<c?(a<b?a:b):c;
    printf("%d %d %d\n",min,a+b+c-max-min,max);

    return 0;
}
2010-07-31 23:34
carmeloyin
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
帖 子:161
专家分:157
注 册:2008-12-2
收藏
得分:0 
楼上的,
如果还用这个X>X?X:X的方法
要是人家输入5个数字
就够你手忙脚乱的了
2010-07-31 23:38
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 6楼 carmeloyin
题上说是 3 个,就照 3 个的写.题上说是 N 个,就有 N 个的写法.任何事情,合适就好.
2010-07-31 23:40
carmeloyin
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
帖 子:161
专家分:157
注 册:2008-12-2
收藏
得分:0 
麻烦您给解释下为什么用const int N=3;不行吧?
我知道您肯定能回答的
2010-07-31 23:42
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 8楼 carmeloyin
你这是类似于变长数组的写法,鄙人才疏学浅,实在不知.
2010-07-31 23:48
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1688
专家分:4262
注 册:2007-12-27
收藏
得分:0 
定义数组的时候,数组大小那里需要一个编译期求值的量;
const int N=3;是运行期初始化的,与上述要求矛盾。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2010-07-31 23:49
快速回复:有些问题麻烦大家~
数据加载中...
 
   



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

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