第二次作业

改错题

1输出带框文字:在屏幕上输出以下3行信息。

错误信息1:

错误原因:标准输入输出拼写错误
改正方法:第一行改成stdio.h
错误信息2:

错误原因:主函数拼写错误,五行少引号,六行少分号
改正方法:mian改成main,五行括号最后添加引号,六行最后加分号

2计算某个数x的平方赋给y:分别以“y = xx” 和 “xx = y” 的形式输出x和y的值。注意不要删除源程序中的任何注释。

错误信息1:

错误原因:标准输入输出格式错误
改正方法:stdio后面加h
错误信息2:

错误原因:三个%d后面没有对应相应数量的变量,提示格式不完整
改正方法:输出的变量填写改成y,x,x和x,x,y,“输出”后面加*/
错误信息3:

错误原因:x没有赋值,d前面没%,第一行输出没有分行
改正方法:变量定义下一行加x=3;,输出第二行前面加%,输出第一行引号内最后加\n

学习总结

1

#include <stdio.h> 
int main()
{   
    printf("int:  %d字节\n",sizeof(int));
    return 0;
}

运行结果

#include <stdio.h> 
int main()
{   
    printf("long:  %d字节\n",sizeof(long));
    return 0;
}

运行结果

#include <stdio.h> 
int main()
{   
    printf("float:  %d字节\n",sizeof(float));
    return 0;
}

运行结果

#include <stdio.h> 
int main()
{   
    printf("double:  %d字节\n",sizeof(double));
    return 0;
}

运行结果

2

结果

修改程序,输出i+1,结果是什么?为什么?

组成此常量类型的0和1的数量不足,不足以表示范围以外的数

修改程序输出j-1,结果是什么?为什么?


原因与上个问题同理

3

运行结果

原因:144要由八进制转化成十进制就是18^2+48+4=100,64由十六进制转成十进制就是6*16+4=100

4

1.double变量的输入引号内,如果是小数,用%f,而输出用%lf
2.%2.1f,中间的阿拉伯数是保留几位小数的意思,没有设定则默认六位,%紧后面的是一共要占几列,列数小于
常数长度旳话以常数长度输出
3.如果涉及到输入和运算,要预先得出结果看是否是小数,是小数则设double变量,只得整数就设int变量
4.%d整型十进制%o整型八进制%x整型十六进制%f实型小数型浮点数%e实型指数型浮点数
5.123/100求百位,123%100/10求十位,123%10求个位

实验总结

厘米换算英尺英寸

1.如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。
2.

3.代码

#include<stdio.h>
int main()
{
  int cm,foot,inch;
  scanf("%d",&cm);
  foot=cm/30.48;
  inch=(cm/30.48-foot)*12;
  printf("%d %d",foot,inch);

  return 0;
}

4
5问题1:出现大量段错误
原因:输入没填地址符
解决方法:cm前面加地址符
问题2:不知道怎么算出英尺英寸
原因:不知道英尺英寸间如何分配,以为要二元一次方程组
解决方法:最终知道英尺的小数部分乘十二就是英寸,整数部分就是英尺

A乘B

1.看我没骗你吧 —— 这是一道你可以在10秒内完成的题:给定两个绝对值不超过100的整数A和B,输出A乘以B的值。
2.

3.代码

#include<stdio.h>
int main()
{
  int A,B,C;
  scanf("%d%d",&A,&B);
  C=A*B;
  printf("%d",C);

  return 0;

}

4.
5.问题1:第七行报错,期望在前面加;
原因:赋值后没加分号
解决方法:赋值后面加分号

整数四则运算

1.本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
2.

3.代码

#include<stdio.h>
int main()
{
  int A,B,a,b,c,d;
  scanf("%d%d",&A,&B);
  a=A+B;b=A-B;c=A*B;d=A/B;
  printf("%d + %d = %d\n%d - %d = %d\n%d * %d = %d\n%d / %d = %d",A,B,a,A,B,b,A,B,c,A,B,d);

  return 0;

}

4.
5.问题:无

整数152的各位数字

1.本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。
2.
3.代码

#include<stdio.h>
int main()
{
  int a,b,c;
  a=152/100;
  b=152/10-a*10;
  c=152-a*100-b*10;
  printf("152 = %d + %d*10 + %d*100",c,b,a);

  return 0;
}

4.
5.问题:同sample答案错误
原因:十位数计算错误,导致个位数计算错误
解决方法:改成如图算法

PTA提交列表

第一次


第二次

posted @ 2017-10-18 15:15  哔莉莉莉莉  阅读(673)  评论(1编辑  收藏  举报