首页 > 编程语言 >实验2 C语言分支与循环基础应用编程-1

实验2 C语言分支与循环基础应用编程-1

时间:2024-10-08 18:49:05浏览次数:8  
标签:random C语言 int 编程 else %. printf include 分支

任务一

#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 5 #define N1 397 #define N2 476 #define N3 21 int main() { int cnt; int random_major, random_no; srand(time(NULL)); // 以当前系统时间作为随机种子 cnt = 0; while(cnt < N) { random_major = rand() % 2; if(random_major) { random_no = rand() % (N2 - N1 + 1) + N1; printf("20248329%04d\n", random_no); } else { random_no = rand() % N3 + 1; printf("20248395%04d\n", random_no); } cnt++; } return 0; }

 

 

 第二十一行的作用是生成397到476之间的随机数作为学号后缀

第二十五行的作用是生成1到21之间的随机数作为学号后缀

本程序功能为首先根据系统时间生成随机数种子,再生成随机数,若为奇数,则为20248329前缀的学号随机生成397到476之间的后缀,接着补0输出,若为偶数,则为20248395前缀的学号生成1到21之间的后缀,补0输出,上述流程共重复5次,共打印五行学号

任务二

#include <stdio.h>
#include <math.h>

int main() {
    double a, b, c;
    double delta, p1, p2; 

    while(scanf("%lf%lf%lf", &a, &b, &c) != EOF) {
        if(a == 0) {
            printf("a = 0, invalid input\n");
            continue;
        }

        delta = b*b - 4*a*c;
        p1 = -b/2/a;
        p2 = sqrt(fabs(delta))/2/a;

        if(delta == 0)
            printf("x1 = x2 = %.2g\n", p1);
        else if(delta > 0)
            printf("x1 = %.2g, x2 = %.2g\n", p1+p2, p1-p2);
        else {
            printf("x1 = %.2g + %.2gi, ", p1, p2);
            printf("x2 = %.2g - %.2gi\n", p1, p2);
        }
    }

    return 0;
}

 

 

任务三

#include<stdio.h>
int main(){
    char a;
    while(scanf("%s",&a)!=EOF){
        if(a=='y'){
            printf("wait a minute\n");
        }
        else if(a=='r'){
            printf("stop!\n");
        }
        else if(a=='g'){
            printf("go go go\n");
        }
        else{
            printf("something must be wrong...\n");
        }
    }
    return 0;
} 

 

 任务四

#include <stdio.h>
int main(){
    printf("输入今日开销,直到输入-1终止\n");
    double money,sum=0,maxn=0,minn=1e10;
    while(scanf("%lf",&money) && (money!=-1)){
        if(money>maxn){
            maxn=money;
        }
        if(money<minn){
            minn=money;
        }
        sum+=money;
        
    }
    printf("今日累计消费总额:%.1f\n",sum);
    printf("今日最高一笔开销:%.1f\n",maxn);
    printf("今日最低一笔开销:%.1f\n",minn);
    return 0; 
}

 

 

任务五

#include <stdio.h>

int main() {
    int a, b, c;

    while (scanf("%d %d %d", &a, &b, &c) == 3) {
        if (a + b <= c || a + c <= b || b + c <= a) {
            printf("不能构成三角形\n");
        } else {
            if (a == b && b == c) {
                printf("等边三角形\n");
            } else if (a == b || a == c || b == c) {
                printf("等腰三角形\n");
            } else {
                int max_side = a;
                if (b > max_side) max_side = b;
                if (c > max_side) max_side = c;

                if (max_side == a) {
                    if (b * b + c * c == a * a) {
                        printf("直角三角形\n");
                    } else {
                        printf("普通三角形\n");
                    }
                } else if (max_side == b) {
                    if (a * a + c * c == b * b) {
                        printf("直角三角形\n");
                    } else {
                        printf("普通三角形\n");
                    }
                } else {
                    if (a * a + b * b == c * c) {
                        printf("直角三角形\n");
                    } else {
                        printf("普通三角形\n");
                    }
                }
            }
        }
    }

    return 0;
}

 

 任务六

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    int lucky_day, guess;
    int attempts = 3;
    srand(time(NULL));
    lucky_day = rand() % 30 + 1;

    printf("欢迎来到猜日期游戏!请猜测11月的幸运日(1到30):\n");

    while (attempts > 0) {
        printf("你还有 %d 次机会。请输入你的猜测: ", attempts);
        scanf("%d", &guess);

        if (guess < 1 || guess > 30) {
            printf("请输入一个有效的日期(1到30之间)!\n");
            continue;
        }

        if (guess == lucky_day) {
            printf("恭喜你,猜对了!\n");
            return 0; 
        } else if (guess < lucky_day) {
            printf("你猜的日期太早了。\n");
        } else {
            printf("你猜的日期太晚了。\n");
        }

        attempts--;
    }

    printf("很遗憾,你没有猜中。11月的幸运日是 %d。\n", lucky_day);
    
    return 0;
}

 

 

 

