实验3 C语言分支语句和循环语句编程应用
#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("%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+%.2fi,x2=%.2f-%.2fi\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> #include<stdlib.h> int main() { int i,n,m=0; for(n=100;n<=200;n++) { for(i=2;i<n;i++) { if(n%i==0)break;} if(i>=n) {printf("%5d",i); m++; if (m%5==0) printf("\n"); } } printf("\n 101-200之间有%d个素数。\n",m); return 0; }
#include<stdio.h> #include<stdlib.h> int main() { long a,b,d; printf("Enter a number: "); while((scanf("%d",&a))!=EOF){ long c=0,e=0; while(a!=0){ b=a%10; a=a/10; if((b%2)!=0) c=c*10+b;} while(c!=0) { d=c%10; c=c/10; e=e*10+d; } printf("new number is: %d\n",e); printf("Enter a number: ");} return 0; }
因为数据是长整形数据,数据做除法保留整数位,当数据与10相除,结果是将数小数点向前移动比如原先是20201109,除以10后变成2020110,取余得9,当只剩下偶数位时,跳出循环,此时所有奇数已求得再通过运算,循环算出。
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int n,x,m=1; srand(time(0)); x=rand()%31+1; printf("猜猜2020年12月哪一天会是你的luck day\n"); printf("开始喽,你有三次机会,猜吧(1~31): "); scanf("%d",&n); while(m<3) { if(n==x) { printf("你猜的日期是正确的!\n"); break;} else if(n>x) printf("你猜的日期晚了,luck day悄悄溜到前面啦\n"); else printf("你猜的日期早了,luck day还没到呢\n"); printf("再猜(1~31): "); scanf("%d",&n); m++; } if (m>=3) printf("次数用完了,偷偷告诉你:12月,你的luck day是:%d",x); return 0; }
#include<stdio.h> #include<math.h> #include<stdlib.h> int main() { int n; printf("Enter n(1~10):"); while(scanf("%d",&n)!=EOF){ int p=1,i; double x=-1.0,b,s=0.0; if((n>=1)&&(n<=10)){ for(i=1;i<=n;i++) { p=p*i; b=pow(x,i-1.0); s=s+1/(p*b);}} printf("n=%d, s=%lf\n\n",n,s); printf("Enter n(1~10):"); } return 0;}