哈尔滨理工大学

软件与微电子学院

实 验 报 告

(2018-2019第一学期)

课程名称:结构化程序设计(C)
班 级:软件18- 1 班
学 号:1814010130
姓 名:张立辉

哈尔滨理工大学软件与微电子学院


实验名称:顺序、选择、循环结构的程序设计专 业软件工程
姓 名张立辉学 号1814010130班 级软件18-1

一、 实验目的:

(1)使学生熟练掌握++,--运算符的使用。
(2)学会正确使用逻辑运算符和逻辑表达式。
(3)掌握顺序、选择结构、循环结构的基本设计方法。

二、实验内容:

(1)用下面的scanf函数输入数据,使a=3, b=7, x=8.5, y=71.8, c1=‘A’, c2=‘a’。编辑、调试并运行。

#include<stdio.h>
main()
{int a,b;float x,y;char c1,c2;
scanf(“a=%db=%d”,&a,&b);
scanf(“%f%e”,&x,&y);
scanf(“%c%c”,&c1,&c2);
printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c”,a,b,x,y,c1,c2);
}

(2)输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
(3)将课后习题5.3编程并上机调试运行。

三、实验设备及软件环境:

计算机,Windows系统,CodeBlocks;

四、实验过程及结果:

(1):

#include<stdio.h>
main()
{
    int a,b;
    float x,y;
    char c1,c2;
    scanf("%d%d",&a,&b);
    scanf("%f%f",&x,&y);
    scanf(" %c %c",&c1,&c2);
    printf("a=%d,b=%d,x=%.1f,y=%.1f,c1=%c,c2=%c",a,b,x,y,c1,c2);
}

(2):输入一行字符,分别统计出其中英文字母、空
格、数字和其他字符的个数。

#include<stdio.h>
int main(void)
{
    char ch;
    int zifu=0,kongge=0,shuzi=0,other=0;
    while((ch=getchar())!='\n') 
    {
        if(ch>='a'&&ch<='z'||ch<='z'&&ch>='a')
        {
            zifu++;
        }
        else if(ch==' ')
        {
            kongge++;
        }
        else if(ch>='0'&&ch<='9')
        {
            shuzi++;
        }
        else
        {
            other++;
        }
    }
    printf("字母= %d,空格= %d,数字= %d,其它= %d\n",zifu,kongge_num,shuzi,other);
    return 0;
}

(3):将课后习题5.3编程并上机调试运行。
5.3:输入两个正整数吗m和n,求其最大公约数和最小公倍数

#include<stdio.h>
int main()
{
    int m, n;
int m_cup, n_cup, res;
printf("Enter two integer:\n");
    scanf("%d %d", &m, &n);
    if (m > 0 && n >0)
    {
        m_cup = m;
        n_cup = n;
        while (res != 0)
        {
            res = m_cup % n_cup;
            m_cup = n_cup;
            n_cup = res;
    }
    printf("最大公约数: %d\n", m_cup);
    printf("最小公倍数: %d\n", m * n / m_cup);
}
else printf("Error!\n");
return 0;
}

代码均构建并运行成功并测试多次;

五、总结:

经过本次实验,对顺序、选择、循环结构的程序设计有了更深一步认识,并了解到了自己的不足在哪方面,日后应针对该方面进一步加强练习。

实验成绩: 指导教师:

最后修改:2021 年 05 月 11 日
如果觉得我的文章对你有用,请随意赞赏