实验3 C语言分支语句、循环语句、函数综合应用编程-1
实验任务1
// 生成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; }

// 生成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() % 32; // 生成一个0~99之间的随机整数 printf("%3d", x); } printf("\n"); return 0; }

#include<stdio.h> #include<stdlib.h> #include<time.h> #define N 1 int main(){ int x, n, m; n = 0; printf("猜猜2021年5月哪一天会是你的luck day?\n"); printf("开始喽,你有三次机会,猜吧(1~31):"); srand(time(0)); x = rand()%32; while(n<3) { scanf("%d",&m); if (m>x) { if(n<2) printf("你猜的日期晚了,luck day悄悄溜到前面啦\n再猜(1~31):"); else printf("你猜的日期晚了,luck day已经过去啦\n") ; } else if(m<x) { if(n<2) printf("你猜的日期早啦,luck day悄悄溜到后面啦\n再猜(1~31):"); else printf("你猜的日期早啦,luck day还没到呢\n"); } else { printf("猜对啦") ; return 0 ; } n++; } printf("次数用完啦。偷偷告诉你:5月,你的luck day 是5号"); return 0; }


#include<stdio.h> #include<math.h> int main(){ long m,n,x; int p,q,s; printf("Enter a number:"); while(scanf("%ld",&n)) { q=1; m=0; for(;n!=0;) { x=n%10; if(x%2!=0) { s=1; for(p=1;p<q;p++) { s*=10; } m+=x*s; q++; } n/=10; } printf("\nnew number is:%ld\n\n",m); printf("Enter a number:"); }

// 一元二次方程求解(函数实现方式) // 重复执行, 直到按下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) { double p = 1,q = 0,i; for(i=1;i<=n;i++){ q=q+p; p=(-1)*p*(1/(i+1)); } return q; }

#include<stdio.h> #include<math.h> int isprime(int n); int main() { int i,y=0,t=0; for(i=101;i<=200;i++) { if(isprime(i)) { y++; printf("%4d",i); if(y%5==0) printf("\n"); t=t+1; } } printf("\n\n"); printf("100~200之间的素数个数为:%d",t); printf("\n"); return 0; } int isprime(int n) { int k; for(k=2;k<=sqrt(n);k++) if(n%k==0) return 0; return 1; }

#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"); }


浙公网安备 33010602011771号