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

#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+%.2fi,x2=%.2f-%.2fi\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()%10;  
printf("%3d", x); 
}while(n<N); 
printf("\n"); 
return 0; 
} 

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

int main()
{
    int i,n,m=0;
    
    for(n=100;n<=200;n++)
    {
    
    for(i=2;i<n;i++)
    {
    if(n%i==0)break;}
    if(i>=n)
    {printf("%5d",i);
    m++;
    if (m%5==0)
    
        printf("\n");
    }
    
    
    
    }
    printf("\n 101-200之间有%d个素数。\n",m);
    return 0;
}

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

因为数据是长整形数据,数据做除法保留整数位,当数据与10相除,结果是将数小数点向前移动比如原先是20201109,除以10后变成2020110,取余得9,当只剩下偶数位时,跳出循环,此时所有奇数已求得再通过运算,循环算出。

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

int main()
{
    int n,x,m=1;
    srand(time(0));
    x=rand()%31+1;
    printf("猜猜2020年12月哪一天会是你的luck day\n");
    printf("开始喽,你有三次机会,猜吧(1~31): ");

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

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
    int n;


    printf("Enter n(1~10):");
    while(scanf("%d",&n)!=EOF){
        int p=1,i;
        double x=-1.0,b,s=0.0;
    if((n>=1)&&(n<=10)){

    for(i=1;i<=n;i++)
    {    
    p=p*i; 
    b=pow(x,i-1.0);
    s=s+1/(p*b);}}
printf("n=%d, s=%lf\n\n",n,s);
printf("Enter n(1~10):");     

}

return 0;}

posted @ 2020-11-14 18:11  清风吹断春朝梦  阅读(178)  评论(1编辑  收藏  举报