| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1156 人关注过本帖
标题:请各位帮我看看这两段代码
只看楼主 加入收藏
yuhan0501
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2009-6-25
结帖率:50%
收藏
 问题点数:0 回复次数:13 
请各位帮我看看这两段代码
#include<stdio.h>
#include<math.h>
void main()
{
    float a,b,c,s,area;
    printf("请依次输入三角形的三遍长:\n");
    scanf("%f%f%f",a,b,c);
    if(a<=0||b<=0||c<=0||a+b<=c||a+c<=b||b+c<=a)
        printf("你输入的三遍构不成三角形!");
    else
    {
        s=(a+b+c)/2;
        area=sqrt(s*(s-a)*(s-b)*(s-c),2);
        printf("三角形的面积为:%f",area);
    }
   
}




#include<stdio.h>
#include<math.h>
void main()
{
    double x,y;
    printf("plese enter x:");
    scanf("%lf",x);
    if(x<0)
        y=pow(x,2)-1;
    else if(x==0)
        y=0;
    else
        y=pow(x,2)+1;
    printf("y=%lf",y);
}

为什么这两个执行之后提示内存不能为written。。

还有某商场促销,消费一定金额可以打折。s为消费金额
s>=100 9折
s>=300 8
s>=500 7
s>=700 6
s>=900 5

用switch()该怎么写比较简练
搜索更多相关主题的帖子: 代码 
2009-11-24 16:01
仰望者
Rank: 2
等 级:论坛游民
帖 子:57
专家分:86
注 册:2009-11-6
收藏
得分:0 
#include<stdio.h>
#include<math.h>
void main()
{
    double x,y;
    printf("plese enter x:");
    scanf("%lf",&x);        /*这少了&*/     
   
2009-11-24 16:29
永远不懂
Rank: 1
来 自:徐州
等 级:新手上路
帖 子:35
专家分:9
注 册:2009-11-4
收藏
得分:0 
第一个程序 scanf ("%f%f%f",&a,&b,&c);
2009-11-24 17:49
梦楠
Rank: 1
来 自:徐州
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-11-18
收藏
得分:0 
第一个程序  scanf ("%f%f%f",&a,&b,&c);
第二个程序  scanf("%lf",&x);
2009-11-24 17:55
mengfp
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:141
注 册:2009-8-5
收藏
得分:0 
楼上全部正解
2009-11-24 18:09
xy4919961
Rank: 5Rank: 5
等 级:职业侠客
帖 子:199
专家分:362
注 册:2009-10-24
收藏
得分:0 
#include <stdio.h>
main()
{
 float i=0,z;
 printf("xiaofei:");
 scanf("%f",&i);
 z=i/100;
 switch(z)
 {
  case 9:case 8:
  printf("%1.2f",i*0.5);break;
  case 7:case 6:
  printf("%1.2f",i*0.6);break;
  case 5:case 4:
  printf("%1.2f",i*0.7);break;
  case 3:case 2:
  printf("%1.2f",i*0.8);break;
  case 1:printf("%1.2f",i*0.9);break;
   default :
     printf("Consumption of less than 100 can not be discounted.");
       break;
               /*消费不到100不能打折.*/
}
   getch();
    return 0;
}

[ 本帖最后由 xy4919961 于 2009-11-24 18:55 编辑 ]

QQ群:96348241
2009-11-24 18:33
caojulians
Rank: 2
等 级:论坛游民
帖 子:39
专家分:67
注 册:2009-11-15
收藏
得分:0 
第一个程序:

area=sqrt(s*(s-a)*(s-b)*(s-c),2);
=======================================
sqrt()函数只需要一个参数!应该是/2吧?我记不住公式。

还有某商场促销,消费一定金额可以打折。s为消费金额
s>=100 9折
s>=300 8
s>=500 7
s>=700 6
s>=900 5
===================================
(规律性很强是吧!?)用点数学方法:
在直角坐标系下画些点:(100,1),(300,2),(500,3),.。够了,连线后一定是直线,坐标方程可得y=ks+C,
保证其整量化的前提下:
switch(k*s+C)
{
    case 0: ... 不能少
    case 1: ...break;
    case 2:...
}
其实,笨些点儿是,s/100得1,3,5,7,9;各加1再除2得1,2,3,4,5--case所需的常量就出来了
最后,这点数学手段(一定要考虑整量化)明白后,switch/case也是多余的,你完全可能用(100,0.9),(300,0.8),。。。。。构造一个变换函数,用switch/case只是出题者的一厢情愿罢了!
2009-11-24 18:42
梦楠
Rank: 1
来 自:徐州
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-11-18
收藏
得分:0 
switch(i)试问,这个"i"的值不是"0",0在C语言中不就是:假的意思吗?
是假那么switch(i)这个循环不执行,是的吗?
如果是:那么i应为1.
请问:是不是的呢??????
2009-11-24 18:42
xy4919961
Rank: 5Rank: 5
等 级:职业侠客
帖 子:199
专家分:362
注 册:2009-10-24
收藏
得分:0 
回复 8楼 梦楠
switch(i),
这个i是我要输入的数..如果输入了以后.他就不是0。了对吧。
其实他就相当于判断i这个数..等于case ()下面的那个数。等于他就执行他.
不等于任何一个case () 的数就什么也不做.

[ 本帖最后由 xy4919961 于 2009-11-24 19:01 编辑 ]

QQ群:96348241
2009-11-24 18:59
梦楠
Rank: 1
来 自:徐州
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-11-18
收藏
得分:0 
回复 9楼  
谢了
不好意思哦
刚才,你是不在你发的之前发过一个呢?我是说在你(6楼之前的)我是说的那一个,
好了
我明白了,OK!
2009-11-24 19:07
快速回复:请各位帮我看看这两段代码
数据加载中...
 
   



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

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