标签:random,C语言,int,编程,else,%.,printf,include,分支
From: https://www.cnblogs.com/wangzhadan/p/18452297

相关文章

  • 了解final关键字在Java并发编程领域的作用吗?
    在Java并发编程领域,final关键字扮演着一个至关重要的角色。虽然很多同学熟悉final用于修饰变量、方法和类的基本用法,但其在并发环境中的应用和原理却常常被忽视。final关键字不仅仅是一个简单的修饰符,它在多线程编程中确保对象状态的可见性和不变性,这对于构建线程安全的应用至关重......
  • 《Python 安装指南:开启编程之旅》
    《Python安装指南:开启编程之旅》在当今数字化的时代,编程已经成为一项越来越重要的技能。而Python作为一种简洁、高效且功能强大的编程语言,受到了众多开发者的青睐。无论是数据科学、人工智能、Web开发还是自动化脚本编写,Python都能发挥巨大的作用。一、Python的背景......
  • 初识C语言
    一、C语言的简介什么是C语言C语言之父C语言的由来C语言的发展为什么要学C语言/能做什么为什么要学习这套C语言课程内容介绍1、C语言标准1.1标准简史1972年C语⾔在⻉尔实验室诞⽣.丹尼斯·⾥奇参考B语⾔开发.1970-80年代,C语⾔被⼴泛应⽤,产⽣很多不同的C语⾔版本.程......
  • C/C++/EasyX——入门图形编程(6)
    【说明】hello,友友们,这一章是我写的入门图形编程的最后一章了,内容也不多,希望你们学的开心(^~^)。顺便说一下,现在的我对一些基础操作的小游戏挺感兴趣的,之后也许会把代码教程写出来,动个小手点赞支持一下吧。敬请期待ヽ(*≧ω≦)ノ,一:内容介绍这一篇讲的是如何在黑窗口上播放音乐......
  • FTP连接池与多线程上传下载算法实现(C语言)
    FTP连接池与多线程上传下载算法实现(C语言)设计思路伪代码示例C代码示例为了避免多线程环境下FTP连接池在故障重连时导致的竞争条件和coredump问题,我们需要设计一个精细的连接池管理系统,确保在连接重连时,其他线程不会尝试使用该连接。以下是一个简化的设计思路和示......
  • Python 高级编程:深入解析 CSV 文件读取
    在Python中,读取CSV(逗号分隔值)文件是数据处理中的常见任务。以下将介绍一些高级的方法来读取CSV文件:使用pandas库读取CSV文件importpandasaspddf=pd.read_csv('file.csv')print(df)pandas是一个强大的数据处理库,read_csv函数可以方便地读取CSV文件并将其转换......
  • Python 高级编程:深入探索字符串切片
    在Python中,字符串切片是一种强大的操作,它允许我们从字符串中提取特定的部分。以下是关于Python字符串切片的高级教学: 基本的字符串切片string = "Hello, World!"# 提取从索引 7 到索引 11 的子串(不包括索引 11)substring = string[7:11]print(substring)......
  • labview和QT编程
    LabViewLabView所面向的并非传统意义上的程序员。他的所有功能都可以通过组合某些组件来完成。程序的流程控制,比如循环之类的也是通过画图一样的操作来做的。所有的程序功能几乎都可以通过鼠标来构造出来。优点是做一个能运行的程序非常简单。做一个虚拟的仪器很容易。也不需要......
  • 【C++】速通涉及 “vector” 的经典OJ编程题
    【C++】速通涉及“vector”的经典OJ编程题一.杨辉三角解题思路:代码实现:二.删除有序数组中的重复项解题思路:代码实现:【C/C++】按位运算符使用规制三.只出现一次的数字解题思路:代码实现:四.只出现一次的数字III解题思路:代码实现:一.杨辉三角本题LeetCode链......
  • 城中分支
    城中分支题目描述“城市处于建设中......”预言之子的你获得了一个拥有$n$个元素的数组。天神赋予你$q$次操作:$Modify$,$l$,$r$,$x$------对于每个$i$$(l\leqi\leqr)$,将$a_i$乘以$x$。$Query$,$l$,$r$------你需要回答$\varphi(\prod_{i=l}^{r}{a_i})$取模$10^......