解题思路和注意事项:


思路:求出各位数,输出的时候加上空格就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 条评论

onemorecod 4年前 回复TA
#include <stdio.h>

void desp(int a);

int main()
{
	int a;
	scanf("%d",&a);
	
	desp(a); 
	
	return 0;
}

void desp(int a)
{
	int b[4];
	int i;
	
	b[0] = a/1000;
	b[1] = a/100-b[0]*10;
	b[2] = a/10-b[0]*100-b[1]*10;
	b[3] = a%10;
	
	for( i=0;i<4;i++ ){
		printf("%d",b[i]);
		if( i<3 ) printf(" ");
		else printf("\n");
	}	
}
P 4年前 回复TA
#include<stdio.h>
#include <stdlib.h>
#include <string.h>
void fenli(char a[],char b[])
{
	int i;
	int j = 0;
	for (i = 0; i < strlen(a); i++)
	{
		b[j] = a[i];
		j++;
		
    }
	
	for (i = 0; i < strlen(a)-1; i++)
	{
		printf("%c  ", b[i]);
		
	}
	if (i == strlen(a) - 1)
	{
		printf("%c", b[i]);
	}

}
int main(void)
{
	char a[100];
	char b[100] = { 0 };
	scanf_s("%s", a,100);
	fenli(a,b);
	




	system("pause");
	return 0;
}


想问问为什莫说答案基本正确,格式错误
天青色 4年前 回复TA
@feng 把char str[4]更改为char str[5],可能是字符串最后要存放一个‘/0’
feng 4年前 回复TA
#include<stdio.h>
#include<string.h>
int main()
{
    char str[4];
	int b,i;
    scanf("%d",&b);
    sprintf(str,"%d",b);
    for(i=0;i<4;i++)
    {
        printf("%c ",str[i]);
    }
    return 0;
}
结果都是对的,为啥不过
笑咲凌霄 4年前 回复TA
#include<stdio.h>
char putcha(char*cha,char*chb);
char putcha(char*cha,char*chb)
{
	int a=0,b=0,c,d=1,e,f;
	while(*cha!='\0')
	{
		*(chb+(2*a))=*cha;
		*(chb+(2*a)+1)=' ';
		a++;
		cha++;
	}
	
	return 0;
}
int main()
{
	char cha[100];
	char chb[100]={};
	scanf("%s",cha);
	putcha(cha,chb);
	printf("%s",chb);
	return 0;
}
笑咲凌霄 4年前 回复TA
@石哈哈 叫你定义一个函数,你倒好,直接打印
Sea 4年前 回复TA
int main(int argc, char *argv[]){
	std::string a;
	std::cin>>a;
	std::string::iterator s = a.begin();
	for(int i = 0; i<a.length(); i++){
		std::cout<<s[i]<<" ";
	}
}
石哈哈 5年前 回复TA
@石哈哈 指针的解法,感觉更ok
石哈哈 5年前 回复TA
#include<stdio.h>
#include<string.h>
int main(){
	char  a[100];
	gets(a);
	char  *p=a; 
	while(*p!='\0'){
		printf("%c ",*p);
		p++;
	}
	return 0;
}
90度微笑 5年前 回复TA
@qweuihqqi i小于N 不是I小于能与N