提取整数求和 |
您所在的位置:网站首页 › 罕见病基因缺陷 › 提取整数求和 |
题目描述:输入格式为 “整数字符串整数.整数”,其中字符串固定长度为5,输出为三个整数之和 该代码较为初级且繁琐,只用了数组有关知识 代码如下: #include #include #include int sum(char a[]){//该子函数将提取出的数字部分化为整数 int t,i,m=0,n=0; t=strlen(a); for(i=t-1;i>=0;i--){ m=(a[i]-48)*pow(10,n)+m; n++; } return m; } int main(){ char a[50]={0},b[50]={0},k[50]={0},d[50]={0}; int i,n=0,s,c=0,t;//s作为子函数的返回值,c作为三个整数部分的和 printf("请输入符合格式的字符串:\n"); gets(a); //将输入的字符串分为三个部分,即刚开始的整数部分,碰到5个字符时的整数部分,小数点后的整数部分,在每个部分前加以判断语句,判断数字是否为负数 // 刚开始的整数部分 if(a[0]=='-'){ for(i=1;i b[n]=a[i]; n++; continue; } s=-sum(b); printf("子函数的返回值为:%d",s); printf("\n"); c=c+s; printf("此时c的值为:%d",c); printf("\n"); break; }}else{ for(i=0;i b[n]=a[i]; n++; continue; } s=sum(b);//将其存入数组b中并提取 printf("子函数的返回值为:%d",s); printf("\n"); c=c+s; printf("此时c的值为:%d",c); printf("\n"); break; } } //碰到5个字符时的整数部分 n=0; if(a[i+5]=='-'){ for(i=i+6;i for(i=i+5;i for(t=i+2;t d[n]=a[t]; n++; continue; } break; } s=-sum(d); printf("子函数的返回值为:%d",s); printf("\n"); c=c+s; printf("此时c的值为:%d",c); } else{ for(t=i+1;t d[n]=a[t]; n++; continue; } break; } s=sum(d); printf("子函数的返回值为:%d",s); printf("\n"); c=c+s; printf("此时c的值为:%d",c); } return 0; } 代码的输出结果包括了每次调用子函数的值以及每部分相加的值,例子结果如下:
欢迎指正 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |