定义函数及测试
下面的代码是帮朋友写的。我一直在弄C#方面的开发。对C忘记得差不多了。而且我也没有Turbo C的测试平台。
哪位大哥帮忙测试一下。也不知道是不是这样写。
题目要求:写一个函数计算任意一个整数N的各位数字之和,并写一函数来测试其功能。
自编代码:
int SumDig(it)
int it;
{
char *str[20];
int tmp=0;
for(int i=0;i <length(str);i++)
{
tmp=tmp+(int)str[i];
}
return tmp;
}
main()
{
int SumDig();
int a;
printf( "Please Import a Integer:\n ");
scanf( "%d ",&a);
int tmp=SumDig(a);
printf( "Calculate Result:%d ",tmp);
}
-----------------------
还有一题:三个数据A,B,C构成三角形的表达式。
自编代码:
main()
{
int a,b,c;
printf( "Please Import Three Num a,b,c:\n ");
scanf( "%d,%d,%d ",&a,&b,&c);
if(((a+b)> c)&&((a+c)> b)&&((b+c)> a))
printf( "The Three Number is True. ");
else
printf( "The Three Number is False. ");
}
------------------------
呵呵,各位大哥,帮忙看看。
[解决办法]
#include <stdio.h>
int SumDig(int it) {
int tmp=0;
while(it > 0)
{
tmp += it % 10;
it /= 10;
}
return tmp;
}
int main()
{
int SumDig();
int a;
printf( "Please Import a Integer:\n ");
scanf( "%d ",&a);
int tmp = SumDig(a);
printf( "Calculate Result: %d\n ",tmp);
return 0;
}
[解决办法]
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int SumDig( int it)
{
char str[20];
int tmp=0;
_itoa(it, str, 10);
for(int i=0;i <strlen(str);i++)
tmp += str[i]-0x30;
return tmp;
}
void main()
{
int a;
printf( "Please Import a Integer:\n ");
scanf( "%d ",&a);
int tmp=SumDig(a);
printf( "Calculate Result:%d ",tmp);
}
[解决办法]
#include <stdio.h>
#include <stdlib.h>
int make(const int n)
{
if(!n)return n;
return n%10+make(n/10);
}
int main()
{
int num;
scanf( "%d ",&num);
printf( "%d\n ",make(num));
system( "PAUSE ");
return 0;
}