C语言--单层循环结构
一、PTA实验作业
题目1:最佳情侣身高
1.实验代码
int N, i;
float height;
char sex;
printf("输入用户个数:\n");
scanf("%d", &N);
if(N>10||N<=0)
{
printf("输入错误!\n");
}
else
{
for(i=1; i<=N; i++)
{
scanf("\n%c%f",&sex,&height);
switch(sex)
{
case 'F':printf("%.2f\n", height*1.09);break;
case 'M':printf("%.2f\n", height/1.09);break;
default: printf("输入错误!\n");break;
}
}
}
2.设计思路
- 1、定义2个整型变量N和i,一个浮点型变量height,一个字符型变量sex,N表示前来查询用户数、i计数、height身高、sex性别;
- 2、输入N,初始化i=1;
- 3、若N>10或N<=0,提示"输入错误!"并结束程序,否则继续下一步骤;
- 4、i++;
- 5、输入sex、height;
- 6、若sex=‘F’,printf("%.2f\n", height*1.09),结束程序;若sex= 'M',printf("%.2f\n", height/1.09),结束程序;否则提示"输入错误!",结束程序;
- 7、若 i<=N,返回步骤4,否则结束程序
3.本题调试过程碰到问题及解决办法
- 问题1:结果错误

解决方法:调试程序,请教同学。开始不理解为什么会出现这样的错误,后来请教舍友,舍友提出可能是因为scanf()函数把结束语句的回车当成字符处理了。猜测中我们使用百度百科,发现确实会有这种可能,然后按照百度的方法,在程序中加入fflush(stdin)函数后,发现第一个输出结果仍有问题,但后面的输出全部正确了。调试发现第一次循环时sex的值仍是‘\n’,大家都不知道为什么会这样了。后来我凭着程序员的直觉(因为之前老师说过直接在scanf语句中写上符号的话,在运行输入时也要输进符号,如果是后面的scanf语句把前一个结束语句的回车当成字符处理了的话,那我先在scanf里面给它一个‘\n’,结果会不会不一样)
C语言--单层循环结构的更多相关文章
- C语言第三次博客作业---单层循环结构
一.PTA实验作业 题目1 1.实验代码 int N,i; //N为用户数,i记录循环变量 double height; //height放身高 char sex; //sex放性别F为女,M为男 s ...
- C语言第三次作业---单层循环结构
一.PTA实验作业 题目一.最佳情侣身高差 1.实验代码 int N;//存放输入的人数 char sex; double hight1,hight2;//分别存放输入的身高和输出的身高 scanf( ...
- 【C语言】-循环结构-for语句
for语句: for (表达式1;表达式2;表达式3) { 循环语句 } 表达式1 给循环变量赋初值 表达式2 为循环条件 表达式3 用来修改循环变量的值,称为循环步长. for语句的执行流程: 例: ...
- C语言之循环结构
程序结构: 顺序结构 条件结构(分支结构) if结构,if-else结构 ,多重if分支结构,switch结构 循环结构:做重复的事情 while循环,do..while循环和for循环. 写循环结构 ...
- C语言基础-循环结构
循环结构while while循环-图例 while循环-格式 while ( 条件 ) { 语句1; 语句2; .... } 如果条件成立,就会执行循环体中的语句(“循环体”就是while后面大括号 ...
- 【C语言】-循环结构-while语句
while语句: while循环可实现"当型"循环,即当条件成立时,执行循环体.适合无法确定循环执行次数的情况. while (表达式) { 循环语句 } 注意: 表达式为循环控制 ...
- 【学习笔记】【C语言】循环结构-for
1.使用: for (语句1; 条件; 语句2) { 循环体 } 语句1:初始化语句 语句2:增量语句(执行完循环体后再执行的语句) 1.for一开始就会执行一次语句1(整个for循环 ...
- 【学习笔记】【C语言】循环结构-while
1. 简单使用 while ( 条件 ) { 语句1; 语句2; .... } 如果条件成立,就会执行循环体中的语句(“循环体”就是while后面大括号{}中的内容).然后再次 ...
- C语言之循环结构 for(二)
一 for循环的嵌套使用 for循环的嵌套语法: for(int i =0;i<10;i++){ for(int j=0;j<5;j++){ } } 一般用来打印平面,或者控制平面,或者说 ...
随机推荐
- scrapy 学习笔记2 数据持久化
前情提要:校花网爬取,并进行数据持久化 数据持久化操作 --编码流程: 1:数据解析 2:封装item 类 3: 将解析的数据存储到实例化好的item 对象中 4:提交item 5:管道接收item然 ...
- 蓝牙4.0模块,AT指令集
一,LED状态 二,蓝牙模块有两种通信模式 1,AT指令模式 2,数据透传模式 三.AT指令程序设计 1.设置模块的名字 void usart3_send_str(char *pbuf) { whil ...
- python3.5+win7 安装 numpy 和scipy的总结
1.安装numpy. 官网下载numpy.下载地址为https://pypi.Python.org/pypi/numpy.选择与Python版本相对应的numpy版本.之后在python35 ...
- linux中fork--子进程是从哪里开始运行
转自 http://blog.csdn.net/koches/article/details/7787468 fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值 ...
- Ubuntu18.04安装和配置Django,并实现简单示例
一.前言(系统,django介绍,window.mac.linux简单区别) Django是python开发过程最重要的web框架.因为在看的Django教学视频是在mac下安装的,我自己用的是Lin ...
- 爬虫之解析库BeautifulSoup
介绍 Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等 ...
- c 判断数字是否有限
/* isfinite example */ #include <stdio.h> /* printf */ #include <math.h> /* isfinite, sq ...
- Raspberry Pi 4B Web服务器配置
目录 1. 安装nginx 2. 安装PHP 3. 修改nginx配置文件 4. 安装MariaDB数据库 参考资料1:树莓派4B安装PHP7.3 + Nginx + MySQL 教程 参考资料2:[ ...
- JAVA基础知识|Socket
一.什么是Socket? Socket本身并不是协议,是一套完成TCP.UDP协议的调用接口(API),通过socket我们才能使用TCP/IP协议(JAVA基础知识|TCP/IP协议).Socket ...
- CISCO实验记录七:OSPF
一.要求 1.使用OSPF创建路由表 2.查看OSPF邻居 二.实现 1.使用OSPF创建路由表 #router ospf 1 #network 192.168.1.0 0.0.0.255 area ...