实验3

#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;
}

#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 m,n,l=0;
    for(m=101;m<=200;m++)
{    for (n=2;n<=m;n++){ 
    if(m%n==0)break;}
    if(n>=m)
    {printf ("%5d",m); 
    l++;
    if (l%5==0)printf("\n");
}

}    
printf ("\n 101-200之间共有%d个素数",l);    
    
    return 0;
    }

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


        return 0;
    }

先通过判断最后一位是奇数偶数,奇数则取余得出,再将原数除10得新数,重复计算,此时可以得出所有的奇数,这个时候再按取的位数乘以10的次方得出

#include <stdio.h>
    int main ()
{    int n,i=1;
    printf ("Enter n(1`10) : ");
    float s=0,m=1;
    while (scanf("%d",&n)!=EOF)
{
    for (;i<=n;i++)
    { m=i*m;
        if (i>=2)
         m=(-1)*m;
        else m=1*m ;
        s=s+1/m;
    }
    
    printf ( "n = %d, s = %f",n,s);
            printf ("\nEnter n(1`10) : ");
     }         
    return 0;
    } 

不懂为什么  for (;i<=n;i++)   如果写成for (i=1;i<=n;i++) 就出现不了结果  调试了之后 将i=1去掉之后 再在之前定义int 的地方 补上i=1就可以 

??

 

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
    int main ()
{   int m,answer,i;
    srand((unsigned)time(NULL));
    m = rand()%31 ;
     printf ("猜猜2020年12月哪一天是你的lucy day    \n 开始咯,你只有三次机会,猜吧(1`31): ");
     while (i<3){
        scanf("%d",&answer);
        if(answer==m){
        printf("恭喜你猜对了\n");break;}
        else if(answer<m){
        printf("你猜的日期早了,lucy day还没到呢\n");}
        else{
        printf("你猜的日期晚啦,lucy day 在前面呢\n");}
        i++;
    }
    if(i>=3)
    printf("次数用完啦。偷偷告诉你:12月 你的Lucy day是%d\n",m);
      
    return 0;        
    } 

这次实验,让我清楚的认识到了,自己的知识是多么的贫瘠。

看来得好好学习了呢。

posted @ 2020-11-18 15:48  景立伟  阅读(115)  评论(0)    收藏  举报