L减减丶


私信TA

用户名:1392788316

访问量:6527

签 名:

等  级
排  名 8097
经  验 1199
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 武汉轻工大学
专  业

  自我简介:

解题思路:


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


对于数据的处理,我们最容易想到的就是通过数组来求解,而在本题中,题目要求我们输入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分

40 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区

void t1034()
{
    // 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出"1 9 9 0"。
    int n = 0, i = 0;
    int arr[128] = {0};
    scanf("%d", &n);
    while (n)
    {
        arr[i] = n % 10;
        n = n / 10;
        i++;
    }
    while (i)
    {
        printf("%d ", arr[i - 1]);
        i--;
    }
}
2024-04-11 11:01:34
#include<stdio.h>
#include<string.h>
int main()
{
	char str[10];
	gets(str);
	for(int i=0;str[i]!='\0';i++)
	{
		printf("%c ",str[i]);
	}
}
2024-03-21 23:37:17
#include<stdio.h>
#include<string.h>

char text[] = "0123456789";

void function(char* a, int num)
{
	
	for (int i = 0;i < 8;i++)
	{
		if (i % 2 == 0)
		{
			switch (i)
			{
			case 0:a[i] = text[num / 1000];
				break;
			case 2:a[i] = text[num / 100%10];
				break;
			case 4:a[i] = text[num /10%10];
				break;
			case 6:a[i] = text[num %10];
				break;
			}
		}
		else
		{
			a[i] = ' ';
		}
	}
}

int main()
{
	int num;
	char a[10]="";
	scanf("%d", &num);
	function(a, num);
        return 0;
2024-03-09 18:17:14
#include<stdio.h>
int main()
{
	int i;
	char x[4];
	scanf("%s",&x);
	for(i=0;i<4;i++)
	{
		printf("%c ",x[i]);
	}
	printf("\n");
	return 0;
}
2024-01-24 20:44:20
#include<stdio.h>
#include<string.h>
int main()
{
	int i,t;
	char x[100];
	scanf("%s",&x);
	t=strlen(x);
	for(i=0;i<t;i++)
	{
		if(x[i]=='a'||x[i]=='o'||x[i]=='i'||x[i]=='e'||x[i]=='u')
		{
			printf("%c",x[i]);
		}
	}
	return 0;
}
2024-01-24 19:59:45
#include<stdio.h>
#include<string.h>
int main()
{
    void space(char arr[]);
    char a[10], i;
    for (i = 0; i < 4; i++)
    {
        scanf("%c", &a[i]);
    }//数组初始化
    a[i] = '\0';
    space(a);
    return 0;
}

void space(char arr[])
{
    int i;
    for (i = 0; i < strlen(arr); i++)
    {
        printf("%c ", arr[i]);
    }
}
2023-04-09 14:00:14
#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 循环?
2023-03-07 22:22:17
请问 为什么用int输入输出不可以嘞
2023-02-01 21:58:00