C语言第三次作业

一、PTA实验作业

题目一

1.实验代码

int main(){
    int n;
    char sex;
    double height;
    scanf("%d",&n);
    for (int i=0;i<n;i++) {

        scanf("\n%c%lf",&sex,&height);
        if (sex=='M')
            printf("%.2f\n",height/1.09);
        else if(sex=='F') 
            printf("%.2f\n",height*1.09);
        else printf("Error");
    }

设计思路

  • 1.定义整型变量N用于存放用户数,定义双精度变量height用于存放男女身高以及输出时的最佳情侣身高,定义字符型变量sex用于存放性别
  • 2.输入用户数n;
  • 2.如果n小于等于10,执行下一步,若大于10结束循环语句进行下一步
  • 3.输入变量sex,height
  • 4.如果sex为F,则运算height=height*1.09并以保留2位小数的方式输出height
    如果sex为M,则运算height=height/1.09并以保留2位小数的方式输出height
  • 5.输出结果

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

  • 1.没有对用户的性别进行定义,对结果的输出没有准确的表达
  • 2.保留2位小数没有用%.2f.

4.本题PTA提交列表

题目二

1.实验代码

int main()
{
	int a,n,s,item,i;
	s=0;
	item=0;
	scanf("%d%d",&a,&n);
	for(i=1;i<=n;i++){
		item=item+a;
		s=s+item;
		item=item*10;
	}
	printf("s = %d",s);

设计思路

  • 1.第一步:定义整型变量a,n,i,s,item
  • 2.令s=0;item=0
  • 3.输入n和a
  • 4.当i小于等于n,执行循环语句中的求和;
  • 5.直到i大于n退出循环,输出s

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

  • 1.对于aaa等的表达式有错,我用的是a=a*10+a,这样把a的值给改变了,造成了结果错误

4.本题PTA提交列表

题目三

1.实验代码

int main()
{
	int i,n,ch,min;
	scanf("%d",&n);
	scanf("%d",&min);
	for(i=1;i<n;i++){
		scanf("%d",&ch);
		if(ch<min)
		min=ch;
	}
	printf("min = %d\n",min);

设计思路

  • 1.定义i,n,ch,min等整数型变量
  • 2.输出n,设输出的第一个数位最小值,并输出
  • 3.然后开始进入循环,输出下一个数,然后这个数比假设的最小值还小,那么就将最小值赋给它,
    这样一直循环下去
  • 4.当i=n时,输出最小值

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

  • 1.对于for循环中if的判断语句ch>min,造成求出来的结果为最大值

4.本题PTA提交列表

题目四

1.实验代码

int main()
{
	int C,N,i,ch;
	scanf("%d%d",&C,&N);
	for(i=1;i<=N+1;i++){
		scanf("%d",&ch);
	if(ch>0){
		if(ch>C){
		printf("Too big\n");}
		if(ch<C){
		printf("Too small\n");}
	if(ch==C){
		if(i==1){
		printf("Bingo!\n");break;}
		if(i<=3){
		printf("Lucky You!\n");break;}
		if(i>3&&i<=N){
		printf("Good Guess!\n");break;}
		if(i>N){
		 printf("Game Over\n");break;}
	} 
}
	if(ch<0){
		if(i<N){
		printf("Game Over\n");break;}
		if(i==N){
		printf("Too small\n");}
		if(i>N){
		printf("Game Over\n");break;}
	}
}


设计思路

  • 1.定义C,N,i,ch的整形变量
  • 2.输出C和N
  • 3.进入for循环语句,再输入ch
  • 4.并用if的判断语句对ch的值进行范围判断,然后输出对于的结果

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

  • 1.当ch<0时,当输入ch时所对应的值进行判断,而造成的答案错误

4.本题PTA提交列表

截图本周题目集的PTA提交列表及最后排名

PTA提交列表


PTA排名

三、本周学习总结

1.你学会什么?

  • 1.学会了while,for,do-while几种循环结构的基本使用。
  • 2.用debug寻找错误
  • 3.break执行时循环提前结束,不再执行循环体中break后面的其他语句.continue执行时跳过循环体中continue后的语句,继续下一次循环

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

  • 1.对continue语句的使用方法不是很熟练
  • 2.对程序进行编译不是很会

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

  • 1.做题的太慢了,要多打代码提升速度
  • 2.对于scanf,printf,if等的使用不够规范
posted @ 2017-11-01 23:52  ljy1139  阅读(197)  评论(3编辑  收藏  举报