哈尔滨理工大学
软件与微电子学院
实 验 报 告
(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;
}
代码均构建并运行成功并测试多次;
五、总结:
经过本次实验,对顺序、选择、循环结构的程序设计有了更深一步认识,并了解到了自己的不足在哪方面,日后应针对该方面进一步加强练习。
实验成绩: 指导教师: