C语言问题这个9怎么算出来的

Python034

C语言问题这个9怎么算出来的,第1张

这是一个求最大公约数的程序。主城区中就是读入两个数,然后调用函数进行计算,最后进行输出。再锁就用的函数中,首先是一个进行判断,如果钱数小于后数的话,就对两数进行交换(其实这一步是可以省略的)。然后接下来就是用辗转相除法求这两个数的最大公约数。初学者可以列出变量清单,一共有三个变量,一个a,一个b,一个r。首先是经过计算余数r=9。接下来就是a=45,b=9。然后再依次计算余数r的时候就是等于0。这时候函数就返回b的值,也就是9。最后,在主程序当中就输出这个最大公因数9。

1)最简单的是让数字字符去减‘0’得到的就是数字的值。

示例如下:

char

c=‘0’

//'1','2','3',.....'9'

int

num=0

num

=

int(c

-

'0')

2)用函数atoi可以把字符转为数字。

#include <stdio.h>

#include <math.h>

#include <malloc.h>

int hasN(int num)

int main()

{

  int bn,en,i

  while(1)

  {

      printf("请输入数字区间的起始和结束数字:"),scanf("%d%d",&bn,&en)

      if(bn>en)

          bn^=en,en^=bn,bn^=en

      printf("所有包含9的数字有:")

      for(i=bni<=eni++)

          if(hasN(i))

              printf("%d ",i)

      printf("\n\n")

  }

  return 0

}

int hasN(int num)

{

  int flag=0

  num=abs(num)

  while(num/10>0)

  {

      if(num%10==9)

      {

          flag=1

          break

      }

      num=num/10

  }

  if(num==9)

      flag=1

  return flag

}