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

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

时间:2023-10-16 19:55:05浏览次数:29  
标签:int 编程 lucky C语言 实验 printf include day 分支

一、实验目的

  1. 能正确使用if语句、switch语句实现分支结构
  2. 能正确使用while语句、do...while语句、for语句实现循环结构
  3. 能在具体问题场景中使用嵌套分支语句和嵌套循环语句
  4. 能在具体问题场景中正确区分、使用continue和break
  5. 能灵活、组合使用c语句编程解决简单应用问题

二、实验准备

  1. 分支语句和循环语句的用法:语法规则及注意事项
  2. 使用while语句实现多组输入的方法
  3. 常见问题的算法

三、实验内容

1. 实验任务1

在c开发环境下,输入如下程序。

task1.c

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <time.h>
 4 
 5 #define N 5
 6 #define N1 374
 7 #define N2 465
 8 
 9 int main() {
10     int number;
11     int i;
12 
13     srand(time(0)); // 以当前系统时间作为随机种子
14 
15     for (i = 0; i < 5; ++i) {
16         number = rand() % (N2 - N1 + 1) + N1;
17         //374 - 465 + 374
18         printf("202183360038 %04d\n", number);
19     }
20 
21     return 0;
22 }

2. 实验任务2

编写一个模拟红绿灯信息的程序task2.c。具体要求如下:

  • 要求用户从键盘输入字符,用来表示交通信号灯颜色。输入r表示red,输入g表示green, 输入y表示 yellow
  • 判断交通型号灯颜色,打印输出不同的提示信息:
  1. 如果输入的是r,打印输出字符串stop!
  2. 如果输入的是g,打印输出字符串go go go
  3. 如果输入的是y,打印输出字符串wait a minute
  4. 如果输入的是其它字符,打印输出字符串something must be wrong...
  • 要求支持多组输入,直到用户按下CTRL+Z终止程序

3. 实验任务3

编写一个简单的猜日期程序task3.c。具体要求如下:

  • 使用随机函数,生成1~30之间的一个随机整数作为11月的lucky day
  • 用户有三次猜的机会。根据用户输入的日期,提示用户猜的日期是猜中了,或是,早或晚。
  • 如果用户已经猜中了,则无需打印输出lucky day。
  • 如果用户用光三次机会也没有猜中,那么,就打印输出用户在11月的lucky day。

4. 实验任务4

编写程序task4.c,实现从键盘输入正整数n和a,根据计算式,计算s。

 要求支持多组输入,直到用户按下CTRL+Z终止程序。

5. 实验任务5

编写程序task5.c,实现在屏幕上打印图示所示的九九乘法表。

 6. 实验任务6

编写程序task6.c,实现:从键盘输入n, 打印n行按图示方式递减的字符小人阵列。

四、实验结论

1. 实验任务1

运行截图:

回答问题:

  • 问题1:line17代码的作用是确保生成的随机数范围在[374,465]之间,并将该随机数赋值给number;
  • 问题2:输出5个随机的学号(大概是)。

2. 实验任务2

task2.c

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <stdio.h>
 3 
 4 int main() {
 5     char light;
 6 
 7     do {
 8         scanf("%c", &light);
 9         getchar();
10 
11         switch (light) {
12         case 'r':
13             printf("stop!\n");
14             break;
15         case 'g':
16             printf("go go go\n");
17             break;
18         case 'y':
19             printf("wait a minute\n");
20             break;
21         default:
22             printf("something must be wrong...\n");
23             break;
24         }
25     } while (true);
26 
27     return 0;
28 }

 运行截图:

 3. 实验任务3

task3.c

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 #include <time.h>
 5 
 6 int main() {
 7     int lucky_day;
 8     int a;
 9     int flag = 0;
10 
11     srand(time(0));
12     lucky_day = rand() % 30 + 1;
13     printf("%d\n", lucky_day);
14 
15     printf("你有三次机会,");
16     for (int i = 0; i < 3; i++) {
17         printf("猜吧:");
18         scanf("%d", &a);
19 
20         if (a == lucky_day) {
21             printf("哇,猜中了d=====( ̄▽ ̄*)b\n");
22             flag = 1;
23             break;
24         }
25         else if (a > lucky_day) {
26             printf("你猜的日期晚了\n");
27         }
28         else if (a < lucky_day) {
29             printf("你猜的日期早了\n");
30         }
31     }
32 
33     if (!flag) {
34         printf("次数用完了。悄悄告诉你:11月你的luck day是%d号", lucky_day);
35     }
36 
37     return 0;
38 }

运行截图:

 4. 实验任务4

task4.c

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <stdio.h>
 3 #include <math.h>
 4 
 5 int main() {
 6     int n;
 7     int a;
 8     int temp;
 9     double sum;
10 
11     while (true) {
12         sum = 0.0;
13 
14         scanf("%d %d", &n, &a);
15 
16         temp = a;
17         for (int i = 1; i <= n; i++) {
18             sum = sum + 1.0 * i / temp;
19             temp = a * pow(10, i) + temp;
20         }
21 
22         printf("n = %d, a = %d, s = %lf\n", n, a, sum);
23     }
24 
25     return 0;
26 }

