分类 编程练习 下的文章

题目:八进制转换为十进制

程序分析:

获取输入值,从首位数字直接转换输入值的进制

程序源代码:

#include <stdio.h>

int  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); 
}

题目:求0—7所能组成的奇数个数。

程序分析:

定义位数 N 为 7,至少为 7 位整数;个位只能位 1 3 5 7,首位只能为 1 2 3 4 5 6 7,其他位可为 0-7;则输入参数为最大位数,输出奇数的个数

程序源代码:

#include <stdio.h>

long fun (int n) {
    
    long sum=4,s=4; 
    
    if (n <= 1) {
        return sum;
    } 

    int j; 

    for(j=2;j<=8;j++)/*j is place of number*/ 
    { 
        printf("\n%ld",sum); 

        if(j<=2) 

            s*=7; 

    else 

        s*=8;

    sum+=s;
    }

    return sum; 
}

int main() 
{

    int n = 9;

    printf("\nsum=%ld",fun (n)); 
}