- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int main() {
- int guessNumber; // 存放程序运行时生成的 1~100 之间的随机整数
- int ans; // 存放用户猜的数字
- srand((time(0))); // 以时间函数作为随机种子
- guessNumber = 1 + rand()%100; // 生成 1~100 之间的随机数
- do {
- printf("your guess number is(1~100):");
- scanf("%d", &ans);
- if(ans <guessNumber)
- printf("%d is lower than the number.\n", ans);
- else if(ans> guessNumber)
- printf("%d higher then the number.\n", ans);
- }while(ans != guessNumber);
- printf("Congratulations. you hit it~\n");
- return 0;
- }
- // 一元二次方程求解
- // 重复执行, 直到按 Ctrl+D 或 Ctrl+E 结束
- //
- #include <math.h>
- #include <stdio.h>
- #include <stdlib.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))//while 的执行条件为输入三个值, 所以只要持续的输入 abc 三个数的值就会不断的运行
- {
- 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 = %f, x2 = %f\n", x1, x2);
- }
- else {
- real = -b/(2*a);
- imag = sqrt(-delta) / (2*a);
- printf("x1 = %f + %fi, x2 = %f - %fi\n", real, imag, real, imag);
- }
- }
- printf("Enter a, b, c:\n");
- }
- system("pause");
- return 0;
- }
- /*
- 编程找出 5 个整数的最大数和最小数
- 《C 语言程序设计教程学习指导》p122 实验内容 (3)
- */
- #include <stdio.h>
- #include <stdlib.h>
- int main() {
- int number, max, min, n;
- n=1;
- printf("输入第 %d 个数:", n);
- scanf("%d", &number);
- max = number;
- min = number;
- while(n>=1&&n<5)// 要让输入的数字个数为五个, 如果是 n<=5 的话会再运行一次, 就变成六个数
- {
- n++;
- printf("输入第 %d 个数:", n);
- scanf("%d", &number);
- if(max<number)
- max = number;
- else if(min>number)
- min = number;
- }
- printf("最大数为: %d\n", max);
- printf("最小数为: %d\n", min);
- system("pause");
- return 0;
- }
- // 编程输出 101-200 之间所有素数, 并输出这一区间内素数个数.
- #include<stdio.h>
- #include<math.h>
- int isprime(int n);
- int main()
- {
- int i,m=0;
- for(i=101;i<=200;i++)
- {
- if(isprime(i))
- {
- printf("M",i);
- m++;
- if(m%5==0)
- printf("\n");
- } }
- printf("\n");
- printf("101~200 之间共有 %d 个素数",m);
- return 0;
- }
- int isprime(int n)
- {
- int k;
- for(k=2;k<=sqrt(n);k++)
- if(n%k==0)
- return 0;
- return 1;
- }
- // 将一个长整型数 s 的每一数位上的奇数依次取出来, 构成一个新的数, 起高位仍在高位, 低位仍在低位
- #include<stdio.h>
- //long int isprime(long int m);
- int main()
- {
- printf("enter a number:");
- int k,i=1;
- long int a,b=0;
- scanf("%lu",&a);
- while(a>0){
- k=a%10;
- a=a/10;
- if(k%2==1){
- b=b+k*i;
- i=10*i;}}
- printf("new number is:%lu",b);
- return 0;
- }
这次的代码出现的逻辑错误比较多, 所以改了好久, 最后一个题目不管是我自己写的还是之后看了好多人的, 在输入某些特定数值的时候, 会出现错误, 比如我最后这张图, 出现了我没输入过的数字, 怎么改都不行, 要说这次最大的收获, 就是我终于学会了写注释, 这样以后检查的时候就好检查了.
实验 3
来源: http://www.bubuko.com/infodetail-3293418.html