經(jīng)典C語(yǔ)言程序設(shè)計(jì)100例(8)

字號(hào):

【程序81】
    題目:809*??=800*??+9*??+1 其中??代表的兩位數(shù),8*??的結(jié)果為兩位數(shù),9*??的結(jié)果為3位數(shù)。求??代表的兩位數(shù),及809*??后的結(jié)果。
    1.程序分析:
    2.程序源代碼:
    output(long b,long i)
    { printf("\n%ld/%ld=809*%ld+%ld",b,i,i,b%i);
    }
    main()
    {long int a,b,i;
    a=809;
    for(i=10;i<100;i++)
    {b=i*a+1;
    if(b>=1000&&b<=10000&&8*i<100&&9*i>=100)
    output(b,i); }
    }
    -----------------------------------------------------------------------------
    【程序82】
    題目:八進(jìn)制轉(zhuǎn)換為十進(jìn)制
    1.程序分析:           
    2.程序源代碼:
    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);
    }
    -----------------------------------------------------------------------------
    【程序83】
    題目:求0—7所能組成的奇數(shù)個(gè)數(shù)。
    1.程序分析:
    2.程序源代碼:
    main()
    {
    long sum=4,s=4;
    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;}
    printf("\nsum=%ld",sum);
    }
    -----------------------------------------------------------------------------
    【程序84】
    題目:一個(gè)偶數(shù)總能表示為兩個(gè)素?cái)?shù)之和。
    1.程序分析:
    2.程序源代碼:
    #include "stdio.h"
    #include "math.h"
    main()
    { int a,b,c,d;
    scanf("%d",&a);
    for(b=3;b<=a/2;b+=2)
    { for(c=2;c<=sqrt(b);c++)
    if(b%c==0) break;
    if(c>sqrt(b))
    d=a-b;
    else
    break;
    for(c=2;c<=sqrt(d);c++)
    if(d%c==0) break;
    if(c>sqrt(d))
    printf("%d=%d+%d\n",a,b,d);
    }
    }