解题思路:
鉴于很多题解没有严格按题目要求通过数组、函数来求解,我便来介绍一个用数组求解此题的方法;
对于数据的处理,我们最容易想到的就是通过数组来求解,而在本题中,题目要求我们输入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分
49 人评分
#include<stdio.h> void fun( char ch[4]){ int i; for(i=0;i<4;i++){ printf("%c ",ch[i]); } } int main(){ char ch[4]; gets(ch); fun(ch); return 0; }
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--; } }
#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]); } }
#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;
#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; }
#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; }
#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]); } }
#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 循环?