桂 林 理 工 大 学实 验 报 告实验四 选择结构程序设计
桂 林 理 工 大 学
实 验 报 告
班级 计算机类 学号3202052 姓名 实验名称实验四 选择结构程序设计 日期 2020年 11月22 日
一、实验目的:
- 熟悉掌握while语句、do~while语句、for语句实现循环的方法
- 掌握在程序设计中用循环方法实现一些常用的算法
- 进一步学习调试程序。
二、实验环境:
PC + Windows +Visual C++6.0
三、实验内容:
(主要内容的文字及贴图)
例题:例5.7~5.11
习题:
1 输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符数(习题5.4)
在得到正确结果后请修改程序使之能分别统计大小写字母、空格、数字、和其他字符
方法1:(利用while循环结构)
#include <stdio.h>
int main()
{
char c;
int letter=0,space=0,others=0,number=0;
printf("Please enter character:\n");
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letter++;
else if(c==' '||c=='\t')
space++;
else if(c>='0'&&c<='9')
number++;
else others++;
}
printf("letter=%d,space=%d,number=%d,others=%d\n",letter,space,number,others);
return 0;
}
方法2:(利用for循环结构)
#include <stdio.h>
int main()
{
char c;
int letter=0,space=0,others=0,number=0;
printf("Please enter character:\n");
for(letter=0,space=0,others=0,number=0;(c=getchar())!='\n';)
{
if(c>='A'&&c<='Z'||c>='a'&&c<='z')//或一个为真就能运行,若为与英文字母需要大小写才能运行
letter++;
else if(c==' '||c=='\t')
space++;
else if(c>='0'&&c<='9')
number++;
else
others++;
}
printf("letter=%d,space=%d,number=%d,others=%d\n",letter,space,number,others);
return 0;
}
2 输出所有的“水仙花数”,题目见教材习题5.8
#include <stdio.h>
int main()
{
int b,s,g,i,sum;
for(i=100;i<1000;i++)
{
b=i/100;
s=i%100/10;
g=i%10;
sum=g*g*g+s*s*s+b*b*b;
if(i==sum)
{
printf("%d\n",sum);
}
}
return 0;
}
3 求两个数的最大公约数和最小公倍数
#include <stdio.h>
int main()
{
int a,b,r,n,m;
printf("请输入两个整数:");
scanf("%d,%d",&a,&b);
m=a,n=b;
do
{
r=a%b;
a=b;
b=r;
}
while(r!=0);//当r!=0时,继续执行循环体到0才输出数值
printf("%d和%d的最大公约数是:%d\n",m,n,a);
printf("最小公倍数是:%d",m*n/a);//两个数的乘积等于这两个数的最大公约数与最小公倍数的乘积
return 0;
}
4 习题5.16
#include <stdio.h>
int main()
{
int i,j,k,l;
for(i=1;i<=5;i++)
{
for(j=1;j<=5-i;j++)
{
printf(" ");
}
for(j=1;j<=2*i-1;j++)
{
printf("*");
}
printf("\n");
}
for(k=1;k<=4;k++)
{
for(l=1;l<=k;l++)
{
printf(" ");
}
for(l=1;l<=7-2*(k-1);l++)
{
printf("*");
}
printf("\n");
}
return 0;
}
- 输入一批非零的整数,以输入零表示结束,求这批数据的平均值并输出。
#include <stdio.h>
int main()
{
int num[10],i=0;
float average,sum=0;
printf("输入一批非零的整数,以输入零表示结束:\n");
while(i<10)
{
scanf("%d",&num[i]);
if(num[i]==0)
break;
sum+=num[i];
i++;
}
average=sum/i;
printf("平均数:%.2lf\n",average);
return 0;
}
6.给定N个正整数,请统计奇数和偶数各有多少个?
输入格式:
输入第一行给出一个正整N(≤1000);第2行给出N个非负整数,以空格分隔。
输出格式:
在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。
输入样例:
9
88 74 101 26 15 0 34 22 77
输出样例:
3 6
#include <stdio.h>
int main()
{
int a=0,b=0,n,i,num[1000];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&num[i]);
if(num[i]%2==0)
{
a++;
}
else
{
b++;
}
}
printf("%d %d",b,a);
return 0;
}
#include<stdio.h>//素数本身和1
int main()
{
int a,b,i,j;
int k;
scanf("%d%d",&a,&b);
for(i=a;i<=b;i++)
{
k = 0;
for(j=2;j<i;j++)
{
if(i%j==0)
k++;
}
if(k==0){
printf("%d ",i);
}
}
}
#include <stdio.h>
int main()
{
int i,n=20;
double a=2,b=1,s=0,t;
for(i=1;i<=n;i++)
{
s=s+a/b;
t=a,a=a+b,b=t;
}
printf("sum=%0.6f\n",s);
return 0;
}
7 输入一个整数n,计算n!并输出。
#include <stdio.h>
int main()
{
int n,sum=1,i;
printf("输入一个整数n\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=sum*i;
}
printf("%d!=%d,\n",n,sum);
return 0;
}
8.二选一 (学号为单号的同学做第a题,学号为双号的同学做第b题,鼓励两题都做 J)。
a输入一个整数n(n>6),计算1!+2!+3!+……+n!并输出。
b输入一个整数n(n>6),依次输出1至n之间各个数的阶乘值,输出格式为:
1!=1
2!=2
3!=6
4!=24
5!=120
6!=720
……
a:
#include <stdio.h>
int main()
{
int i,n,factorial=1,s=0;;
printf("输入一个整数n(n>6):\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
factorial=factorial*i;//阶乘
s=s+factorial;
}
printf("1!+2!+3!+……+n!=%d\n",s);
return 0;
}
b:
#include <stdio.h>
int main()
{
int n,i,j,f=1;
printf("请输入一个数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
f=f*j;
}
printf("%d! = %ld\n",i,f);
f=1;
}
return 0;
}
四、心得体会(150字以上):
通过本次实验,熟悉掌握while语句、do~while语句、for语句实现循环的方法,掌握在程序设计中用循环方法实现一些常用的算法,进一步学习调试程序。
桂 林 理 工 大 学实 验 报 告实验四 选择结构程序设计相关推荐
- 桂 林 理 工 大 学实 验 报 告实验五 数组
桂 林 理 工 大 学 实 验 报 告 班级 计算机类20 学号32020520 姓名 实验名称实验五 数组 日期 2020年 11月28日 一.实验目的: 熟悉掌握一维数组和二维数组的定义和 ...
- 桂 林 理 工 大 学实 验 报 告 实验名称实验六 函数
桂 林 理 工 大 学 实 验 报 告 班级 计算机类2 学号320205 姓名 实验名称实验六 函数 日期 2020年 12月7日 一.实验目的: 掌握定义函数.声明函数的方法. 掌握调用函 ...
- 桂林理工大学 计算机网络 实 验 报 告 静态路由实验
桂 林 理 工 大 学 实 验 报 告 班级 计算机类 学号 3202052 姓名 同组实验者 无 实验名称 静态路由实验 ...
- c#语言程序设计上机实验,《C#语言程序设计》实 验 报 告
<<C#语言程序设计>实 验 报 告>由会员分享,可在线阅读,更多相关<<C#语言程序设计>实 验 报 告(20页珍藏版)>请在人人文库网上搜索. 1. ...
- python实训报告pygame_20181218 实验四《Python程序设计》实验报告
20181218 2019-2020-2 <Python程序设计>实验四报告 课程:<Python程序设计> 班级: 1812 姓名: 学号:20181218 实验教师:王志强 ...
- 南京邮电大学电工电子基础B实验四(戴维南与诺顿定理)
戴维南与诺顿定理 一. 实验目的 1.学习几种常用的等效电源的测量方法 2.比较几种测量方法所适用的情况 3.分析各种方法的误差大小及其产生的原因 二. 主要仪器设备及软件 硬件:交流电源.电容.电感 ...
- 合肥工业大学宣城校区Java技术实验四 Java Web编程
(本实验只完成了一部分,属于半成品) 一.实验目的 1.掌握Java Web服务器Tomcat的安装.配置. 2.学会简单的HTML表单设计,表单提交. 3.掌握JSP中的request对象.sess ...
- 实验五 循环结构程序设计 → 张玉生《C语言程序设计实训教程》双色版 配套实验书答案 (纯手打, 仅供参考)
实验6.1 //程序功能:输入一个整数n,求1/1-2/3+3/5-4/7+5/9-6/11+--的前n项之和 #include <stdio.h>int main() {int i, n ...
- python开发环境搭建实训报告_20191302 实验一《Python程序设计》实验报告
20191302 2019-2020-2 <Python程序设计>实验一报告 课程:<Python程序设计> 班级: 1913班 姓名: 董佳帅 学号:20191302 实验教 ...
最新文章
- 最先进的图像分类算法:FixEfficientNet-L2
- 什么是 Delta 文件
- android x86怎么引导,Android、Ubuntu、win三系统引导求教
- 物联网平台 源码_国内首个智慧交通物联网平台发布
- python第三方库安装-python的第三方库安装
- 小能量汇聚成大能量_清体能量棒配料解析:小种子,大能量,藜麦和青稞
- GIS讲堂第二课-地图切片简介以及OL中的调用
- 教学思路ASP.Net之服务器控件: 四、FileUpload
- Ehcahe spring
- staruml 为类的属性指定数据类型_关于python的数据类型
- 赛尔笔记 | 事件间因果关系方向数据调研
- 遇到的JAVA笔试题
- Chrome 进阶:用扩展武装自己
- canvas画布的基本教程
- RL Python练习
- 十三、注解(高琪java300集+java从入门到精通笔记)
- unity3D 涂涂乐使用shader实现上色效果
- 水逆了一整年的王源,2020年年初能靠《大主宰》翻身吗?
- 下拉菜单和文本框结合
- 周金涛生前20篇雄文精华,一文尽览