实验2

任务一

#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_major=rand()%(N2-N1+1)+N1;
   printf("20248329%04d\n",random_no);
  }
  else{
   random_no=rand()%N3+1;
   printf("20248395%04d\n",random_no);
  }
  cnt++;
 }
 return 0;
 }

 

1 给random_no随机赋值397—476的一个数
2给random_no随机赋值1—21的一个数
3随机生成202483290001-202483290021或202483290397-202483290476其中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 x1;
        while(scanf("%c",&x1)!=EOF){
        if(x1=='r')
        {printf("stop!\n");
        getchar();}
        else if(x1=='g')
        {printf("go go go\n");
        getchar();}
        else if(x1=='y')
        {printf("wait a minute\n");
        getchar();}
        else
        {printf("something must be wrong...\n");
        getchar();}
    }
    return 0;
}

 任务四

#include<stdio.h>
#include<math.h>
int main()
{
     double t,max=0,min=20000;
     double w=0;
     printf("输入今日开销,直到输入-1终止:\n");
     while(scanf("%lf",&t)!=EOF)
    {
    if(t==-1)
    break;
    else{
        if (t>max)
        max=t;
        if (t<min)
        min=t;
    }
        
        w+=t;
          }
         printf("今日最高开销%.1lf\n",max);
         printf("今日最低开销%.1lf\n",min);
         printf("今日累计消费总额%.1lf\n",w);  
         return 0;
}

 任务五

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

 任务六

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
    int lucky_day,chance=3;
    int n;
    srand(time(NULL));
    lucky_day=rand()%30+1;//生成1~30随机数
    printf("猜猜2024年11月那一天是你的幸运日\n开始喽,你有三次机会,猜吧\n");
        while(chance>0){
         printf("请输入你猜测的日期\n");
         scanf("%d",&n);
         if(n==lucky_day)
         {printf("猜中了!\n");
         break; }
         else if(n<lucky_day){
             printf("你的日期猜早了,你的lucky day还没到呢\n");
             chance-=1;
             continue;}
             else{printf("你的日期猜晚了,你的lucky day在前面呢\n");
             chance-=1;
             continue;}
        }
            if (chance==0)
            printf("次数用光了,偷偷告诉你,11月你的lucky day是%d\n",lucky_day);
    

        return 0;
     }

 

posted @ 2024-10-10 17:51  史康乐  阅读(5)  评论(0编辑  收藏  举报