首页 > 编程语言 >实验2 C语言控制语句应用编程

实验2 C语言控制语句应用编程

时间:2022-10-19 14:49:02浏览次数:62  
标签:语句 main 截图 源代码 int 编程 C语言 printf include

1试验任务一

(1)task1.c源代码,及,运行结果截图 

 

 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 5
int main()
{
    int number;
    int i;
    srand(time(0)); // 以当前系统时间作为随机种子
    for (i = 0; i < N; ++i)
    {
        number = rand() % 500 + 1;
        printf("20228329%04d\n", number);
    }
    return 0;
}

 

(2)回答试验任务一中提出的问题

  问题1:解释line17代码 number = rand()%500 + 1; 的功能   答:其功能是产生1~500之间的随机数   问题2:这个程序的功能是什么?   答:该程序的功能是随机打印2022级新生的学号

2.试验任务2

  task2.c源代码,及,运行结果截图
/*使用随机函数,生成1~31之间的一个随机整数作为11月的lucky day
用户有三次猜的机会。根据用户输入的日期,提示用户猜的日期是猜中了,或是,早或晚。
如果用户已经猜中了,则无需打印输出lucky day。
如果用户用光三次机会也没有猜中,那么,就打印输出用户在11月的lucky day。*/

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

int main()
{
    int num, lnum, i;
    printf("猜猜2022年11月那一天会是你的lucky day\n");
    printf("开始喽,你有三次机会,猜吧(1~30): ");

    srand(time(0));

    for (i = 1; i <= 3; i++)
    {
        scanf_s("%d", &num);
        lnum = rand() % 30 + 1;
        if (num == lnum)
        {
            printf("哇,猜对了\n");
            break;
        }
        else if (num < lnum)
        {
            printf("你猜的日期早了,你的lucky day 还没到呢\n");
            printf("再猜:");
        }
        else
        {
            printf("你猜的日期晚了,你的lucky day还没到呢\n");
            printf("再猜:");
        }
    }
    if (i == 4)
        printf("次数用完了,偷偷告诉你:11月你的lucky day是%d号\n", lnum);

    return 0;


}

3.试验任务3

task3.c源代码,及,运行结果截图 
/*判断交通信号灯颜色,要求用户从键盘输入字符,用来表示交通信号灯颜色。输入r表示red,输入g表示green, 输入y表示
yellow*/

#include<stdio.h>
int main()
{
    char color;
    printf("请输入交通信号灯颜色:r表示red,g表示green,y表示yellow\n");
    while (scanf_s("%c", &color) != EOF)
    {
        getchar();
        switch (color)
        {
        case 'r':printf("stop!\n"); break;
        case 'g':printf("go go go\n"); break;
        case 'y':printf("wait a minute\n"); break;
        default:printf("something must be wrong.....\n"); break;
        }
        
    }
    return 0;

}

4.试验任务4

  task4.c源代码,及,运行结果截图

/*编写程序task4.c,实现从键盘输入正整数n和a,根据计算式,计算s。要求支持多组输入*/
#include<stdio.h>
#include<math.h>
int main()
{
    int n, i,a,j,c;
    float s = 0;
    while (scanf_s("%d %d", &n, &a) != EOF)
    {
        getchar();
        for (i = 1; i <= n; i++)
        {
            c = a;
            for (j = 2; j <= i; j++)
                c = c + c * pow(10, j - 1);
            s = s + (float)i / c;
        }
        printf("n = %d,a = %d,s = %lf\n", n,a,s);
        

    }
    return 0;

}

细节:对于实验4一定要记住每次循环都需要将s初始化为0

5.试验任务5

  task5.c源代码,及,运行结果截图 

//打印九九乘法表
#include<stdio.h>
int main()
{
    int i, j;
    for (i = 1; i <= 9; i++)
    {
        for (j = 1; j <= i; j++)
            printf("%d * %d = %d\t", j, i, j * i);
        printf("\n");
    }
    return 0;
}

6.试验任务6

  task6.c源代码,及,运行结果截图
//从键盘输入n, 打印n行按图示方式递减的字符小人阵列
#include<stdio.h>
int main()
{
    int i, j, n, s, k,q,r,t,p;
    scanf_s("%d", &n);
    s = n;
    for (i = 1; i <= n; i++)
    {
        for (j = 1; j < i; j++)
            printf("\t");
        for (k = 1; k <= (2 * s - 1); k++)
            printf(" o \t");
        printf("\n");
        for (q = 1; q < i; q++)
            printf("\t");
        for (r = 1; r <= (2 * s - 1); r++)
            printf("<H>\t");
        printf("\n");
        for (t = 1; t < i; t++)
            printf("\t");
        for (p = 1; p <= (2 * s - 1); p++)
            printf("I I\t");
        printf("\n");
        s = s - 1;
    }
    return 0;
}

 

 

 

 

标签:语句,main,截图,源代码,int,编程,C语言,printf,include
From: https://www.cnblogs.com/mli-littlewith/p/16806152.html

相关文章

  • JDK 19 对反应式编程的批判
    我们知道JDK19引入了虚拟线程,实现了JEP425草案,https://openjdk.org/jeps/425该案对反应式编程的批判可谓犀利:Improvingscalabilitywiththeasynchronousstyle......
  • python编程中的circular import问题
    循环引入,circularimport是编程语言中常见的问题,在C语言中我们可以使用宏定义来处理,在c++语言中我们可以使用宏定义和类的预定义等方式来解决,那么在python编程中呢? 其实在p......
  • C语言-打印菱形
    #include<stdio.h>#include<stdlib.h>/*runthisprogramusingtheconsolepauseroraddyourowngetch,system("pause")orinputloop*/intmain(intargc,c......
  • 【C语言知识碎片】字符串函数
    1.strlenize_tstrlen(constchar*str);字符串已经'\0'作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数(不含'\0')。注意如果字符串结尾没有\0s......
  • Linux系统编程 第13章学习笔记
    TCP/IP和网络编程 TCP/IP协议TCP/IP(Comer1988,2001;RFC11801991)是互联网的基础。TCP代表传输控制协议。IP代表互联网协议。   IP主机和IP地址主机是......
  • Linux系统编程 第14章学习笔记
    MySQL数据库系统 MySQL简介MySQL(MySQL2018)是一个关系数据库系统 MySQL安装sudoapt-getinstallmysql-server  MySQL使用安装、显示、新建、删除、选择......
  • Linux系统编程 第11章学习笔记
    EXT2文件系统磁盘是用来储文件的,但是必须先把磁盘格式化为某种格式的文件系统,才能存储文件。文件系统的目的就是组织和管理磁盘中的文件。在Linux系统中,最长见的是ext2......
  • JDBCTemplate-执行DML语句、执行DQL语句
    JDBCTemplate-执行DML语句   publicclassEmp{privateintid;privateStringename;privateintjob_id;privateintmgr;privateD......
  • Linux系统编程 第12章学习笔记
    块设备I/O和缓冲区管理 块设备I/O缓冲区I/O缓冲区作为块设备的缓存内存存在I/O缓冲的基本原理非常简单。文件系统使用一系列I/O缓冲区作为块设备的缓存内存。当进程......
  • 提高编程效率的5大VS Code插件
    前言作为一名开发人员,大家会一直寻找可以帮助改进日常工作流程的解决方案,VSCode市场中就有很多优秀的扩展插件程序。正文​​一、GitLive​​GitLive是一个出色的扩展程......