加法函数 好久没写程序了 本来以为十分钟能写好 。。。。。(修改:修复了个小bug)
void plus(char *a, char *b, char *c){
int i,index_a,index_b,index_c,carry=0,ten='9'+1,temp_index_c
index_a=strlen(a)-1// index变量指向最末一个数字
index_b=strlen(b)-1
index_c=index_a>index_b? index_a:index_b
temp_index_c=index_c
if(index_a>=index_b){
for(i=index_b+1i>=0i--){
b[i+(index_a-index_b)]=b[i]
}
for(i=0i<index_a-index_bi++)
b[i]='0'
}
else{
for(i=index_a+1i>=0i--){
a[i+(index_b-index_a)]=a[i]
}
for(i=0i<index_b-index_ai++)
a[i]='0'
}
while(index_c>=0){
c[index_c]=a[index_c]+b[index_c]+carry-'0'
if(c[index_c]>=ten){
c[index_c]-=ten-'0'
carry=1
}
else
carry=0
index_c--
}
if(carry==1){
for(i=temp_index_ci>0i--){
c[i+1]=c[i]
}
c[0]=1
}
c[temp_index_c+1]=0
}
#include<stdio.h>void main() { float x,y,z char c
scanf("%f%c%f",&x,&c,&y)
switch ( c ) {
case '+': z=x+y break
case '-': z=x-y break
case '*': z=x*y break
case '/': z=( y==0 )?(0):(x/y) break
default: z=0 break
}
printf("%f%c%f=%f\n",x,c,y,z)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)