实验三
//生成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; }
#include<stdio.h> #include<time.h> #include<stdlib.h> int main() { srand((unsigned)time(0)); int num; int guess;//用户猜数 int right;//正确答案 int count;//已猜次数 while(1) { count=0; right=0; num=rand()%31; printf("猜猜2021年5月哪一天会是你的lucky day\n"); printf("开始喽,你有三次机会,猜吧(1~31):\n"); while(count++<3) { scanf("%d",&guess);//小于3次,不断猜数 if(guess==num) { right=1; printf("恭喜猜对!\n");break; } else if(guess>num) { printf("你猜的日期晚了,lucky day悄悄溜到前面啦\n"); printf("再猜(1~31):\n"); } else { printf("你猜的日期早了,lucky day还没到呢\n"); printf("再猜(1~31):\n"); } } if(right==0) printf("次数用完啦。偷偷告诉你:五月,你的lucky day是%d\n",num); int c; fflush(stdin); c=getchar(); if(c=='n'||c=='N') break; } return 0; }
#include<stdio.h> long fun(long int x) { long b=0; while(x>0) { if((x%10)%2) b=b*10+x%10; x/=10; } return b; } int main() { long a,b; while(1) { printf("Enter a number:"); scanf("%d",&a); b=fun(a); printf("new number is:%ld\n",b); } }
//一元二次方程求解(函数实现方式) //重复执行,知道按下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); } } }
#include<stdio.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,j; double sum=1,zi=1,mu=1; for(i=1;i<=n;i++) { zi=-1*i; for(j=1;j<=i;j++) mu=mu*j; sum=sum+zi/mu; mu=1; } }
#include<stdio.h> #include<math.h> int main() { int m,i,k,h=0,leap=1; printf("\n"); for(m=100;m<200;m++) { k=sqrt(m+1); for(i=2;i<=k;i++) if(m%i==0) { leap=0; break; } if(leap) { printf("%-4d",m); h++; if(h%5==0) printf("\n"); } leap=1; } printf("\n100~200之间素数个数为:",h); }
#include<stdio.h> #include<stdlib.h> #include<windows.h> void printCharMan(int line,int col);//函数声明 void printSpaces(int n);//函数声明 int main() { int line,col; for(line=5,col=5;col<=60;col++) { printCharMan(line,col); Sleep(50);//暂停50ms system("cls");//清除屏幕 } } //打印n个空格 void printSpaces(int n) { int i; for(i=1;i<=n;i++) printf(" "); } //在第line行第col列打印一个字符小人 void printCharMan(int line,int col) { int i,j; //打印line-1行空行 for(i=1;i<=line-1;i++) printf("\n"); //打印col-1个空格 printSpaces(col-1); //在第line行、第col列打印字符小人的头 printf("o\n"); //打印col-1个空格 printSpaces(col-1); //在第line行、第col列打印字符小人的身体 printf("<H>\n"); //打印col-1个空格 printSpaces(col-1); //在第line行、第col列打印字符小人的腿 printf("I I\n"); }