实验三
实验一
// 生成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;
}

浙公网安备 33010602011771号