解题思路和注意事项:


思路:求出各位数,输出的时候加上空格就OK。


四位数各位的求法:

        1、个位,直接对10取余;

        2、十位,先对10取整得到前三位数,再对10取余就得到十位;

        3、百位,先对100取整得到百位和千位的数,此时是一个两位数,再对10取余就得到百位;

        4、千位,直接对1000取整即可。



参考代码:


#include<stdio.h>
int main()
{
	int a,b,c,d,num;
	scanf("%d",&num);
	a = num / 1000;
	b = num / 100 % 10;
	c = num / 10 % 10;
	d = num % 10;
	printf("%d %d %d %d\n",a,b,c,d);
	return 0;
}


点赞(14)
 

0.0分

88 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 43 条评论

uq_20683462552 1年前 回复TA
#include<stdio.h>		//写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出"1 9 9 0"。
void kongge(int n);
int main(){
	int n;
	printf("请输入一个四位数\n");
	scanf("%d",&n);
	kongge(n);
	
	
	
	return 0;
}

void kongge(int n)
{
	int a,b,c,d;
	a=n%10;
	b=(n%100)/10;
	c=(n%1000)/100;
	d=n/1000;
	printf("%d  %d  %d  %d",d,c,b,a);
	
	
}
超超 1年前 回复TA
@oula 提问:为什么要将0作为字符串结尾,不这样会有什么问题
外物 2年前 回复TA
#include<stdio.h>
int main()
{
	int a;
	int i,b;
    int c[4];
	scanf("%d",&a);
	
	for(i=0;i<4;i++){
	    b=a%10;
	    a/=10;
	    c[i]=b;
	}
	for(i=3;i>=0;i--)
	{
	    printf("%d ",c[i]);
	}
	return 0;
}
oula 2年前 回复TA
#include <stdio.h>

void Out(char a[]);

int main(void)
{
    char data[5];//‘\0’作为字符串结尾
    gets(data);
    Out(data);
    return 0;
}

void Out(char a[])
{
    int i = 0;
    while (a[i] != '\0')
    {
        printf("%c" ,a[i]);
        printf(" ");
        i++;
    }
}
玛卡巴卡 2年前 回复TA
#include<stdio.h>
#include<string.h>
int main()
{
	char a[100],b[100];
	int l,i,j;
	gets(a);
	l = strlen(a);
	for(i = 0,j = l - 1;i < l;i++,j--)
	{
		printf("%c",a[i]);
		if(j != 0)
		printf(" ");
	}
	return 0;
}
热爱自动化007 2年前 回复TA
#include<stdio.h>
#include<string.h>
void fun(char a[],char b[])
{
    int i,l,j=0;
    l=strlen(a);
    for(i=0;i<l;i++)
    {
        if(a[i]!='\0')//判断是否循环到数组a[]的最后结尾。
        {
        b[j]=a[i];
        j++;
        b[j++]=' ';//给b[]增加的一位上加入空格。
        }
    }
    
}
int main()
{
	char a[1000],b[1000];
	gets(a);
	fun(a,b);
	puts(b);
	return 0;
}
蠢狗君 3年前 回复TA
#include<stdio.h>
#include<string.h>

char shuchu(char a[]){
	int n,i;
	n=strlen(a);
	for(i=0;i<n;i++){
		if(i==0) printf("%c",a[i]);
		else printf(" %c",a[i]);
			}
	return 0;
	}

int main(void){
	char a[15];
	printf("input:\n");
	gets(a);
	shuchu(a);
	return 0;	
}
昔痕 4年前 回复TA
#include <stdio.h>

void part(int num)
  {
  	int a,b,c,d;
  	a=num/1000;
  	b=(num-a*1000)/100;
  	c=(num-a*1000-b*100)/10;
  	d=num%10;
  	printf("%d %d %d %d",a,b,c,d);
  }
  
int main()
  {
  	int num;
  	scanf("%d",&num);
  	part(num);
  	
  	return 0;
  }
潇洒 4年前 回复TA
#include<stdio.h>
void han(int n);
int main(){
	int a;
	do{
		scanf("%d",&a);
	}while(a>9999||a<1000);
	han(a);
}
void han(int n){
	int a[4],i;
	for(i=0;i<4;i++){
		a[i]=n%10;
		n/=10;
	}
	for(i=3;i>=0;i--){
		printf("%d ",a[i]);
	}
	
}
踏上星辰 4年前 回复TA
#include <stdio.h>
#include <string.h>
int main(void)
{
    char str[4];
    scanf("%s",str);
    printf("%s",str);
    for(int i=0;i<=3;i++)
    {
        putchar(str[i]);
        if(i!=3)
        putchar(' ');
    }

        return 0;
}