实验二

task_1

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define N 5
#define N1 397
#define N2 476
#define N3 21

int main() {
    int cnt;
    int random_major, random_no;

    srand(time(NULL));

    cnt = 0;
    while(cnt < N) {
        random_major = rand() % 2;

        if(random_major) {
            random_no = rand() % (N2 - N1 + 1) + N1;//随机生成从397到476的一个值 
            printf("20248329%04d\n", random_no); 
        }
        else {
            random_no = rand() % N3 + 1;
            printf("20248395%04d\n", random_no);//随机生成1到21的一个值 
        }

        cnt++;
    }

    return 0;
}

第二十一行的作用是随机生成397到476的一个值

第二十五行的作用是随机生成1到21的一个值

整个程序的作用是随机抽取名同学的学号

 

task_2

#include<stdio.h>
#include<math.h>

int main()
{
    double a , b , c;
    double delta , p1 , p2;
    
    while(scanf("%lf %lf %lf",&a,&b,&c)!=EOF)
    {
        if(a == 0)
            {
                printf("a=o,不是一元二次方程");
                continue; 
            }
        
        delta = b*b-4*a*c;
        
        p1 = -b/(2*a);
        p2 = sqrt(fabs(delta))/(2*a);
        
        if(delta == 0)
            {
                printf("x1 = x2 = %.2g\n", p1);
            }
        else if(delta > 0)
            {
                printf("x1 = %.2g, x2 = %.2g\n", p1+p2, p1-p2);
            }
        else 
        {
            printf("x1 = %.2g + %.2gi, ", p1, p2);
            printf("x2 = %.2g - %.2gi\n", p1, p2);                
        }
    }
    return 0;
 } 

task_3

#include<stdio.h>

int main()
{
    char x;
    
    printf("请输入信号灯的颜色,Y、y代表黄灯,R、r代表红灯,G,g代表绿灯\n");
    
    while(scanf(" %c",&x)!=EOF)
    {
        if(x == 'r'||x == 'R')
        {
            printf("stop\n");
        }
        else if(x == 'y'||x == 'Y')
        {
            printf("wait a minute\n");
        }
        else if(x == 'g'||x == 'G')
        {
            printf("go\n");
        }
        else
        {
            printf("wrong color\n");
        } 
    }
    return 0;
} 

task_4

 #include <stdio.h>
 
 int main()
 {
     double shuru, sum = 0.0, max = 0.0, min = 20001.0;
 
     printf("输入今日开销,直到输入-1终止:\n");
 
     while (1)
    {
         scanf("%lf", &shuru);
        if (shuru == -1)
            break;
        else
        {
            sum += shuru;
            max = max < shuru ? shuru : max;
            min = min < shuru ? min : shuru;
        }
    }

    printf("今日累计消费总额:%.1lf\n今日最高一笔开销:%.1lf\n今日最低一笔开销:%.1lf", sum, max, min);

    return 0;
}

 

 

 

task_5

#include<stdio.h>
#include<math.h>

int main()
{    
    int i;//循环变量
    int a, b, c;//三角形的三边

    printf_s("输入三角形的三边长\n");
    for (i = 0;i <= i + 1; ++i)
    {
        scanf_s("%d %d %d", &a, &b, &c);

        if (a + b <= c || b + c <= a || c + a <= b)
        {
            printf_s("不构成三角形\n");
        }
        else if (a == b && b == c && c == a)
        {
                printf_s("等边三角形\n");
        }
        else if (a == b && a != c || b == c && b != a || c == a && c != b)
        {
            printf("等腰三角形\n");
        }
        else if (pow(a, 2) + pow(b, 2) == pow(c, 2) || pow(b, 2) + pow(c, 2) == pow(a, 2) || pow(c, 2) + pow(a, 2) == pow(b, 2))
        {
            printf_s("直角三角形\n");
        }
        else
        {
            printf_s("普通三角形\n");
        }
    }

    return 0;
}

 task_6

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
  int main()
  {
       srand(time(NULL));
  
       int lucky_day = rand() % 30 + 1;
       int a = 0; 
int i; while (a < 3)
{ scanf("%d", &i); if (i == lucky_day) { printf("猜中了\n"); a = 3; return 0; } else if (i > lucky_day) { printf(" 猜晚了\n"); ++a; } else { printf("猜早了\n"); ++a; } } printf("%d\n", lucky_day); return 0; }

 

posted @ 2024-10-14 07:49  骄傲的蒂花之秀  阅读(3)  评论(0编辑  收藏  举报