来个会C语言

来源:百度知道 编辑:UC知道 时间:2024/07/12 10:46:01
1:帮我看下这个代码可以怎么转换成if语句。
k=a>b?(b>c?1:0):0; 为什么等价于if((a>b)&&(b>c)) k=1;

2:根据以下程序用于判断a,b,c能构成三角形,若能输出yes。否则输出no。当给a,b,c输入三条边长时,确定a,b,c能构成三角形的条件是需同时满足三个条件:a+b>c,a+c>b,b+c>a。
main()
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
if(_____) printf("yes\n");
else printf("no\n");
}
3:以下程序运行结果_____。
main()
{
int a=1,b=2,c=3;
if(c=a) printf("%d\n",c);
else printf("%d\n",b);
}

4:以下程序输出结果______。
main()
{
int x=1,y=0,a=0,b=0;
switch(x)
{
case 1:switch(y)
{
case 0:a++; break;
case1:b++; break;
}
case 2:a++;b++; break;
}
printf("%d %d\n",a,b);
}
顺便帮忙讲解下步骤OK?

你在做c语言作业啊,………………

第一问:k=a>b?(b>c?1:0):0应该等价于if((a>b)&&(b>c)) k=1; else k=0
分析:k=a>b?(b>c?1:0):0中,如果b<=c,则取0,那么k的值不管a是否大于b都是0;如果a<=b,则不管b是否大于c都取0。总之,只有a>b且b>c时,k=1,否则k=0

第二问:你把三个条件都加上不就行了?空中填:(a+b>c)&&(a+c>b)&&(b+c>a)

第三问:if(c=a)并不是说如果c等于a,而是将a的值赋给c,并且如果c非零,则执行下面的操作。所以c=1,输出1

第四问:x=1,执行switch(x)所对应的case 1,而y=0,执行switch(y)所对应的case 0,即a++。故输出:1 0

一问:你去看下a>b?c:d这个的用法,就可以知道了
二问:用下&&这个就可以了
如其人的回答.
如你是打算随便应付的话,就直接拿别人的
不是的话,请看c语言书籍,这些都是小菜

前面的同意楼上的
第四问我觉得应该是:2 1
执行switch(x)所对应的case 1,而y=0,执行switch(y)所对应的case 0,即a++,switch(x)的case1 后面没有break 所以还要执行case2