C lang:Definition function

Ax_note

in parameter for show_n_char() is formal parameter


Aa_Definition function

#include <stdio.h>
#include <string.h>
#define NAME "ENOMOTHEM, INC."
#define ADDRESS "101 Beijing China"
#define PLACE "Megapolis, CA 00000"
#define WIDTH 40
#define WJXNUM 40
#define SPACE ' '

// function protype
void show_n_char(char ch, int num);

int main(void)
{
    int spaces;
// function call
    show_n_char('A',WJXNUM);
    printf("
");
    putchar('
');
    show_n_char('*', WIDTH);
    putchar('
');
    show_n_char(SPACE, 12);
    printf("%s
", NAME);
    spaces = (WIDTH - strlen(ADDRESS)) / 2;

    show_n_char(SPACE, spaces);
    printf("%s
", ADDRESS);
    show_n_char(SPACE, (WIDTH - strlen(PLACE)) / 2);

    printf("%s
", PLACE);
    show_n_char('*', WIDTH);
    putchar('
');

    return 0;
}
//function definition
void show_n_char (char ch, int num)
{
    int count;

    for (count = 1; count <= num; count++)
        putchar(ch);
}

Ab_Used return transport parameter             What F*k

#include <stdio.h>
int imin(int, int);

int main(void)
{
    int evil1, evil2;

    printf("Enter a pair of integers (q to quit):
");

    while (scanf("%d %d", &evil1, &evil2) == 2)
    {
        printf("The lesser of %d and %d is %d.
", evil1, evil2, imin(evil1, evil2));
        printf("Enter a pair of integers (q to quit):
");

    }
    printf("Bye.
");

    return 0;
}

int imin(int n, int m)
{
    int min;

    if (n < m)
        min = n;
    else
        min = m;

    return min;
}


Ac_Tail recursion and for relize factorial

Ac_a Factorial

  • 0!=1
  • 1×2×3×4×…×(n-2)×(n-1)×n=n!
#include <stdio.h>
long fact(int n);
long rfact(int n);
int main(void)
{
    int num;

    printf("This program calculatess factorials.
");
    printf("Enter a value in the range 0-12 (q to quit):
");
    while(scanf("%d", &num) == 1)
    {
        if (num < 0)
            printf("No negative numbers, please.
");
        else if (num > 12)
            printf("Keep input under 13.
");
        else
        {
            printf("loop: %d factorial = %ld
", num, fact(num));
            printf("recursion:%d factorial =%ld
", num, rfact(num));
        }
        printf("Enter a value in the range 0-12 (q to quit):
");

    }
    printf("Bye.
");
    return 0;
}

long fact(int n)
{
    long ans;

    for (ans = 1; n > 1; n--)
        ans *= n;

    return ans;
}
long rfact(int n)
{
    long ans;

    if (n > 0)
        ans = n * rfact(n - 1);
    else
        ans = 1;
    return ans;
}


Ad_recursion and inverted order

eg.
1. Oct 234
= 2x102+3x101+4x10^0
2. Bin 101
=1x22+0x21+1x2^0
3.5%3 = 2(1 to 2)
moda%b=a-(int)(a/b)*b

#include <stdio.h>

void to_binary(unsigned long n);

int main(void)
{
    unsigned long number;
    printf("Enter an integer (q to quit):
");
    while (scanf("%lu", &number) ==1)
    {
        printf("Binary equivalent:");
        to_binary(number);
        putchar('
');
        printf("Enter an integet (q to quit):
");
    }

    return 0;
}

void to_binary(unsigned long n)
{
    int r;

    r =n % 2;
    if (n >= 2)
        to_binary(n /2);
    putchar(r == 0 ? '0' : '1');

    return;
}

原文地址:https://www.cnblogs.com/enomothem/p/11704721.html