8)对于带有 : 的语句

学长教导:

 永远记住要先处理小范围的情形
 
 
对于  一句话 :如果x>1,再判断x是否大于10,要是大于10,就返回11,否则就返回9,要是x小于1,就返回-3;
 
 
我的开始这样写的
    
1 int x=10;
2 //int b=(x>1)?(x>=10)?11:9):(-3);

 

但是想法感觉是对的,,实际是错误的,:记住学长那个话,现充范围小的开始,要是你不确定范围,自己画个数轴试试;

正确做法:

1 int x=102 int b=x>10 ? 11 : ((x>1) ? 3 : 9);

 

 

 

下面是应用那个 :  的一段小代码:

求两个数的最大公约数和最小公倍数

 1 #include<stdio.h>
 2 int main()
 3 {
 4     
 5     
 6     
 7     int a,b;
 8     int i,j;
 9     int temp;
10     scanf("%d %d",&a,&b);
11     for(i=1;i<= (a>b?b:a);i++)
12 {
13     if(a%i==0&&b%i==0)
14     temp=i;
15 }
16 printf("%d\n",temp);
17 printf("%d\n",a*b/temp);
18     
19     
20     
21     
22     
23     
24     return 0;
25 }

 

posted @ 2017-09-29 20:48  小油菜1  阅读(184)  评论(0编辑  收藏  举报