实验2

task1

源代码:

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

测试结果:

 

回答:问题1:随机取397~476之间的数

           问题2:随机取1~21之间的数

           问题3:随机生成五位同学的学号

 

 

task2

源代码:

#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("x1 =  %.2g-%.2gi\n",p1,p2);
            
        }
        
        
        
        
        
    }
    
    return 0;
    
    
}

实验结果:

 

 

task3

源代码:

#include <stdio.h>

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

测试结果:

 

task4

源代码:

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

}

测试结果:

task5

源代码:

#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&&b+c>a)
      {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)&&(b==c)){
         printf("等边三角形\n");
         }    
       else if((a==b)||(a==c)||(b==c)){
         printf("等腰三角形\n");
         }
       else{
            printf("普通三角形\n");
         } 
           
          
       }
   else
   {
       printf("不能构成三角形\n");
   }
}
    return 0;
    
    
    
    
    
    
    
}

测试结果:

task6

源代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>    
int main()
{  
   printf("猜猜2024年11月哪一天是你的lucky day\n\n");
   printf("开始咯 你有三次机会,猜吧(1~30):\n");
  
    int i=3;
   if ((i<=2)&&(i>=1)){
        printf("再猜(1~30):"); 
   }
   
   int luck,guess;
   luck=rand()%30+1;
   while(i>0)
   {   i--; 
      srand(time(NULL));
      
      scanf("%d",&guess);    
      if(guess>luck)
         {printf("你猜的日期晚了,你的lucky day在前面哦\n\n");
             }    
      else if(guess<luck)
         {printf("你猜的日期早了,你的lucky day在后面哦\n\n");
            }
      else
          {printf("哇,猜中了\n");
           break;
            }
        
   }
    
   
     if(i==0)
    {
      printf("次数用完啦。偷偷告诉你,11月你的lucky day是%d号\n",luck);
      
      }
    return 0; 
     
        
 } 

测试结果:

 

posted @ 2024-10-13 17:12  danny555  阅读(3)  评论(0编辑  收藏  举报