解题思路:


鉴于很多题解没有严格按题目要求通过数组、函数来求解,我便来介绍一个用数组求解此题的方法;


对于数据的处理,我们最容易想到的就是通过数组来求解,而在本题中,题目要求我们输入4个连续的不带空格的数,那么我们怎么不带空格让其赋予到一个数组里的4个不同的元素中呢?很明显,“int”"double" 型数组都没有办法实现我们的目标,我们便可以采用字符型数组(“char”)来解决我们的问题。(没想到吧,字符型数组在处理纯数字时也能派上用场)


注意事项:

输入输出时记得用%c!


参考代码:

#include <stdio.h> 
void kongge (char a[4]);
int main()
{
	char a[4];
	int i;
	for(i=0;i<4;i++)
		scanf("%c",&a[i]);
	kongge(a);
	return 0;
}
void kongge (char a[4])
{
	int i,t=0;
	for(i=0;i<4;i++){
		if(t!=0)           //用来输出空格
			printf(" ");
		t++;
		printf("%c",a[i]);
	}
}



点赞(0)
 

0.0分

37 人评分

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

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

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

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

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

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

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

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

评论列表 共有 34 条评论

1年前 回复TA
#include<stdio.h>
int main()
{
	char a[4];
	int i;
	gets(a);
	for(i=0;i<4;i++)
	{
		printf("%c ",a[i]);
	}
	return 0;
}
额,我直接for 循环的时候往输出里加个空格不就好了?为啥要专门声明一个新的空函数为输出空格专门建立一个for 循环?
1111Jane 1年前 回复TA
请问 为什么用int输入输出不可以嘞
一级抠脚老汉 2年前 回复TA
@stolen 自定义函数喔,没看题
郁猪猪 2年前 回复TA
@stolen 哈哈哈哈哈 但是这样最后一个字母后边会带空格,但是不重要,无脑上
徘徊的老猿 2年前 回复TA
@stolen 本来没啥的,直接无脑几个字笑死了,哈哈哈哈
stolen 2年前 回复TA
#include<stdio.h>
#define N 4
int main(){
	int i;
	char a[N];
	for(i=0;i<N;i++){
		scanf("%c",&a[i]);
	}
	
	for(i=0;i<N;i++){
		printf("%c ",a[i]);
	}
}
直接无脑
热爱自动化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;
}
lcn 2年前 回复TA
@北极星 想问一下为什么删掉计算字符串这个函数然后提交是错误的呢#include<stdio.h> int main() {   char a[4];    gets(a);    int i;      for(i=0;i<4;i++)    {printf("%c ",a[i]);}       return 0; }
aioros 2年前 回复TA
#include <stdio.h>

void num(int a);

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

void num(int a)
{
	int n;
	int m=a;
	int i=1000;
	do{
		n = m/i;
		m = m%i;
		printf("%d ",n);
		i = i/10;
	}while(i>0);

}
北极星 3年前 回复TA
#include<stdio.h>
#include<string.h>
int main()
{
  char a[100];
   gets(a);
   int m,i;
   m=strlen(a);
   for(i=0;i<m;i++)
   {printf("%c ",a[i]);}


    return 0;
}