实验3 C语言分支语句和循环语句编程应用
标签:结果 利用 一个 系统 time srand main 任务 span
任务1
//一元二次方程求解
//重复执行,直到按ctrl+z结束
//
#include
#includeint 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;
}
任务2
//生成N个0~9之间的随机整数,并打印输出
#include
#include
#include#define N 5
int main(){
int x,n;
srand(time(0)); //以当前系统时间作为随机种子
n = 0;
do {
n++;
x=rand()%10; //生成一个0~9之间的随机整数
printf("%3d",x);
}while(nN);
printf("\n");
return 0;
}
任务3
//输出101~200之间所有的素数,并输出这一区间内素数个数
#include
#include int main(){
int x,i,res,flag;
x=101,res=0;
while(x199){
flag = 1;
i = 2;
while(isqrt(x)){
if(x%i == 0){
flag = 0;
i = sqrt(x);
}
i++;
}
if(flag == 1){
res++;
printf("%5d",x);
if(res%5 == 0){
printf("\n");
}
}
x++,x++;
}
printf("\n");
printf("101~200之间共有%d个素数",res);
return 0;
}
任务4
算法思路
利用取余的方法%10取出数X的最后一位,然后判断取出的数是否为奇数,放在变量i中
每次取余后都要通过整除的方法/10,去掉取出的数字后形成新的数X
将取出的变量i乘以相应的位数,再加上之前的结果res,形成新的结果
相应的位置可以通过变量d来控制,d初始值为1,每次当有符合条件的i时,d就乘以10,也就相当于升了一位
#includeint main(){
int x;
int i,res,d;
printf("Enter a number: ");
while(scanf("%d",&x)!=EOF){
res=0;
d=1;
i = x % 10;
while(x>0){
if(i % 2!=0){
res = i*d+res;
d=d*10;
}
x=x/10;
i = x % 10;
}
printf("%d\n",res);
printf("Enter a number: ") ;
}
return 0;
}
任务5
#includeint main(){
int fz,fm,n,i;
float s;
printf("Enter n(1~10): ");
while(scanf("%d",&n)!=EOF){
fm=1;
fz=1;
s=0;
i=1;
while(in){
fm=fm*i;
s=s+fz/(double)fm;
fz=-fz;
i++;
}
printf("n = %d, s = %f\n",n,s);
printf("Enter n(1~10): ");
}
return 0;
}
任务6
#include
#includeint main(){
int i,x;
int n;
printf("猜猜2020年12月哪一天会是你的lucky day\n");
printf("开始喽,你有三次机会,猜吧(1~31): ");
x=rand()%30+1;
i=1;
while(i3){
scanf("%d",&n);
if(x==n){
printf("\n");
printf("恭喜你,猜中了!");
i=5;
}
else{
if(xn){
printf("\n");
printf("你猜的日期晚了,lucky day悄悄溜到前面啦\n");
}
else{
printf("\n");
printf("你猜的日期早了,lucky day还没到呢\n");
}
printf("再猜(1~31):");
i++;
}
}
if(i==4) {
printf("次数用完啦。偷偷告诉你:12月,你的lucky day是%d号",x);
}
return 0;
}
实验3 C语言分支语句和循环语句编程应用
标签:结果 利用 一个 系统 time srand main 任务 span
原文地址:https://www.cnblogs.com/lccmylove/p/13971457.html
评论