精华内容
下载资源
问答
  • 输出整数各位数字

    千次阅读 2018-11-18 00:23:56
    输出整数各位数字 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数。 输出格式: 从高位开始逐位输出该整数的各位数字,...

    输出整数各位数字

    本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。

    输入格式:
    输入在一行中给出一个长整型范围内的非负整数。

    输出格式:
    从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。

    输入样例:

    123456
    

    输出样例:

    1 2 3 4 5 6
    

    方法1:
    思路:先求该数字的位数,在从最高位依次输出单个数字。

    #include<stdio.h>
    #include<math.h>
    int main()
    {
      int count,n,m,x,j;
      count=0;
      scanf("%d",&n);
      m=j=n;      /*把n的值赋给m,j*/
      do{
       m=m/10;
       count++;
      }while(m!=0);      /*求这个数的个数*/
      do{
       n=n/pow(10,count-1);   /*求第一个数字*/
       printf("%d ",n);
       n=j-n*pow(10,count-1);   /*求第一个数字后面的数字*/
       j=n;
       count=count-1;
      }while(count>=1);
      return 0;
    }
    

    方法2:
    思路:把输入的数字看做字符,单个输入各位的数字,在依次输出该数字和空格即可。

    #include<stdio.h>
    int main(){
      char ch;                 /*把输入的数字看做字符*/
      ch=getchar();            /*输入数字的第一位数字*/
      while(ch>='0'&&ch<='9'){
      	printf("%c ",ch);      /*输出该数字和空格*/
      	ch=getchar();          /*重复输入数字*/
      }
      printf("\n");
      
      return 0;
    }
    

    夜间小思:

    夜晚让我们卸下了白天的面具,每一个熬夜的人或许都只是想做一个真实而能够掌控的自我。

    展开全文
  • 一、输出整数的位数 运用“去尾法”获取整数n的位数。“去尾法”是将整数n/10后重新赋值给n,可将整数n的最后一位数去掉。每次去掉一位,计数器+1,直到整数n被赋值为0时,计数器停止计数,此时计数器的数字为整数n...

    一、输出整数的位数
      运用“去尾法”获取整数n的位数。“去尾法”是将整数n/10后重新赋值给n,可将整数n的最后一位数去掉。每次去掉一位,计数器+1,直到整数n被赋值为0时,计数器停止计数,此时计数器的数字为整数n的位数。考虑当整数n取0时,运用do-while循环语句可以进入循环。

    源代码:

    int GetFigures(int n)
    {
    	int count=0;      //计数器
    	do
    	{
    		n=n/10;   //“去尾法”,对n进行赋值
    		count++;  //去掉一位,计数器+1
    	}
    	while(n!=0);      //当n被赋值为0时停止循环
    	return count;
    }

    二、逆序输出整数各位数字
      用do-while循环语句,将整数n%10依次打印结果,再运用“去尾法”将n赋值为n/10,直到n被赋值为0时,循环结束。可以得到n的每一位数字。

    源代码:
    void PrintReverse(int n)
    {
    	if(n<0)
    	{
    		printf("-");
    	   n=-n;
    	}		              //当整数n小于0时,输出一个“-”号
    	do
    	{
    		printf("%d  ",n%10);  //输出整数的各位
    		n=n/10;		      //去尾法”,对n进行赋值
    	}while(n!=0);                 //当n被赋值为0时停止循环
    	printf("\n");
    }

    三、顺序输出整数各位数字


       顺序输出整数的每一位。
      例如5234 输出 5  2   3  4,当5234/1000=5,5234%1000=234;
                                                   234/100=2,     234%100=34;

                                                        ...                       ...

      由这个例子可以找出规律,整数n/(10的n的位数减一次方)的结果是n的最高位,再利用n%(10的n的位数减一次方)去掉n的最高位,进行循环,直到n被赋值为0时停止循环。


    源代码:
    void PrintOrder(int n)
    {
    	int tmp;
    	tmp = GetFigures(n);         //调用GetFigures函数
    	int power=1;                
    	if(n<0)
    	{
    		printf("-");
    		n=-n;
    	}			     //当整数n为负数时,输出一个“-”号
    	for(int i=0;i<tmp-1;i++)
    	{
    		power *= 10;
    	}                            //10的n的位数减一次方
    	do
    	{
            printf("%d  ",n/power);      //打印最高位数
    		n = n%power;         //去掉最高位
    		power /= 10;         //一次循环结束,power/10
    	}
    	while(n!=0);                 //当n被赋值为0时停止循环              
     	printf("\n");
    }
    

     

    展开全文
  • 7-37 输出整数各位数字 题目代码小贴士 题目 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数。 输出格式: 从高位开始逐位...

    7-37 输出整数各位数字

    题目

    本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。
    输入格式:

    输入在一行中给出一个长整型范围内的非负整数。
    输出格式:

    从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。

    代码

    写对了之后发现这个程序的难度不过如此,但是写出来之前真是头大。
    以下是我的运行情况,惨不忍睹,偏偏我还不知道他咋了。当时真的是一脸问号(ノ`Д)ノ
    在这里插入图片描述中间那个答案正确,还是看了别人的。/(ㄒoㄒ)/~~
    好在我终于搞定了。

    #include<stdio.h>
    
    int main() {
        int x;
        scanf("%d", &x);
    
        int c;
        int ret = 1;
        int n;
    
        n = x;
        while(x > 9) {
            x /= 10;
            ret *= 10;
        }
        while(ret > 0) {
            c = n/ret;
            n = n % ret;
            ret /= 10;
            printf("%d ", c);
        }
        return 0;
    }
    
    

    小贴士

    • 输出样例如下:
    1 2 3 4 5 6 
    
    

    但实际上,输出时没有这个呐

    printf("\n")
    

    也不需要考虑结尾不能有空格的问题,只要这样就好了

    printf("%d ", c);
    
    • 除此之外,我也很迷的一点是在DEV C++里运行输入为sample、0、一位数的结果都是对的,但是就是通过不了。
      我就想着换一个软件好了,就是以下这个,https://clin.icourse163.org/网站。然后,我就改对啦。

    我也不太明白原理是啥,有知道的小伙伴可以告诉我吗?

    展开全文
  • 输出整数各位数字(三种方法)

    千次阅读 2019-01-17 20:47:21
    输出整数各位数字 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数。 输出格式: 从高位开始逐位输出该整数的各位数字,...

    输出整数各位数字

    本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。

    输入格式:

    输入在一行中给出一个长整型范围内的非负整数。

    输出格式:

    从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。

    输入样例:

    123456

    输出样例:

    1 2 3 4 5 6

    方法一:
    将该整数看成若干个数字字符组成的字符串,将字符串中的所有数字字符逐个输出。

    # include <stdio.h>
    
    int main()
    {
    	char c;
    	
    	do 
    	{
    		scanf("%c", &c);	
    		
    		if (!(c >= '0' && c <= '9'))    //利用最后输入的回车键也会被看做字符被scanf读取的特点跳出循环。 
    			break;	
    			
    		printf("%c ", c);
    		
    	} while (c >= '0' && c <= '9') ;
    	
    	return 0;
    }
    

    方法二:
    引用数组,先从最低位开始取余,最后将数组倒着输出。

    # include <stdio.h>
    
    int main()
    {
    	int i;
    	int j;
    	int a[50] = {0};
    	int n;
    	scanf(" %d", &n);
    	
    	if (0 == n)
    	{
    		printf("0 \n");
    		return 0;
    	}
    	
    	for (i=1; n; ++i)
    	{
    		a[i] = n % 10;
    		n /= 10;	
    	}
    	
    	--i;
    	
    	while (i)
    	{
    		printf("%d ", a[i]);
    		--i;
    	}
    	
    	return 0;
    }
    

    方法三:
    先测出该整数的总位数,再从最高位开始取余。

    # include <stdio.h>
    
    int main()
    {
    	int temp;
    	int pow = 1;
    	int i = 1;
    	int n;
    	scanf(" %d", &n);
    	
    	temp = n;
    	while (temp/10) 
    	{
    		temp /= 10;
    		pow *= 10;
    		++i;
    	}   
    		
    	while (i)
    	{
    		printf("%d ", n / pow);
    		n %= pow;
    		pow /= 10;
    		--i;
    	}
    	
    	printf("\n");
    	
     	return 0;
    }
    
    展开全文
  • 题目:4-2-7 输出整数各位数字 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数。 输出格式: 从高位开始逐位输出该整数的...
  • 7-5 输出整数各位数字 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数。 输出格式: 从高位开始逐位输出该整数的各位...
  • 7-37 输出整数各位数字(15 分)

    万次阅读 多人点赞 2018-07-26 22:52:58
    7-37 输出整数各位数字(15 分) 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数。 输出格式: 从高位开始逐位输出...
  • 7-4 输出整数各位数字 (10 分)本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数。 输出格式: 从高位开始逐位输出该整数的...
  • 实验4-2-8输出整数各位数字(15分) 题目要求: 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数。 输出格式: 从高位...
  • 7-37 输出整数各位数字 (15分) 题目描述如下: 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数。 输出格式: 从高位开始逐位...
  • 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数输出格式: 从高位开始逐位输出整数各位数字,每个数字后面有一个空格...
  • PTA | 实验4-2-8 输出整数各位数字

    千次阅读 2020-03-03 23:19:54
    实验4-2-8 输出整数各位数字 (15分) 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数。 输出格式: 从高位开始逐位输出...
  • 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数输出格式: 从高位开始逐位输出整数各位数字,每个数字后面有一个空格...
  • 7-37 输出整数各位数字 (15 分) 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数。 输出格式: 从高位开始逐位输出该整数的...
  • 7-37输出整数各位数字(15分) 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数。 输出格式: 从高位开始逐位输出该整数的...
  • 实验4-2-8 输出整数各位数字 (15 分) 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数。 输出格式: 从高位开始逐位输出...
  • 输出整数各位数字 PTA

    2021-04-08 11:34:41
    本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。 #include<stdio.h> #include<math.h> int main(){ int n,k,i,count=0,p,l=1; scanf("%d",&n); k=n; while(k=k/...
  • 输出整数各位数字(c语言 )

    万次阅读 多人点赞 2018-10-26 11:12:06
    本题要求编写程序,对输入的一个整数,从高位(低位)开始逐位分割并输出它的各位数字。 输入格式: 输入在一行中给出一个长整型范围内的非负整数输出格式: 从高位开始逐位输出整数各位数字,每个数字后面有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,164
精华内容 1,665
关键字:

输出整数各位数字