实验三
任务一
#include <stdio.h>
#include <math.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>
int main(){
int n,m;
int k;
k=0;
int x;
x=0;
for(n=101;n<=200;n++){
for(m=2;m<=sqrt(n);m++)
if(n%m==0)break;
if(m>sqrt(n)){
printf("%5d",n);
x++;
k++;
if(k%5==0)
printf("\n");
}
}
printf("\n");
printf("101`200间共有%d个素数\n",x);
return 0;
}

任务四
#include<stdio.h>
#include<math.h>
int main(){
int s,t,n;
int x;
printf("Enter a number:");
while(scanf("%ld",&s)!=EOF){
while(s){
t=0;
x=0;
while(s!=0){
n=s%10;
if(n%2!=0){
t=t+n*pow(10,x);
x++;
}
s=s/10;}
printf("new number is:%ld\n",t);
printf("Enter a number:");
}
}
return 0;
}

先从右开始提取第一位数,并判断是否为奇数,如果是则赋值给t,用s=s/10来提取下一位数,并接着判断,接下来的循环依靠pow(10,n)实现所提取到的数的从右到左的依次排序。
任务五
#include<stdio.h>
int main(){
int n,x;
double s,y;
x=1;
y=1;
s=0;
printf("Enter n(1~10):");
while(scanf("%d",&n)!=EOF){
for(x=1;x<=n;x++){
y=(-1)*x*y;
s=s-1/y;
}
printf("n=%d,s=%.6f\n\n",n,s);
printf("Enter n(1~10):");
x=1;
y=1;
s=0;
}
return 0;
}

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


浙公网安备 33010602011771号