嵌入式题目,C语言

// 练习1
// 编程题:
main()
{
    long int m9 = 9, sum = 9;
    int zi, n1 = 1, c9 = 1;
    scanf("%d", &zi);
    while (n1 != 0)
    {
        if (!(sum % zi))
            n1 = 0;
        else
        {
            m9 = m9 * 10;
            sum = sum + m9;
            c9++;
        }
    }
    printf("%ld,can be divided by %d \"9\"", sum, c9);
}

#include <stdio.h>
void main(void)
{
    int fun(int);
    int i;
    i = 5;
    printf("@#@# %d \n\n", fun(i));
}
int fun(int j)
{
    int sum;
    if (j == 0)
        sum = 1;
    else
        sum = j * fun(j - 1);

    return sum;
}

// 练习2

#include <stdio.h>
#define size 10
int g[size] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int search(int x)
{
    int low = 0;
    int high = size - 1;
    int mid;
    while (low <= high)
    {
        mid = (low + high) / 2;
        if (g[mid] == x)
            return mid;
        else if (g[mid] < x)
            low = mid + 1;
        else if (g[mid] > x)
            high = mid - 1;
    }
    return -1;
}

#include <stdio.h>
int cal_bit(char a)
{
    int i, j = 0;
    for (i = 0; i < 8; i++)
    {

        if ((a & 0x01) == 0x01)

            j++;
        a = a >> 1;
    }
    return j;
}

// 练习三编程题:

#include <stdio.h>
char str[6] = "12345";

int string_to_int(char s[])
{
    int i;
    int sum = 0;

    for (i = 0; s[i] != '\0'; i++)

        sum = sum * 10 + s[i] - '0';

    return sum;
}

#include <stdio.h>
#define LEN 5
int a[LEN] = {7, 4, 8, 4, 5};
void insertion_sort(void)
{
    int i, j, key;
    for (j = 1; j < LEN; j++)
    {
        printf("%d,%d,%d,%d,%d\n", a[0], a[1], a[2], a[3], a[4]);
        key = a[j];
        i = j - 1;
        while ((i >= 0) && (a[i] < key))
        {
            a[i + 1] = a[i];
            i--;
        }
        a[i + 1] = key;
    }
    printf("%d,%d,%d,%d,%d\n", a[0], a[1], a[2], a[3], a[4]);
}

// 练习四编程题:

#include <stdio.h>
#define LEN 5
int a[LEN] = {7, 4, 8, 4, 5};
void insertion_sort(void)
{
    int i, j, key;
    for (j = 1; j < LEN; j++)
    {
        printf("%d,%d,%d,%d,%d\n", a[0], a[1], a[2], a[3], a[4]);
        key = a[j];
        i = j - 1;
        while ((i >= 0) && (a[i] > key))
        {
            a[i + 1] = a[i];
            i--;
        }
        a[i + 1] = key;
    }
    printf("%d,%d,%d,%d,%d\n", a[0], a[1], a[2], a[3], a[4]);
}

#include <stdio.h>
#include <math.h>
#define LEN 4
char str[] = " ";
char *int_to_string(int given)
{
    int i;
    int temp;
    for (i = 0; i < LEN; i++)
    {
        given = given % ((int)pow(10, LEN - 1 - i));

        str[i] = temp + '0';
    }
    return str;
}

// 练习五编程题:

main()
{
    long f1, f2;
    int i;
    f1 = f2 = 1;
    for (i = 1; i <= 20; i++)
         
        {
            printf("%12ld %12ld", f1, f2);
               if (i % 2 == 0) printf("\n"); /*控制输出,每行四个*/

               f1 = f1 + f2; /*前两个月加起来赋值给第三个月*/

               f2 = f1 + f2; /*前两个月加起来赋值给第三个月*/

             
        }
}

main()
{
    float n, s = 0, t = 1;

    for (n = 1; n <= 20; n++)
         
        {
             t *= n;
             s += t;
        }
    printf("1+2!+3!...+20!=%e\n", s);
}

// 联系六编程题:

main()
{
    char *p, s[6];
    int n;
    p = s;
    gets(p);
    n = 0;
    while (*(p) != '\0')
    {
        n = n * 8 + *p - '0';

        p++;
    }

    printf("%d", n);
}

main()
{
    long sum = 4, s = 4;
    int j;
    for (j = 2; j <= 8; j++)
    {
        printf("\n%ld", sum);
        if (j <= 2)
            s *= 7;
        else
            s *= 8;
        sum += s;
    }
    printf("\nsum=%ld", sum);
}

// 联系七编程题:

#include <stdio.h>
void search(char given)
{
    int i = 0, j = 0;
    while (s[i] != '\0')
    {
        if (s[i] == given)
        {
            printf("location=%d\n", i);
            j++;
        }
        i++;
    }
    if (j == 0)
        printf("No %c found\n", given);
}

#include <stdio.h>
#define LEN 12
int main(void)
{
    int m, i;
    char temp;
    char s[LEN] = "hello tiger";
    m = (LEN - 1) / 2;
    printf("%s\n", s);
    for (i = 0; i < m; i++)
    {
        temp = s[i];
        s[i] = s[LEN - 2 - i];
        s[LEN - 2 - i] = temp;
    }
    printf("%s\n", s);
    return 0;
}

// 联系八编程题:

main()
{
    int n, t, number = 20;
    float a = 2, b = 1, s = 0;
    for (n = 1; n <= number; n++)
         
        {
             s = s + a / b;

             t = a;
            a = a + b;
            b = t;
             
        }
    printf("sum is %6f\n", s);
}

#include <stdio.h> 
void main(void)
{
    int fun(int);
    int i;
    i = 6;
    printf("@#@# %d \n\n", fun(i));
}
int fun(int j)
{
    int sum;
    if (j == 0)
        sum = 1;
    else
        sum = j * fun(j - 1);

    return sum;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值