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

#include <stdio.h> 
#include<math.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; 
}

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

#include <stdio.h>
#include <math.h>
int main()
{
    int start,end,i,k,flag=1,h=0;
    int m;
    do
    {
        printf("输入起始数字和结束数字:");
        scanf("%d%d",&start,&end);
    }
    while(!(start>0&&start<end));
    printf("……(%d-%d)素数列表……\n",start,end);
    for(m=start;m<=end;m++)
    {
        k=sqrt(m);
        for(i=2;i<=k;i++)
            if(m%i==0)
        {
                flag=0;
                break;
        }
            if(flag)
            {
                printf("%-4d",m);
                h++;
                    if(h%5==0)
                        printf("\n");
            }
            flag=1;
    }
    printf("共有%d个素数",h);
    return 0;
}

#include<stdio.h>
#include<math.h>
int main()
{
    int n,a,b,i,sum;
    while(printf("Enter a number:"),scanf("%d",&n))
    {
        i=0,sum=0;
    while(n>0){
            a=n%10;
            b=a%2;
            if(b!=0){
                sum=sum+a*pow(10,i);
                i++;}
            n/=10;}

        printf("My number is:%d\n\n",sum);
    }
    return 0;
}

实验四总结:
通过取余数从个位开始提取数字,再进行对2的整除运算来判断奇数偶数,最后运用循环取出整个字符串中奇数
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main(){
    double s,sum;
    int n;

    while(printf("Enter n(1-10): "),scanf("%d",&n))
    {
        sum=0.0,s=1.0;
        int i;
        
    for(i=1;i<=n;++i)
       {
        s=s*i;
        sum+=pow(-1,i-1.0)/s;
       }
    printf("n=%d,sum=%lf\n\n",n,sum);
    }

    return 0;
}

#include <stdio.h> 
#include <stdlib.h>
#include <time.h>
int main() 
{ 
    int x,n,i; 
    srand(time(0)); 
    x = rand()%31+1; 
    printf("猜猜2020年12月哪一天会是你的lucky day\n");
    printf("开始咯,你有三次机会,猜吧1~31:");
    i=1;
    scanf("%d",&n);
    while(1)
    {
    if(n==x)
        {
        printf("猜对了!\n");
        break;
        }
    else{
        while(i<=2){
            if(n>x)
                printf("你猜的日期晚了,lucky day悄悄溜到前面了\n");
            if(n<x)
                printf("你猜的日期早了,lucky day还没到呢\n");
            printf("再猜1~31:");
            scanf("%d",&n);
            i++;}
        printf("次数用完啦。偷偷告诉你:12月,你的lucky day是%d号\n",x);}
    }
    system("pause");

    return 0;
}

 

总结:
还是没有透彻的领悟循环和判断语句,做的时候还是很懵,自己想代码或者程序无法实现,在借鉴他人想法后才有写出来的可能
太难了QAQ

 

posted @ 2020-11-18 17:13  lyΠ  阅读(88)  评论(0)    收藏  举报