运行截图:

 5. 实验任务5

task5.c

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <stdio.h>
 3 
 4 int main() {
 5     for (int i = 1; i <= 9; i++) {
 6         for (int j = 1; j <= i; j++) {
 7             printf("%d×%d = %2d ", j, i, i * j);
 8         }
 9         printf("\n");
10     }
11 
12     return 0;
13 }

运行截图:

 6. 实验任务6

task6.c

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <stdio.h>
 3 
 4 int main() {
 5     int n;
 6 
 7     scanf("%d", &n);
 8 
 9     for (int i = 0; i < n; i++) {
10         for (int j = 0; j < i; j++) {
11             printf("\t");
12         }
13         for (int k = 2 * (n - i) - 1; k > 0; k--) {
14             printf(" O \t");
15         }
16         printf("\n");
17 
18         for (int j = 0; j < i; j++) {
19             printf("\t");
20         }
21         for (int k = 2 * (n - i) - 1; k > 0; k--) {
22             printf("<H>\t");
23         }
24         printf("\n");
25 
26         for (int j = 0; j < i; j++) {
27             printf("\t");
28         }
29         for (int k = 2 * (n - i) - 1; k > 0; k--) {
30             printf("I I\t");
31         }
32         printf("\n");
33     }
34 
35     return 0;
36 }

运行截图:

 

标签:int,编程,lucky,C语言,实验,printf,include,day,分支
From: https://www.cnblogs.com/Cr2O3/p/17767135.html

相关文章

  • 实验2 C语言分支与循环基础应用编程
    练习1#include<stdio.h>#include<stdlib.h>#include<time.h>#defineN5#defineN1374#defineN2465intmain(){intnumber;inti;srand(time(0));//以当前系统时间作为随机种子for(i=0;i<N;++i){number=rand()%(N2-N1......
  • 实验2_C语言分支与循环基础应用编程
    1.task_11#include<stdio.h>2#include<stdlib.h>3#include<time.h>45#defineN56#defineN13747#defineN246589intmain()10{11intnumber;12inti;1314srand(time(0));1516for......
  • 什么才算是真正的编程能力?
    大家好,我是陶朱公Boy,一个认真生活,总想超越自己的程序员。前言知乎上有一个提问:什么才算是真正的编程能力?             ↓↓↓今天,我们就这个话题,一起来做个讨论。首先问大家一个问题:程序员的你觉得编程能力强可以有哪些指标来衡量?是能从0-1......
  • ABB机器人示教器中设置可编程按钮
    ABB机器人是一种在工业自动化中广泛使用的机器人,具有高效率、高精度、高可靠性等优点,已经成为现代制造业的重要装备之一。为了方便操作,ABB机器人示教器中设置了可编程按钮,通过设置这些按钮,可以将复杂的操作简化成一键操作的效果,从而提高生产效率。下面,我们来详细介绍如何在ABB......
  • 实验1 类和对象编程_基础编程1
    实验任务1task1.cpp//标准库string,vector,array基础用法#include<iostream>#include<string>#include<vector>#include<array>//函数模板//对满足特定条件的序列类型T对象,使用范围for输出template<typenameT>voidoutput1(constT&obj){for(aut......
  • 【Linux 网络编程】为什么 IP 地址通常以192.168开头?——私有 IP 地址段
    首先,192.168并不是设置局域网IP地址的唯一选择。很多企业都选择10.或者172.16开头规划局域网。三个私有IP地址段网络中的主机需要通信,需要使用一个IP地址,目前我们普遍使用的IPv4的地址,分为A、B、C、D、E五类,其中A、B、C类是我们常见的IP地址段。在这三类地址中,大多数为公有地......
  • GO语言中面向接口编程
    接口的基本概念接口是一组行为规范的集合。typeTransporterinterface{//定义接口。通常接口名以er结尾//接口里面只定义方法,不定义变量move(srcstring,deststring)(int,error)//方法名(参数列表)返回值列表whistle(int)int//参数列表和返回值列表......
  • 多线程编程同步:互斥锁和条件变量
    多线程同步怎样同步多个线程或多个进程的活动?为允许在线程或进程间共享数据,同步通常是必需的。而互斥锁和条件变量是同步的基本组成部分。互斥锁用于保护临界区(criticalregion),以保证任何时刻只有一个线程在执行其中的代码,或者任何时刻只有一个进程在执行其中的代码。互斥......
  • 20231407陈原《计算机科学与概论》及《C语言程序设计》第三周学习情况
    [2022-2023-1-计算机基础与程序设计]2023-2024-1计算机基础与程序设计第三周作业https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP[2022-2023-1计算机基础与程序设计第一周作业](https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03)作业目标学习《计算机科......
  • 初识C语言(2)
    一、常量1.字面常量即数字本身,例如:3,100,3.14intmain(){ intnum=4; printf("%d\n",num); num=8; printf("%d\n",num); return0;2.常变量const-常属性(赋予一个变量常属性,变量→常变量(当然其本质上还是个变量),如下图,num变为const修饰的常变量,它的值无法改变intmain()......