写一个函数,输人一个4位数字,要求输出这4个数字字符,但每两个数字间空一个空格。如输人1990,应输出“1 9 9 0”。
#include <stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #define N 50 void split(char* p,int n);//split 分解 int main(void) { char s[N]; int n; puts("请输入一个数字"); scanf("%d",&n); puts("数字分解为 :"); split(s, n); int n1 = strlen(s);//实际长度 for (int i = n1 - 2; i >= 0; i--) {//反向输出 printf("%c", s[i]); } return 0;
}// puts("");
void split(char* p, int n) { int i = 0; while (n > 0) { *(p + i) = n % 10 + '0';//加上字符'0' *(p + i+1) = ' '; i += 2; n /= 10; } *(p + i) = '\0';//最后加上终止符 }
#include<stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> int main() { char a[10]={'\0'}; scanf("%s",a); for(int i=0;i<strlen(a);i++) { printf("%c ",a[i]); } }
eeexlie 回复 绿城: 要函数
题目解析:
对字符串进行遍历...
用户登录可进行刷题及查看答案
对字符串进行遍历输出,没输出一个字符,后面就跟着输出一个空格,关键点在于如果输出的是最后一个字符,则不能在输出字符,所以要对是否是最后一个字符的输出进行判断。
#include<stdio.h> void OutString(char str[]) { int i = 0; while(str[i] != '\0') { printf("%c", str[i]); if(str[i+1] == '\0') //清除最后一个空格不输出 break; printf("%c", ' '); i++; } printf("\n"); } int main() { char str[5] = {0}; printf("input four digits:"); scanf("%s", str); OutString(str); return 0; }
登录后提交答案