实验三

实验一

// 生成N个0~99之间的随机整数,并打印输出
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 5

int main() {
    int x, n;
    
    srand(time(0)); // 以当前系统时间作为随机种子
    
    for(n=1; n<=N; n++) {
    x = rand() % 100; // 生成一个0~99之间的随机整数
    printf("%3d", x);
}

    printf("\n");
    
    return 0;
} 

  

实验二

// 猜猜 2021年5月哪天会是你的lucky day
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 1

int main(){
    int x,ans,i=0;
    
    srand(time(0)); //以当前系统时间作为随机种子 
    
      x=1+rand()%31;
    
    printf("猜猜 2021年5月哪天会是你的lucky day\n你有三次机会猜吧\n");
    
    while(i<=3){
        while(scanf("%d",&ans) !=EOF)
        if(ans<5)
           printf("\n你猜的日期早了,lucky day还没到呢\n");
        else if(ans>5) 
              printf("\n你猜的日期晚了,lucky day悄悄溜到前面啦\n");
        else
              printf("\n恭喜你,答对啦") ;break;
           i++; 
        }
    while(i>3){
    printf("\n次数用完啦,悄悄告诉你,日期是5号\n",ans);
       }
    return 0;
}

实验三

//取出长整型中的奇数
#include<stdio.h> 
#include<stdlib.h>
int main(){
	long int s, t=0;
	int x ,i=1 ;
	printf("Enter a number:");
	scanf("%ld", &s);
	do{
		x=s%10;
		s=s/10;
		if(x%2!=0)
		{
			t=t+x*i;
			i=i*10;
		}
		
	}while(s!=0);
	
	printf("New number is :%ld\n", t);
	
	return 0;
	
}

  

实验四

// 一元二次方程求解(函数实现方式)
// 重复执行, 直到按下Ctrl+Z结束

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

// 函数声明
void solve(double a, double b, double c);

// 主函数
int main() {
    double a, b, c;
    
    printf("Enter a, b, c: ");
    while(scanf("%lf%lf%lf", &a, &b, &c) != EOF) {
        solve(a, b, c); // 函数调用
        printf("Enter a, b, c: ");
    }
    
    return 0;
}

// 函数定义
// 功能:求解一元二次方程,打印输出结果
// 形式参数:a,b,c为一元二次方程系数
void solve(double a, double b, double c) {
    double x1, x2;
    double delta, real, imag;
    
    if(a == 0)
        printf("not quadratic equation.\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", x1, x2);
        }
        else {
            real = -b/(2*a);
            imag = sqrt(-delta) / (2*a);
            printf("x1 = %.2f + %.2fi, x2 = %.2f - %.2fi\n", real, imag,
real, imag);
       }
   }
}

  

不能,return无法返回两个x值

实验五。

#include <stdio.h>
#include<math.h>
double fun(int n); // 函数声明

int main() {
    int n;
    double s;
    
    printf("Enter n(1~10): ");
    while(scanf("%d", &n) != EOF) {
        s = fun(n); // 函数调用
        printf("n = %d, s= %f\n\n", n, s);
        printf("Enter n(1~10): ");
    }
    
    return 0;
}


// 函数定义
double fun(int n) {
   int i;
   double s=0,k=1;
   
   for(i=1;i<=n;i++){
   	s=s+pow(-1,i-1)/k;
   	k=k*(i+1);
   }
   return s;
   
}

  

实验六;

//求101到两百之间的所有素数
#include<stdio.h> 
#include<math.h>

int isprime(int n);
int main()
{
	int i, point=0, sum=0;
	for(i=100;i<=200;i++)
	{
		if(isprime(i))
		{ 
		     printf("%4d",i);
		     point++;
		     sum++;     //素数的个数 
		     if(point%5==0)  //每行五个数据 
		         printf("\n");
				        
	    } 
	}
	
    printf("100~200的素数个数为:%d",sum); 
    
    return 0;
    
}
int isprime(int n)
{
	int  k;
	for(k=2;k<=sqrt(n);k++)
	  if(n%k==0)
	      return 0;
      return 1;
}

  

posted @ 2021-04-15 16:46  smile1234567  阅读(52)  评论(1)    收藏  举报