C语言、将输入的数字字符串从后向前每四位存入另一个指针数组中、也就是说这个新的指针数组每个元素代

四位十进制数据、然后输出

#include <stdio.h>
#include <string.h>

const int MAXSIZE = 100;

int main() {
char s[MAXSIZE + 1],t[MAXSIZE/4][5];
int i,j,k,len,num,n = 0;
printf("输入数字串:\n");
fgets(s,MAXSIZE,stdin);
len = strlen(s) - 1;
i = len - 4;
while(i >= 0) {
for(j = 0; j < 4; ++j)
t[n][j] = s[i + j];
t[n][j] = '\0';
++n;
i -= 4;
}
if(i + 4 > 0) {
for(k = 0; k < len%4; ++k)
t[n][k] = s[k];
t[n][k] = '\0';
++n;
}
for(i = n - 1; i >= 0; --i) {
num = 0;
for(j = 0; t[i][j]; ++j) {
if(t[i][j] < '0' || t[i][j] > '9') {
printf("'%d':非法数字!\n",t[i][j]);
return 1;
}
num = 10 * num + t[i][j] - '0';
}
printf("%d ",num);
}
printf("\n");
return 0;
}

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网