재 귀 함수 및 가 변 매개 변수 에 대한 전형 적 인 프로 그래 밍 연습
2205 단어 c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <stdarg.h>
#include "func_test.h"
/* */
void binary_to_ascii(u32 value)
{
u32 quotient;
quotient = value / 10;
if(quotient != 0)
binary_to_ascii(quotient);
putchar( value % 10 + '0');
}
/* , */
float average(int n_values, ... )
{
va_list var_arg;
int count;
float sum = 0;
/* va_start */
va_start( var_arg , n_values );
/* */
for( count = 0; count < n_values; count += 1)
{
sum += va_arg(var_arg , int);
}
/* */
va_end( var_arg );
return sum / n_values;
}
/* */
int hermite(int n , int x)
{
if(n <= 0)
{
return 1;
}
if(n == 1)
{
return 2*x;
}
if(n >= 2)
{
return (2*x*hermite(n-1 , x) - 2*(n-1)*hermite(n-2,x));
}
}
/* */
int gcd(int M , int N)
{
int R = 0;
if((M <= 0) || (N <= 0))
{
return 0;
}
R = M % N;
if(R == 0)
{
return N;
}
else if(R > 0)
{
return gcd(N , R);
}
}
/*ascii to integer, */
int ascii_to_integer( char *string )
{
u32 result = 0;
while(*string != '\0')
{
if(*string >= '0' && *string <= '9')
{
result = result * 10 + (*string - '0');
string++;
}
else
{
return 0;
}
}
return result;
}
/* max_list , */
int max_list(n_values , ...)
{
va_list var_arg;
int max = 0;
int temp = 0;
u32 i = 0;
va_start(var_arg , n_values);
for(i = 0; i < n_values; i++ )
{
temp = va_arg(var_arg,int);
if(temp >= max)
{
max = temp;
}
}
va_end(var_arg);
return max;
}
int main(void)
{
// binary_to_ascii(15643);
// printf("The sum is :%f
",average(4,8,6,4,8));
// printf("The hermite value is :%d
",hermite(4,8));
// printf("The gcd value is :%d
",gcd(78,96));
// printf("The ascii to integer is :%d
",ascii_to_integer("1678"));
printf("The max num is :%d
",max_list(6,1,3,5,2,17,9));
getch();
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Docker를 사용한 React 및 .NET Core 6.0 샘플 프로젝트 - 1부이 기사에서는 Entity Framework Core Code First 접근 방식을 사용하는 ASP.NET Core 6.0 WEP API의 CRUD(만들기, 읽기, 업데이트 및 삭제) 작업에 대해 설명합니다. 웹 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.