题目描述
依旧是输入三个整数,要求按照占8个字符的宽度,并且靠左对齐输出
输入格式
一行三个整数,空格分开
输出格式
输出它们按格式输出的效果,占一行
样例输入
123456789 -1 10
样例输出
123456789-1 10
#include "stdio.h"
int main(){
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("%-8d%-8d%-8d",a,b,c);
return 0;
}
printf函数%8d表示输出的整数至少占用8个字符,%-8d则表示左对齐。
题目描述
输入一个单精度浮点数,输出保留三位小数输出
输入格式
一个单精度浮点数
输出格式
对应的三位小数的数字
样例输入
3.14159
样例输出
3.142
#include <stdio.h>
int main(){
float a;
scanf("%f",&a);
printf("%.3f",a);
return 0;
}
printf函数%.3f表示输出浮点数时保留三位小数
题目描述
分别定义bool,char类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
输入格式
无
输出格式
一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。
样例输入
无
样例输出
无
#include<stdio.h>
#include <stdbool.h>
int main()
{
bool a;
char b;
printf("%d %d",sizeof(a),sizeof(b));
return 0;
}
记得include <stdbool.h>
#include <stdio.h>
int main(){
int a,b;
double c;
scanf("%d %d",&a,&b);
c=(double)b/a;
c=c*100;
printf("%.3f%%",c);
return 0;
}
printf(“%%”):输出百分号%本身。
#include <stdio.h>
int main(){
double r;
while(scanf("%lf",&r)!=EOF)
{
printf("%.3lf\n",4.0/3*3.1415926*r*r*r);
}
return 0;
}
在每次循环开始时,while语句会检查scanf(“%lf”, &r) != EOF这个条件是否为真。scanf函数尝试从标准输入读取一个double类型的值并将其存储在r中。
如果输入成功,scanf返回读取成功的项目数量,通常是1(因为我们只尝试读取一个double类型的数据)。
如果到达文件末尾或输入失败,scanf返回EOF(End Of File的预定义宏,在stdio.h中定义,通常等于-1)。
#include <stdio.h>
#include <math.h>
int main(){
int n;
scanf("%d",&n);
printf("%d",(int)pow(2,n));
return 0;
}
对于pow函数,无论输入的base(底数)和exponent(指数)是什么类型,只要它们可以隐式转换为double,pow函数都将返回一个double类型的值。这意味着即使你传入的是int或者其他浮点数类型如float,pow函数也会将它们转换为double,并在计算后返回一个double类型的值。
#include <stdio.h>
#define LEAP_YEAR(y) {if((((y)%100==0)&&((y)%400==0))||((y)%100!=0)&&((y)%4==0))printf("L");else printf("N");}
int main(){
int a;
scanf("%d",&a);
LEAP_YEAR(a);
return 0;
}
在宏定义中,“()” 用于指定函数样宏的参数列表,而 “{}” 通常用于控制流语句(如 if, for, while 等)中的代码块,但在宏定义中,它们并没有特殊的含义,因为预处理器并不理解 C 语言的语法结构。