任务和代码
/*
*Copyright ©2017,优快云学院
*All rights reserved.
*文件名称:main.c
*作 者:袁生
*完成日期:2017年10月11日
*版 本 号:v1.0
*问题描述:输入长方形长和宽,求周长和面积并输出。
*/
#include <stdio.h>
#include <stdlib.h>
float circ(float a,float b);
double area(float a,float b);
int main()
{
float a,b,c;
double s;
printf("请输入长和宽:\n");
scanf("%f %f",&a,&b);
c=circ(a,b);
s=area(a,b);
printf("输出周长为:\n");
printf("%f\n",c);
printf("输出面积为:\n");
printf("%f\n",s);
return 0;
}
float circ(float a,float b)
{
float x,z;
z=a+b;
x=z*2;
return x;
}
double area(float a,float b)
{
double y;
y=a*b;
return y;
}
运行结果
知识点
认识程序框架,会定义变量,能使用printf函数并了解其基本输入格式,能使用scanf函数并了解其基本书写格式。
心得
纠结两个float类型的数据运算(加,乘)其结果应该用什么类型,最后周长用了float,面积用了double(示例数据不大,一般不造成溢出,现在不考虑溢出情况)。
此外,printf使用出现两次错误,一是printf("%f %f",&c,&s)变量加了地址符号得不出正确结果,二是printf("%f,%f",c,s)两个%f之间加了个汉语逗号编译出错。
scanf使用输入数据错误,scanf("%f,%f",&a,&b)由于%f之间有逗号,输入的两数据之间也必须输入逗号,否则使用回车或者空格隔开都会输出错误结果。
综上scanf和printf进行格式化字符串输入时,多数据最好用空格隔开,窗口输入数据也要输入空格。