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

实验3

Posted on 2020-11-18 19:33  蜗牛吃蛋挞  阅读(87)  评论(2编辑  收藏  举报

ex1

//一元一次方程求解
//重复执行,直到按ctrl+z结束
//
#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;
}

ex2

//生成N个0~9之间的随机整数,并打印输出
#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;
    
}


ex3
//输出101-200之间的所有素数
#include<stdio.h>
#include<math.h>
int main(){
    int i,n,m,x;
    
    for(n=101;n<=200;n++)
    {
        m=sqrt(n);
        for(i=2;i<=m;i++)
            if(n%i==0)break;
        if(i>m){ 
            printf("%d\n",n);
            x++;
        } 
    }
    printf("101~200之间共有%d个素数",x);
    return 0; 
} 

ex4

输入的数除以10取余数,如果可以整除2,就不是奇数,不可以就是奇数

i与t想乘,t每次用完后会乘10,t逐渐增加

#include<stdio.h>
int main(){
    int i,t,n,s;
    t=1;
    printf("A new number:");
    
    while(scanf("%d",&n)!=EOF)
    {
        s=0;
        while(n!=0)
        {
        i=n%10;
        if(i%2!=0)
        {
            s=i*t+s;
            t=t*10;
         } 
         n=n/10;
         }
         printf("new name is:%d\n",s);
         printf("a new number:\n");
    }
    
    return 0;
} 

 

ex5

#include<stdio.h>
#include<math.h> 
int main(){
    int n,i;
    double x,s;
    scanf("%d",&n);
    
    s=0;
    x=1;
    
    printf("Enter a number(1~10):%d\n",n);
    
    if(n<=0||n>10)
        printf("输入的数据错误\n");
        
    for(i=1;i<=n;i++)
    {
        x=x*i;
        s+=1/x*(pow(-1,i-1));
    }
    
          printf("n=%d,s=%lf\n",n,s);
    
    return 0;
     
} 

 

ex6

//猜日期
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main(){
    int x,s,n=1;

    srand(time(0));
    x=rand()%32;

    printf("猜猜2020年12月哪一天会是你的luck day\n");
    printf("开始喽,你有三次机会,猜吧(1~31):");

    while(n<=3)
    {
        scanf("%d",&s);
        if(s==x)
        {
            printf("恭喜你,猜对啦!\n");
            break;
        }
        else if(s>x)
           {
               printf("你猜的日期晚了,luck day已经悄悄溜走了\n");
               printf("再猜(1~31):"); 
               n++;
           }
            
        else
        {
        printf("你猜的日期早了,luck day还没到呢\n");
        printf("再猜(1~31):");
        n++;
    }
    }
    if(n>3)
    printf("次数用完了,偷偷告诉你:12月,你的luck day是%d\n",x);

    return 0;

}