C语言第三次博客作业---单层循环结构

一、PTA实验作业

题目1

1.实验代码

        int N,i;
	double height1,height2;
	char sex;
	scanf("%d\n",&N);
	for(i=1;i<=N;i++){
		scanf("%c %lf",&sex,&height1);
		getchar();
		if(sex=='M'){
			height2=height1/1.09;
			} 
	    else{height2=height1*1.09;
			}
		printf("%.2f\n",height2);

2 设计思路

1.定义整形变量N,i,双精度浮点型变量height1,height2,字符型变量sex
2.输入N,i=1
3.输入一个sex和height1
4.如果sex==M,则height2=height1/1.09;否则height2=height1*1.09。
5.保留两位小数输出height2,
6.i=i+1
7如果满足i<=N,重复步骤3,直到不满足条件退出程序

3.本题调试过程碰到问题及解决办法

1.就是对于字符型变量的输入中出错,用于换行的字符被存在sex中,导致sex中不是M。由于对字符型变量的输入输出方面的知识掌握不是很好,我是在舍友的帮助下还有老师上课时的讲解中慢慢理解

4.本题PTA提交列表

题目2

1.实验代码

#include<stdio.h>
int main()
{
        int a,n,s,item,i;
	scanf("%d %d",&a,&n);
	item=0;
	s=0;
	for(i=1;i<=n;i++){
		item=a*pow(10,(i-1))+item;
		s=s+item;
	}
	printf("s = %d",s);
	return 0;

2 设计思路

1.定义整形变量a,n,s,item,i
2.输入a,n
3.item=0,s=0
4.表达式i=1,item=a*10^(i-1)+item,s=s+item
5.表达式i=i+1
6.若满足i<=n,重复步骤4,直到不满足条件退出程序

3.本题调试过程碰到问题及解决办法

本题没有遇到问题

4.本题PTA提交列表

题目3

1.实验代码

	int n,i,min,a;
	scanf("%d",&n);
	scanf("%d",&a);
	min=a;
	for(i=1;i<n;i++){
		scanf("%d",&a);
		if(a<min){
			min=a;
		}
		else{
			min=min;
		}	
	}
	printf("min = %d",min);
	return 0; 

2 设计思路

1.定义整形变量n,i,min,a
2.输入n,a
3.给min赋初值min=a
4.i=1
5.输入a,如果a<min,则min=a;否则min=min即min值不变
6.输出min的值
7.如果满足i<n,重复步骤5,直到不满足条件退出程序

3.本题调试过程碰到问题及解决办法

1.本题也没有遇到问题

4.本题PTA提交列表

题目4

1.实验代码

	int N,mynumber,yournumber,i,flag;
	scanf("%d %d",&mynumber,&N);
	for(i=1;i<=N;i++){
		scanf("%d",&yournumber);
		if(yournumber<0){
		goto out;
		}
		else if(yournumber>0&&yournumber<mynumber){
			printf("Too small\n");
		}
		else if(yournumber>0&&yournumber>mynumber){
			printf("Too big\n");
		}
		else{
			break;
		}
	}
	if(i==1){
		printf("Bingo!\n");
	}
	else if(i>1&&i<=3){
		printf("Lucky You!\n");
	}
	else if(i>3&&i<=N){
		printf("Good Guess!\n");
	}
	else{
	out:	printf("Game Over\n");
	}
	return 0;	

2 设计思路

1.定义整形变量N,mynumber,yournumber,i
2.输入mynumber,N
3.给i赋初值i=1
4.输入yournumber
5.如果yournumber<0直接跳到输出输出Game Over结束程序
6.如果yournumber>0&&yournumber<mynumber,输出Too small;如果yournumber>mynumber,输出Too big;否则跳出循环。
7.i=i+1
8.只要满足i<=N,重复步骤4
9.如果i=1,输出Bingo!;否则如果i>1且i<=3输出Lucky You!;否则如果i>3且i<=N输出Good Guess;否则输出Game Over

3.本题调试过程碰到问题及解决办法

1.没看清题意,以为所以数字都要输入到yournumber,然后每次循环i++,这样的话就算yournumber=yournumber后,i++依旧执行,根本不能够准确i的值,以至于刚刚想没思路
2.直接退出这项指令还是不太会把握,上网查了goto-out才解决

4.本题PTA提交列表

二、截图本周题目集的PTA最后排名

三、本周学习总结

1.你学会了什么?

1.学会了多种循环结构,for,while,do-while
2.还有这些循环结构的不同点,通过是否知道循环次数来选结构

2.本周的内容,你还不会什么?

复杂一点的的循环或者嵌套的循环还是不太会使用

3.分支结构上机考试总结。

(1)哪些地方错了,为什么?

由于上机不像平常打代码,多少有些紧张吧,连分段函数都错了,心态很重要
而且一旦限时就觉得调试浪费时间就没进行

(2)后续要怎么找程序错误?

脚踏实地的挑变量进行调试

(3)对自己成绩满意么?不满意的话要怎么改进?

并不满意,多尝试不一样的题目不要局限于老师的作业

posted @ 2017-11-02 22:35  Soyam  阅读(160)  评论(4编辑  收藏  举报