嵌入式学习小组
直播中

李旗挺

6年用户 219经验值
私信 关注

常见的10大C语言基础算法

10大C语言基础算法

回帖(10)

王冬梅

2020-12-28 18:05:25
  C语言实现的代码如下:
  /* Displaying Fibonacci sequence up to nth term where n is entered by user. */
  #include 《stdio.h》
  int main()
  {
  int count, n, t1=0, t2=1, display=0;
  printf(“Enter number of terms: ”);
  scanf(“%d”,&n);
  printf(“Fibonacci Series: %d+%d+”, t1, t2); /* Displaying first two terms */
  count=2; /* count=2 because first two terms are already displayed. */
  while (count《n)
  {
  display=t1+t2;
  t1=t2;
  t2=display;
  ++count;
  printf(“%d+”,display);
  }
  return 0;
  }
  结果输出:
  Enter number of terms: 10
  Fibonacci Series: 0+1+1+2+3+5+8+13+21+34+
  也可以使用下面的源代码:
  /* Displaying Fibonacci series up to certain number entered by user. */
  #include 《stdio.h》
  int main()
  {
  int t1=0, t2=1, display=0, num;
  printf(“Enter an integer: ”);
  scanf(“%d”,&num);
  printf(“Fibonacci Series: %d+%d+”, t1, t2); /* Displaying first two terms */
  display=t1+t2;
  while(display《num)
  {
  printf(“%d+”,display);
  t1=t2;
  t2=display;
  display=t1+t2;
  }
  return 0;
  }
  结果输出:
  Enter an integer: 200
  Fibonacci Series: 0+1+1+2+3+5+8+13+21+34+55+89+144+
举报

云静京

2020-12-28 18:05:35
  回文检查
  源代码:
  /* C program to check whether a number is palindrome or not */
  #include 《stdio.h》
  int main()
  {
  int n, reverse=0, rem,temp;
  printf(“Enter an integer: ”);
  scanf(“%d”, &n);
  temp=n;
  while(temp!=0)
  {
  rem=temp%10;
  reverse=reverse*10+rem;
  temp/=10;
  }
  /* Checking if number entered by user and it‘s reverse number is equal. */
  if(reverse==n)
  printf(“%d is a palindrome.”,n);
  else
  printf(“%d is not a palindrome.”,n);
  return 0;
  }
  结果输出:
  Enter an integer: 12321
  12321 is a palindrome.
举报

刘斌

2020-12-28 18:05:46
  质数检查
  注:1既不是质数也不是合数。
  源代码:
  /* C program to check whether a number is prime or not. */
  #include 《stdio.h》
  int main()
  {
  int n, i, flag=0;
  printf(“Enter a positive integer: ”);
  scanf(“%d”,&n);
  for(i=2;i《=n/2;++i)
  {
  if(n%i==0)
  {
  flag=1;
  break;
  }
  }
  if (flag==0)
  printf(“%d is a prime number.”,n);
  else
  printf(“%d is not a prime number.”,n);
  return 0;
  }
  结果输出:
  Enter a positive integer: 29
  29 is a prime number.
举报

孟佳

2020-12-28 18:06:03
  打印金字塔和三角形
  使用 * 建立三角形
  *
  * *
  * * *
  * * * *
  * * * * *
  源代码:
  #include 《stdio.h》
  int main()
  {
  int i,j,rows;
  printf(“Enter the number of rows: ”);
  scanf(“%d”,&rows);
  for(i=1;i《=rows;++i)
  {
  for(j=1;j《=i;++j)
  {
  printf(“* ”);
  }
  printf(“n”);
  }
  return 0;
  }
  如下图所示使用数字打印半金字塔。
  1
  1 2
  1 2 3
  1 2 3 4
  1 2 3 4 5
  源代码:
  #include 《stdio.h》
  int main()
  {
  int i,j,rows;
  printf(“Enter the number of rows: ”);
  scanf(“%d”,&rows);
  for(i=1;i《=rows;++i)
  {
  for(j=1;j《=i;++j)
  {
  printf(“%d ”,j);
  }
  printf(“n”);
  }
  return 0;
  }
  用 * 打印半金字塔
  * * * * *
  * * * *
  * * *
  * *
  *
  源代码:
  #include 《stdio.h》
  int main()
  {
  int i,j,rows;
  printf(“Enter the number of rows: ”);
  scanf(“%d”,&rows);
  for(i=rows;i》=1;--i)
  {
  for(j=1;j《=i;++j)
  {
  printf(“* ”);
  }
  printf(“n”);
  }
  return 0;
  }
  用 * 打印金字塔
  *
  * * *
  * * * * *
  * * * * * * *
  * * * * * * * * *
  源代码:
  #include 《stdio.h》
  int main()
  {
  int i,space,rows,k=0;
  printf(“Enter the number of rows: ”);
  scanf(“%d”,&rows);
  for(i=1;i《=rows;++i)
  {
  for(space=1;space《=rows-i;++space)
  {
  printf(“ ”);
  }
  while(k!=2*i-1)
  {
  printf(“* ”);
  ++k;
  }
  k=0;
  printf(“n”);
  }
  return 0;
  }
  用 * 打印倒金字塔
  * * * * * * * * *
  * * * * * * *
  * * * * *
  * * *
  *
  源代码:
  #include《stdio.h》
  int main()
  {
  int rows,i,j,space;
  printf(“Enter number of rows: ”);
  scanf(“%d”,&rows);
  for(i=rows;i》=1;--i)
  {
  for(space=0;space《rows-i;++space)
  printf(“ ”);
  for(j=i;j《=2*i-1;++j)
  printf(“* ”);
  for(j=0;j《i-1;++j)
  printf(“* ”);
  printf(“n”);
  }
  return 0;
  }
举报

更多回帖

发帖
×
20
完善资料,
赚取积分