/*
从键盘读入4个数num1、num2、num3、num4,
输出:(num1 ÷ num2的余数) × num3 + num4,
不需考虑num2为0和计算结果溢出的情况。
要求输出的结果中,整数部分宽度为8(不足8时以0补足),小数部分宽度为7。
*/
#include "stdio.h"
int main()
{
int num1,num2,num4;
float num3;
float y;
printf("请输入4个数:");
scanf("%d %d %f %d",&num1,&num2,&num3,&num4);
y = (num1%num2)*num3+num4;
printf("\n计算结果为:%016.7f\n",y);
return 0 ;
}
总结:
①若将 num1, y 的数据类型改为 double 型,结果将会发生怎样的变化。
②在输入函数scanf里,num1,num2,num3,num4前注意加上地址符&。
③按格式输出以0补足,在%后面加上0即可,16表示列数。
/*
从键盘读入4个数num1、num2、num3、num4,
输出:num1 + (num2 ÷ num3的余数) × num4,
不需考虑num3为0和计算结果溢出的情况。
要求输出的结果中,整数部分宽度为7(不足7时以0补足),小数部分宽度为5。
*/
#include "stdio.h"
int main()
{
int num1,num2,num3;
double num4,y;
printf("请输入4个数:");
scanf("%d %d %d %lf",&num1,&num2,&num3,&num4);
y = num1+(num2%num3)*num4;
printf("\n计算结果为:%013.5f\n",y);
return 0 ;
}
总结:
①输入double数据类型时,格式字符用%lf。
/*
输入一个华氏温度,
要求输出摄氏温度,
计算公式为C = 5 *(F - 32)/9。
*/
#include <stdio.h>
int main(void)
{
double F,C;
printf("Input the degree:");
scanf("%lf",&F);
C = 5 *(F - 32)/9;
printf("\nF(%.2lf)=C(%.2lf)\n",F,C);
return 0;
}
总结:
①以本题为例,保留两位小数为%.2lf。
/*
输入一个小写英文字母,首先输出它及其ASCII码,
然后输出其对应的大写字母及其ASCII码。
*/
#include <stdio.h>
int main(void)
{
char w,W;
printf("Inpit a lowercase letter:");
scanf("%c",&w);
W = w - 32;
printf("\n%c(%d)\n%c(%d)",w,w,W,W);
return 0;
}
总结:
①大写字母 = 小写字母 - 32。
②获取字符时可以使用getchar()函数。
/*
用scanf() 输入圆半径r、圆柱高h,
求圆周长C(C = 2πr)、圆面积S(S = πr2)、圆柱体积V(V = πr2h)。
注:本题中规定圆周率(π)取值为3.14。
*/
#include <stdio.h>
#define PI 3.14
int main(void)
{
float r,h,C,S,V;
printf("Input:");
scanf("r=%f,h=%f",&r,&h);
C = 2*PI*r;
S = PI*r*r;
V = PI*r*r*h;
printf("\nC=%.2f\nS=%.2f\nV=%.2f\n",C,S,V);
return 0;
}
总结:
①使用#define指令定义符号常量,注意格式。
②也可使用const float PI = 3.14来定义Π,这是使用了常变量。
/*
判断输入的正整数是否既是5又是7的整倍数,
若是,则输出“Yes.”;
否则输出“No.”。
*/
#include <stdio.h>
int main(void)
{
int a;
printf("请输入一个正整数:");
scanf("%d",&a);
if(a%5==0 && a%7==0)
printf("Yes.\n");
else
printf("No.\n");
return 0;
}
总结:
①每个嵌套语句末尾记得加分号。
/*
输入实型数据a、b,
然后输出a、b的值。
*/
#include <stdio.h>
int main(void)
{
float a,b;
printf("Please input two number:");
scanf("%f,%f",&a,&b);
printf("a=%.6f,b=%.6f\n",a,b);
return 0;
}
总结:
①按照指定格式输出数据。
/*
从键盘输入x、y、z的值,
编写程序输出以下表达式的值:
x + z % 3 * (int)(x + y) % 2 / 4。
*/
#include <stdio.h>
int main(void)
{
int z;
double x,y,Result;
printf("Please input x,y,z:");
scanf("%lf,%lf,%lf",&x,&y,&z);
Result=x+z%3*(int)(x+y)%2/4;
printf("Result = %.6lf",Result);
return 0;
}
总结:
①结合性:算术运算自左至右,赋值运算自右至左。
②(int)(x+y)是将x+y的值强制转换为int型。