程序与算法测试题 一、阅读下列C程序段,写出相应的执行结果(每小题8分,共16分) 1. printf(“Input x”); scanf(“%d”,&x); if (x<=30) if(x>20) y=x; else if (x>10) y=2*x; if (x>0&&x<30)printf(“x=%d,y=%d”,x,y); else printf(“输入数据错!”); 试写出当x分别为18,8时的执行结果。 2. long int fact(n) int n; {long f; if(n>1)f=n*fact(n-1); else f=1; return(f); } main() {int n; long y; n=5; y=fact(n); printf(“%d,%ld\n”,n,y); } 二、分析下面各程序段的时间复杂度(每小题12分,共48分) 1. for (i=0; i