數位所方老師的期未考題

 

 

1.求(1-1)^2+(1-2)^2+...(10-9)^2+(10-10)^2
 
int main(void)
{
  int arr[10][10],i,j,count=0;

  for(i=1;i<=10;i++)
    for(j=1;j<=10;j++)
    {
      arr[i-1][j-1]=i*i+j*j-2*i*j;
    }

  for(i=0;i<=9;i++)
    for(j=0;j<=9;j++)
      count=count+arr[i][j];

      printf("count is %d\n",count);

}
如果程式碼沒記錯,答案跑出來1650, 我不會算,真不知這麼鳥的題目是在幹嘛


2.變數的生命週期

int func(int a,int b);
int main(void)
{
  int x=5;
  int y=10;
  int z;
  z=func(x,y);
  printf("x=%d,y=%d,z=%d\n",x,y,z);
}
int func(int a,int b)
{
   a=a+b;
   b=a+b;
   return b;
}
跑出來,x,y值不會因為帶入函數而變化(我認為是要考這觀念)
x=5,y=10,z=25

3.遞迴
int Func(int x);
int main(void)
{
   int x=8;
   printf("ans is %d\n",Func(x));
}

int Func(int x)
{
  if (x==1)
     return 1;
  else if (x==2)
     return 3;
  else
    return 2*Func(x-1)-Func(x-2);
}
從Func(3)算起,得到規則1,3,5,7,9,...
ans is 15

4.一數列中求第n個數

int main(void)
{
  int fn,fn_1=1,fn_2=1,n=6,i;

  for(i=1;i<=n-2;i++)
  {
    fn=3*fn_1+4*fn_2;
    fn_2=fn_1;
    fn_1=fn;
  }

  printf("%d\n",fn);
}


答案:409

5. continue & break,

int main(void)
{
  int i,j,count=0;

  for(i=1;i<=10;++i)
  {
    for(j=1;j<=10;++j)
    {

    if(j%3==0)
      continue;

    if(i%5==0)
      break;

    ++count;
    }
  }

 printf("count is %d\n",count);
}

這個我己經不太確定是不是長這樣了,不過我寫的答案跟上面跑出來也不一樣  ><

arrow
arrow
    全站熱搜

    igogo 發表在 痞客邦 留言(0) 人氣()