#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define N 9
long ctod( char *s )
{ long d=0;
while(*s)
if(isdigit( *s)) {//insight函数表示检查是否为数字0-9
/**********found**********/
d=d*10+*s-'0';//表示要把字符串分别转换成面值相同的整数
/**********found**********/
s++; //一个一个字符进行转换
}
return d;
}
long fun( char *a, char *b )
{
/**********found**********/
return ctod(a)+ctod(b);//转换后的字符进行相加
}
void main()
{ char s1[N],s2[N];
do
{ printf("Input string s1 : "); gets(s1); }
while( strlen(s1)>N );
do
{ printf("Input string s2 : "); gets(s2); }
while( strlen(s2)>N );
printf("The result is: %ld\n", fun(s1,s2) );
}
//对小数进行四舍五入
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
float fun (float h )
{
long t;
t=(h*1000+5)/10; /*单精度数h乘以1000后再加5,相当于对h中的第三位小数进行四舍五入
除以10后将其赋给一个长整型数时就把第三位小数后的数全部截去*/
return (float)t/100; /*除以100,保留2位小数*/
}
void main()
{
FILE *wf;
float a;
system("CLS");
printf("Enter a: ");
scanf ("%f",&a);
printf("The original data is : ");
printf("%f\n\n", a);
printf("The result : %f\n", fun(a));
}