解题思路:
鉴于很多题解没有严格按题目要求通过数组、函数来求解,我便来介绍一个用数组求解此题的方法;
对于数据的处理,我们最容易想到的就是通过数组来求解,而在本题中,题目要求我们输入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" #include "string.h" void main() { int i,len; char a[1000],b[1000]; gets(a); len = strlen(a); for(i = 0;i<=len-1;i++) { b[i+i] = a[i]; b[2*i-1] = ' '; } b[i+i-1] = '\0'; puts(b); }
#include<stdio.h> int func1(char a[],char b[]){ int i,j=0; for(i=0;j<7;i++){ b[j]=a[i]; b[j+1]=' '; j=j+2; } b[7]='\0'; } int main(){ char a[4],b[10]; gets(a); func1(a,b); puts(b); } 答案是对的,但是运行错误,怎么回事呢
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <time.h> #include <Windows.h> int main(void) { int num; scanf("%d",&num); int a = num / 1000, b = num / 100 % 10, c = num / 10 % 10, d = num % 10; if (num==a*1000+b*100+c*10+d) { printf("%d %d %d %d\n",a, b, c, d); } system("pause"); return EXIT_SUCCESS; }
#include <stdio.h> #include <math.h> #include<string.h> int fun(char a[]) { int j; for(j=0;j<=3;j++) { printf("%c",a[j]); printf(" "); } } int main() { char a[4]; gets(a); fun(a); }
霸气江江 2021-09-07 21:35:46 |
这个为啥运行错误呢
#include <stdio.h> #include <stdlib.h> int fun(int n) { int a[4],i; while(n!=0) { for(i=3;i>=0;i--) { a[i]=n%10; n=n/10; } } for(int j=0;j<4;j++) printf("%d ",a[j]); } int main() { int n; scanf("%d",&n); fun(n); } //简单解法
霸气江江 2021-09-07 21:39:35 |
为啥显示格式错误
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:627 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:704 |
C二级辅导-进制转换 (C语言代码)浏览:551 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:607 |
C语言程序设计教程(第三版)课后习题6.3 (Java代码)浏览:695 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:627 |
C二级辅导-公约公倍 (C语言代码)浏览:1550 |
A+B for Input-Output Practice (C语言代码)浏览:505 |
简单的a+b (C语言代码)浏览:529 |
1071题解浏览:585 |
An 2021-12-23 09:50:49 |
#include<stdio.h> void k(int a); int main() { int a; scanf("%d",&a); k(a); } void k(int x) { int b[4],i; for(i=0;i<4;i++) { b[i]=x%10; x=x/10; } for(i=3;i>=0;i--) printf("%d ",b[i]); }