LeonomoradBIZ

博客园 首页 新随笔 联系 订阅 管理

任务一

#include<math.h>
#include<stdio.h>
int main()
{
    float a,b,c,x1,x2;
    float delta,real,imag;
    printf("Enter a, b, c: ");
    while(scanf("%f%f%f", &a, &b, &c) != EOF) 
    {
        if(a == 0)
        printf("not quadratic equation.\n\n");
        else 
        {
            delta = b*b - 4*a*c;
            if(delta >= 0) 
            {
                x1 = (-b + sqrt(delta)) / (2*a);
                x2 = (-b - sqrt(delta)) / (2*a);
                printf("x1 = %.2f, x2 = %.2f\n\n", x1, x2);
            }
            else 
            {
                real = -b/(2*a);
                imag = sqrt(-delta) / (2*a);
                printf("x1 = %.2f + %.2fi, x2 = %.2f - %.2fi\n\n", real,
                imag, real, imag);
            }
        }
        printf("Enter a, b, c: ");
    }
    return 0;
}

 

 这个算法是解一元二次方程,其中结果保留两位数。

任务二

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 5
int main() 
{
    int x,n;
    srand(time(0));
    n=0;
    do
    {
        n++;
        x = rand()%10;
        printf("%3d", x);
    }while(n<N);
    printf("\n");
    return 0;
}

 

 任务三

#include<stdio.h>
int main()
{
    for(int i=101;i<=200;i++)
    {
        int a=i/2;
        bool flag=0;
        for(int j=2;j<=a;j++)
        if(i%j==0)
        {
            flag=0;
            break;
        }
        else
        flag=1;
        if(flag)
        printf("%d ",i);
    }
    return 0;
}

 

 

任务四

#include<stdio.h>
int main()
{
    long int s;
    printf("Enter a number: ");
    scanf("%ld",&s);
    int i=1;
    long int x=0;
    do
    {
        int temp=s%10;
        if(temp%2==1)
        {
            x+=temp*i;
            i*=10;
        }
        s/=10;
    }while(s>0);
    printf("New number is: %ld",x);
    return 0;
}

 

 思路:

对数字模10就可以得到个位,每取完一个数字就使下一位在原来的基础上×10完成进位。

任务五

#include<stdio.h>
int main()
{
    int n=0;
    while(printf("input N(1~8): "),scanf("%d",&n)!=EOF)
    {
    double s=1.0;
    double j=-1;
    long long int F=1;
        for(int i=2;i<=n;i++)    
        {
            F*=i;
            s+=j/F;
            j*=-1;
        }
        printf("Output S: %lf\n",s);
    }
    return 0;
}

 

 任务六

 

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
    int b=0;
    do
    {
        srand(time(0));
        b=rand()%100;
    }while(b>31||b<1);
    int a=-1;
    int i=0;
    do
    {
        scanf("%d",&a);
        if(a>b)
        {
            if(a-b>10) 
            printf("这实在是太大了\n");
            else
            printf("再小一点点就好了\n");
        }
        else if(a<b)
        {
            if(b-a>10)
            printf("你这太小了啊\n");
            else
            printf("你再大一点点?\n") ;
        }
        i++;
        if(i==3)
        {
            printf("我很抱歉!");
            return 0; 
        }
    }while(a!=b);
    printf("Lucky day");
    return 0;
}

 

 

posted on 2020-11-20 09:39  LeonomoradBIZ  阅读(81)  评论(0)    收藏  举报