MENU

C语言实验+应用作业 3

2017 年 11 月 23 日 • 日常作业

这是我的作业和答案,供将来自己检索,和大家参考之用。

编程题1
从键盘输入两个八进制数,计算两数之和并分别用十进制和十六进制数形式输出。
输入输出示例
Enter a and b: 20 30
d:40
x:28

#include <stdio.h>

int main()
{
    int a,b;
    scanf("%o%o",&a,&b);
    int sum=a+b;
    printf("d:%d\nx:%x\n",sum,sum);
    return 0;
}

编程题2
从键盘输入两个实数a和x,按公式计算并输出y的值:
输入输出示例
Enter a , x : 1.0,0.0
y=2.000000

#include <stdio.h>
#include <math.h>
int main()
{
    float a,x;
    printf("Enter a,x: ");
    scanf("%f,%f",&a,&x);
    printf("y=%f\n",pow(a,5)+sin(a*x)+log(a+x)+exp(a*x));
    return 0;
}

编程题3(选做)
已知a=2.5,b=9.4,c=4.3,编程求 的解 。
提示:可用求根公式

#include <stdio.h>
#include <math.h>
int main()
{
    float a=2.5,b=9.4,c=4.3;
    if (b*b-4*a*c>0)
        printf("x1=%f, x2=%f\n",((-b)+sqrt(b*b-4*a*c))/2/a,((-b)-sqrt(b*b-4*a*c))/2/a);
    return 0;
}

编程题4(选做)
从键盘输入3个变量的值,其中a=10,b=20,c=30,然后将3个变量交换,使得a=20,b=30,c=10。
输入输出示例
10 20 30
a=20 b=30 c=10

#include <stdio.h>

int main()
{
    int a,b,c,temp;
    scanf("%d%d%d",&a,&b,&c);
    temp=a;
    a=b;
    b=c;
    c=temp;
    printf("a=%d b=%d c=%d\n",a,b,c);
    return 0;
}

1、求0——7所组成的奇数的个数。

#include <stdio.h>

int main()
{
    int sum=0,i;
    for (i=0;i<=7;i++){
        if (i%2!=0) sum++;
    }
    //个位解决
    //前面还有7个数字可用
    sum*=7*6*5*4*3*2*1;
    printf("%d\n",sum);
    return 0;
}

2、判断一个素数能被几个9整除。

#include <stdio.h>

int main()
{
    printf("你能告诉我,为什么素数会能被9之类的东西整除吗?\n");
    return 0;
}

3、某单位用公用电话传递数据,数据是四位的整数,在传递过程中使用了加密,加密规则是:每位数字加5,然后用除以10的余数代替该数字,最后把第一位和第四位交换,第二位和第三位交换。

#include <stdio.h>

int main()
{
    int rawData,l4,l3,l2,l1,enData;
    scanf("%d",&rawData);
    l4=rawData/1000;
    l3=rawData/100%10;
    l2=rawData/10%10;
    l1=rawData%10;
    //
    l4=(l4+5)%10;
    l3=(l3+5)%10;
    l2=(l2+5)%10;
    l1=(l1+5)%10;
    //
    l4=l1+l4;
    l1=l4-l1;
    l4=l4-l1;
    /* exchanged l1 and l4 */
    l3=l2+l3;
    l2=l3-l2;
    l3=l3-l2;
    //
    enData=l4*1000+l3*100+l2*10+l1;
    printf("Encrypted: %04d\n",enData);
    return 0;
}

4、输出9*9乘法口诀表,要求9行9列,严格对齐。

#include <stdio.h>

int main()
{
    int a,b; //a*b=
    for(b=1;b<=9;b++){
        for(a=1;a<=b;a++){
            printf("%1d*%1d=%2d  ",a,b,a*b);
        }
        printf("\n");
    }
    return 0;
}

原发于 2016-12-02 16:12