实验3 C语言分支语句和循环语句编程应用

// 一元二次方程求解 
// 重复执行,直到按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 = %.2 + %.2fi, x2 = %.2f - %.2fi\n\n", real, imag, real, imag);
            }
        }
        
        printf("Enter a, b, c: ");
    }
    
    return 0;
} 

// 生成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; // 生成一个0~9之间的随机整数
        printf("%3d", x); 
    } while(n<N);
    
    printf("\n");
    
    return 0;
} 

#include<stdio.h>
#include<math.h>
int main(){
    int a, b, n, count=0;
    for(a=101;a<200;a++){
        for(b=2;b<sqrt(a);b++){
            n=a%b;
            if(n==0)
            break;
        }
        if(b>sqrt(a)){
            printf("%5d",a);
            count++;
            if(count%5==0){
            printf("\n");
            }
        }
    }
    printf("\n101~200之间共有%d个素数", count);
    
    return 0;
} 

#include<stdio.h>
#include<math.h>
int main(){
    long int s;    
    long int a, b=0, c=0;
    printf("Enter a number:");
    while(scanf("%ld", &s)!=EOF){        
        do{            
            a=s%10;
            if(a%2==1){
                b++;
                c=a*pow(10,b-1)+c;                
            }
            s/=10;
        }while(s!=0);
        printf("new number is:%ld\n\n",c);
        printf("Enter a number:");
        b=0;
        c=0;
    }
    return 0;
}

#include<stdio.h>
#include<math.h>
int main(){
    int n,i=1;
    double s;
    printf("Enter n(1~10):");
    while(scanf("%d",&n)!=EOF){
        int a=1;
        double s=0;
        for(i=1;i<=n;i++){
            a*=i;
            s+=1.0*pow(-1,i-1)/a;
        }
        printf("n=%d,s=%lf\n\n", n, s);
        printf("Enter n(1~10):");
    }
    return 0;
}

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

int main(){
    srand(time(0));
    int number = rand()%31+1;
    int count = 0;
    int a;
    
    printf("猜猜2020年12月哪一天会是你的luck day\n");
    printf("开始喽,你有三次机会,猜吧(1~31):\n"); 
    while(count<3){
        scanf("%d",&a);
        if(a>number){
            printf("你猜的日期晚了,luck day悄悄溜到前面啦\n再猜(1~31):"); 
        }
        else if(a<number){
            printf("你猜的日期早了,luck day还没到呢\n再猜(1~31):");
        }
        else if(a=number){
            printf("恭喜你,猜中啦!");
            return 0;
        }
            count++;        
    }
    if(count>=3)
        printf("\n次数用完啦。偷偷告诉你:12月,你的luck day是%d号",number);
    return 0;
} 

posted on 2020-11-18 13:11  晨风Vivian  阅读(146)  评论(4)    收藏  举报