用C写个编程输入一个完全由数字组成的字符串,从字符串的第一个字符开始,每两个数字作为两位整数,存放在一维整型数组中,如果最后只剩一个数字,则将该字符作为一个整数存放在数组中.试
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/22 11:16:31
用C写个编程输入一个完全由数字组成的字符串,从字符串的第一个字符开始,每两个数字作为两位整数,存放在一维整型数组中,如果最后只剩一个数字,则将该字符作为一个整数存放在数组中.试
用C写个编程
输入一个完全由数字组成的字符串,从字符串的第一个字符开始,每两个数字作为两位整数,存放在一维整型数组中,如果最后只剩一个数字,则将该字符作为一个整数存放在数组中.试编写一个函数实现上述功能,字符串的输入,一维整型数组的输出在主函数中完成.
用C写个编程输入一个完全由数字组成的字符串,从字符串的第一个字符开始,每两个数字作为两位整数,存放在一维整型数组中,如果最后只剩一个数字,则将该字符作为一个整数存放在数组中.试
#include <stdio.h>
#define MAXLONE_STR 100
#define MAXLONE_DIG 50
int getDigits(char a[],int target[]){
int i=0,k=0,index_dig=0;
const int two_dig=2;
while (a[i]!='\0')
{
\x09 if(k==2){
target[index_dig++]=(a[i-1]-48)+((a[i-2]-48)*10);
k=0;
\x09 }
else{
\x09\x09 i++;
\x09\x09 k++;
\x09 }
\x09
}
//当k=1时说明尾部仅有一个数字
if(k==1) target[index_dig++]=(a[i-1]-48);
return index_dig; // 返回数组长度
}
void main(){
char test[MAXLONE_STR]="1234567";
\x09int dig[MAXLONE_DIG];
\x09int len=getDigits(test,dig);
\x09// 输出得到的数字
\x09for (int i=0;i<len;i++) printf("%d ",dig[i]);
\x09printf("\n");
\x09
}