实验二

任务一:

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

#define N 5
#define N1 397    //11班第一位学生的尾号 
#define N2 476    //12班最后一位学生的尾号 
#define N3 21      //奇安信班一共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;    //随机数与 11班和12班总人数取余 再加最前头的尾号,随机抽取11和12班的学生学号的尾号 
            printf("20248329%04d\n", random_no);
        }
        else {
            random_no = rand() % N3 + 1;    //随机得到奇安信班内同学的学号 
            printf("20248395%04d\n", random_no);
        }

        cnt++;
    }

    return 0;
}
     //功能:在班内所有同学的学号中随机抽取5个 

任务二:

// 一元二次方程求解

#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 = 0, invalid input\n");
            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;
}

 

任务三:

#include<stdio.h>
int main()
{
   char x='\0';
   while(scanf("%c",&x)!=EOF)
   {
    
   if(x=='r')
   {
   printf("stop!\n");
   getchar();
   }
   else if(x=='g')
   {
   printf("go go go\n");
   getchar();
   }
   else if(x=='y')
   {
   
   printf("wait a minute\n");
   getchar();
   }
   else
   {
   
   
   printf("something must be wrong...\n");
   getchar();
   }
}
  
   return 0;

}

任务四:

#include<stdio.h>
int main()
{
    int a,b,c;
    while(scanf("%d%d%d",&a,&b,&c)!=EOF){
        if(a+b<=c||a+c<=b||c+b<=a)
        {
            printf("不能构成三角形\n");
            getchar();
        }
        else
       {
        if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b)
        {
            printf("直角三角形\n");
            getchar();
        }
        else if(a==b&&a==c&&b==c)
        {
            printf("等边三角形\n");
            getchar();
        }
        else if(a==b&&b!=c||a==c&&a!=b||b==c&&a!=b)
        {
            printf("等腰三角形\n");
            getchar();
        }
        else
        {
            printf("普通三角形\n");
            getchar();
        }
      
      
       }
        
        
    }
    return 0;
}

 任务六:

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

int main()
{
    srand(time(NULL));
    int x;
    int i=3;
    int num=rand()%30+1;
    
    
    printf("猜猜2024年11月哪一天会是你的lucky day\n");
    printf("开始喽,你有三次机会,猜吧(1~30):");
    while(scanf("%d",&x)!=EOF)
    { 
        
       if(x<num)
       {
       printf("你猜的日期早了,你的lucky day还没到呢\n再猜:");
       }
       else if(x>num)
       {
       printf("你猜的日子晚了,你的lucky day在前面哦\n再猜:");
       }
       else
       {
       printf("不错哟,猜中了^.^");return 0;
       }
       i--;
       if(i<=0)
       break;
       
       
    }
   
       printf("次数用光啦。偷偷告诉你,11月你的lucky day是%d\n号",num);
    return 0;
}

 

posted @ 2024-10-12 17:38  鬼上身  阅读(1)  评论(0编辑  收藏  举报