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++){ } } 一般用来打印平面,或者控制平面,或者说 ...
随机推荐
- P2272 [ZJOI2007]最大半连通子图 tarjan+DP
思路:$tarjan+DP$ 提交:1次 题解:首先对于一个强连通分量一定是一个半连通分量,并且形成的半连通分量的大小一定是它的$size$,所以我们先缩点. 这样,我们相当于要在新的$DAG$上找一 ...
- HTML的基础
HTML:超文本标记语言 超文本包括:文字.图片.音频.视频.动画等 流程:写好HTML代码后通过浏览器(自动编译HTML代码)展现出效果 HTM ...
- 原来INF文件是干这个的
When the drivers for a device are installed, the installer uses information in an information (INF) ...
- bit,byte,word,bps,Bps,比特,字节,字, 一图看懂
- CF1208A
CF1208A 题意: 就是把斐波那契数列的+改成异或,求第n项的值. 解法: 又是一个人类智慧题,打表找规律. 可以发现答案在 $ a,b,a⊕b $ 三个数中循环 CODE: #include&l ...
- hive 常用参数
hive.exec.max.created.files •说明:所有hive运行的map与reduce任务可以产生的文件的和 •默认值:100000 hive.exec.dynamic.partit ...
- PyTricks-How to Sort a Python dict
字典的键值排序 import operator # 1表示按照值排序 xs = {"a": 4, "b": 3, "c": 2, " ...
- spring cloud学习
https://gitee.com/ylimhhmily/SpringCloudTutorial/tree/master hystrix配置不生效问题https://blog.csdn.net/lvy ...
- Truffle测试框架
Truffle测试框架 2018年06月08日 19:01:19 tianlongtc 阅读数 1000 Truffle 有一个标准的自动化测试框架,让你可以非常方便地测试您的合约.这个框架允许您 ...
- 生成要发送到社区的内核补丁时如何指定发布的版本号(v2,v3...)?
1. 生成一个补丁 git format-patch --subject-prefix=v2 -1 那么生成的patch文件就会有如下类似的信息: Subject: [v2] your descrip ...