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

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

时间:2024-10-10 14:49:13浏览次数:7  
标签:%. int 编程 C语言 cost printf input include 分支

task1.c 

#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;//生成一个随机数并且除2取余数,余数可能是0或者1 
if(random_major){//如果余数是1 
random_no=rand()%(N2-N1+1)+N1;//生成一个在 N1 和 N2 之间的随机数
printf("20248329%04d\n",random_no);
}
else{
	random_no=rand()%N3+1;//生成一个在1和 N3 之间的随机数。
	printf("20248395%04d\n",random_no);
}
cnt++;
}
return 0;
	
}

问题1:解释line21代码 random_no = rand() % (N2 - N1 + 1) + N1;的功能  Q:生成一个在 N1 和 N2 之间的随机数

问题2:解释line25代码 random_no = rand() % N3 + 1;的功能 Q:生成一个在1和 N3 之间的随机数

问题3:这个程序的功能是什么? Q:随机生成计算机7到12和奇安信1班学生的学号

task.2

// 一元二次方程求解
#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;
 }

task.3

#include <stdio.h>

int main(){

while(1){

char input;
scanf("%c",&input);
if(input=='r'){
printf("stop!\n");
getchar();    
}
else if(input=='g'){
printf("go go go\n");
getchar();
}
else if(input=='y'){
printf("wait a minute\n");
getchar();
}
else {
printf("something must be wrong...\n");
getchar();
}
    
    
}    
return 0;    
} 

task.4

#include <stdio.h>
int main(){
double x;
double cost;
double max_cost;
double min_cost;
double final_cost;
max_cost=0;
min_cost=20000;
final_cost=0;
cost=0;
printf("输入今日开销,直至-1结束;\n"); 
while (cost!=-1){
scanf("%lf",&cost);    
getchar();
if (cost>max_cost){
    max_cost=cost;
}
if (cost>=0){
if (cost<min_cost){
    min_cost=cost;}
}    
final_cost+=cost;        
}    
printf("今日累计消费总额:%.1f\n",final_cost);
printf("今日最高一笔开销:%.1f\n",max_cost);
printf("今日最低一笔开销:%.1f\n",min_cost);
    
    
return 0;
    

task.5

#include <stdio.h>
int main(){
int a,b,c;
int result;
while(1){

result=scanf("%d%d%d",&a,&b,&c);

    if (result != 3) {
            // 发生错误或者到达文件末尾
            break;
        }
getchar();
if ((a+b<=c)||(a+c<=b)||(b+c<=a)){
printf("不能构成三角形\n");
}
else if((a*a+b*b==c*c)||(b*b+c*c==a*a)||(a*a+c*c==b*b)){
printf("直角三角形\n");
}
else if((a==b)&&(a==c)){
printf("等边三角形\n");
}
else if(((a==b)&&(a!=c))||((a==c)&&(b!=a))||((b==c)&&(b!=a))){
printf("等腰三角形\n");
}
else{
printf("普通三角形\n");
} 
}
    
    
return 0; 
}

task.6

#include <stdio.h>
#include <stdlib.h> 
int main(){
printf("猜猜2024年11月哪一天会是你的lucky day\n");
printf("开始喽,你有三次机会,猜吧(1~30):" );
int n,ans,input;
n=0;
ans=rand()%30+1;
while(n!=3){

scanf("%d",&input);
if (input>ans){
printf("你猜的日期晚了,你的lucky day在前面哦\n");

}
else if(input<ans){
printf("你猜的日期早了,你的lucky day还没到呢\n");

}
else if(input==ans){
printf("哇,猜中了");
break;
}    
n=n+1;
if(n<=2){

printf("再猜(1~30):");}
}
if(n==3){
printf("次数用光啦。偷偷告诉你,11月你的lucky day是%d号",ans);
    
}
}

 

标签:%.,int,编程,C语言,cost,printf,input,include,分支
From: https://www.cnblogs.com/miaochengsheng/p/18456362

相关文章

  • 实验1 现代c++基础编程
    任务1:源代码task1.cpp//现代C++标准库、算法库体验//本例用到以下内容://1.字符串string,动态数组容器类vector、迭代器//2.算法库:反转元素次序、旋转元素//3.函数模板、const引用作为形参#include<iostream>#include<string>#include<vector>#include......
  • Java 函数式编程(1 万字)
    此笔记来自于B站黑马程序员goodJava历史版本及其优势函数式编程,StreamAPI一.函数伊始函数、函数对象函数对象行为参数法延迟执行a-lambdab-方法引用复习小测Math::random()->Math.random()Math::sqrt(doublenumber)->Math.sqrt(number)Stude......
  • 【C】C语言常见概念~
    C语言常见概念转义字符转义字符,顾名思义,转变原来意思的字符比如#include<stdio.h>intmain(){ printf("abcndef"); return0;}输出的结果为:将代码修改一下:#include<stdio.h>intmain(){ printf("abc\ndef"); return0;}输出的结果变为:\n就是一个......
  • chatGPT:清理 master 分支的文件,并让这个分支只有一个提交
    Q我的开发工作都在master分支上做的,master分支有很多的开发的时候产生的临时文件。我想清空master分支的历史记录。并且只保留README.md和main.pyA你可以通过以下步骤清空master分支的历史记录,只保留README.md和main.py文件:步骤1:创建一个干净的分支首先,确保......
  • [编程笔记] 当前上下文中不存在名称"ViewBag"
    最近在弄另外一个项目,很长一段时间没接触MVC了,VisualStudio2022识别cshtml文件的时候,出了一点故障!很多ViewBag、@Html.Partial、@Html.FunctionBar()等这些地方都报波浪线了,提示不存在这个名称,但是代码是可以运行的,这种一般就是本地环境或者配置的问题了。......
  • 手写X86——第五节——X86实模式下的编程介绍2(寄存器赋初值)
    ......
  • 基于C语言编程实现发票四要素查验-医疗票真伪查验API
    发票四要素查验是指通过发票代码、发票号码、开票日期和校验码/金额这四个关键信息来验证发票的真实性。这些要素是每张发票独有的,伪造者很难复制出完全一样的发票。而发票查验接口、医疗票真伪查验API正是基于这一原理,为用户提供了一种便捷、高效的查验方式。首先,发票查......
  • 《Visual Studio Code:编程效率飞升的秘密武器》
    哪个编程工具让你的工作效率翻倍?在日益繁忙的工作环境中,选择合适的编程工具已成为提升开发者工作效率的关键。不同的工具能够帮助我们简化代码编写、自动化任务、提升调试速度,甚至让团队协作更加顺畅。那么,哪款编程工具让你的工作效率翻倍?是智能的代码编辑器,强大的版本控制工......
  • 2个日期之间相差天数C语言实现。
    2个日期之间相差天数Description时光匆匆,日子一天天的过去,一个百岁老人,所活天数也不过36500多天。现在,小明突然想知道自己已经活了几天。已知小明的出生日期和现在的日期,请你帮助小明计算出他已活的天数。如,出生日期为2011-10-01,现在是2011-10-27,则已活的天数为26天。Inpu......
  • 现代C++编程初体验
    实验任务1:task1.cpp1#include<iostream>2#include<string>3#include<vector>4#include<algorithm>56usingnamespacestd;78//声明9//模板函数声明10template<typenameT>11voidoutput(constT&c);1213/......