I-AM-Y

导航

第三次实验

//重复执行,直到按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_s("%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;
}

 

实验任务2

//生成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");
    system("pause");
    return 0;
}

实验任务三

#include <stdio.h>
int fun(int n)
{
    int i;
    if (n < 2)return 0;
    for(i=2;i<n;i++)
         if(n%i==0) return 0;
    return 1;
}
int main()
{
    int i,s=0;
    for (i = 101; i <= 200; i++)
        if (fun(i)) 
        
            printf("%d                     " , i);
            s++;
            printf("101--200之间的素数有%d个",s);
        
        return 0;
        }

 

实验任务4

#include<stdio.h>
int main(){
    printf("Enter a number:");
    
    long x,s=0,j=0;
    int n,i;
    scanf("%ld",&x);
    while(x)
    {
        n=x%10;
        if(n%2!=0)
        s=s*10+n;
        x=x/10;
    }
    while(s)
    {i=s%10;
    j=j*10+i;
    s=s/10;
    
    printf("The new number is: %ld",j);
    getchar();
}
}

 

取出为奇数的数字:先将该数字的每一位上数字取出,如13%10得到个位数字3,再判断3的奇偶性,如果3/2,因为定义的是整形变量,如果x/2==0就是偶数,然后算完之后整个数字除以10取下一位

定义一个a,每次循环a都乘10,原来各位的数字乘此次循环a的值,回到原来的位数上,保证各位不变高低次序。

 

实验任务5

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

 

实验任务6

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

 

实验总结:还是对逻辑,语句使用把握不好,练习不够。努力吧。。。。。。。。。。。

 

posted on 2020-11-18 00:00  I-AM-Y  阅读(154)  评论(3编辑  收藏  举报