第三节 标准数据类型
1414:【17NOIP普及组】成绩
#include <stdio.h>
int main() {
// 声明三个整数变量
int a, b, c;
// 从输入读取三个值并分别赋给a, b, c
scanf("%d %d %d", &a, &b, &c);
// 计算并打印加权平均值,其中a的权重为0.2,b的权重为0.3,c的权重为0.5
printf("%g\n", a*0.2+b*0.3+c*0.5);
// main函数结束,返回0表示程序正常执行完毕
return 0;
}
1016:整型数据类型存储空间大小
#include <stdio.h>
int main() {
// 声明一个整数和一个短整数
int a;
short b;
// 打印出整数a和短整数b在内存中所占的字节数
printf("%lu %lu\n", sizeof(a), sizeof(b));
// main函数结束,返回0表示程序正常执行完毕
return 0;
}
1017:浮点型数据类型存储空间大小
#include <stdio.h>
int main() {
// 声明一个浮点数和一个双精度浮点数
float a;
double b;
// 打印出浮点数a和双精度浮点数b在内存中所占的字节数
printf("%lu %lu\n", sizeof(a), sizeof(b));
// main函数结束,返回0表示程序正常执行完毕
return 0;
}
1018:其他数据类型存储空间大小
#include <stdio.h>
int main() {
// 声明一个布尔值和一个字符
bool a;
char b;
// 打印出布尔值a和字符b在内存中所占的字节数
printf("%lu %lu\n", sizeof(a), sizeof(b));
// main函数结束,返回0表示程序正常执行完毕
return 0;
}
1019:浮点数向零舍入
#include <stdio.h>
int main() {
// 声明一个浮点数
float a;
// 从输入读取一个浮点数赋给a
scanf("%f", &a);
// 将浮点数a转换为整数并打印
printf("%d\n", (int)a);
// main函数结束,返回0表示程序正常执行完毕
return 0;
}
1020:打印ASCII码
#include <stdio.h>
int main() {
// 声明一个字符
char c;
// 从输入读取一个字符并赋给c
scanf("%c", &c);
// 打印出字符c的ASCII值
printf("%d", c);
// main函数结束,返回0表示程序正常执行完毕
return 0;
}
1021:打印字符
#include <stdio.h>
int main() {
// 声明一个整数
int a;
// 从输入读取一个整数并赋给a
scanf("%d", &a);
// 打印出整数a对应的ASCII字符
printf("%c", a);
// main函数结束,返回0表示程序正常执行完毕
return 0;
}
1022:整型与布尔型的转换
#include <stdio.h>
#include <stdbool.h>
int main() {
// 声明一个布尔值和一个整数
bool a;
int b;
// 从输入读取一个整数并赋给b
scanf("%d", &b);
// 将整数b的值赋给布尔值a
a = b;
// 将布尔值a的值赋给整数b
b = a;
// 打印整数b的值
printf("%d", b);
// main函数结束,返回0表示程序正常执行完毕
return 0;
}
第四节 数据输入输出
2069:【例2.12 】糖果游戏
#include <stdio.h>
int main() {
// 声明五个整数变量
int a, b, c, d, e;
// 从输入读取五个整数并分别赋给a, b, c, d, e
scanf("%d %d %d %d %d", &a, &b, &c, &d, &e);
// 执行一系列的算术运算
a /= 3; b += a; e += a;
b /= 3; a += b; c += b;
c /= 3; b += c; d += c;
d /= 3; c += d; e += d;
e /= 3; d += e; a += e;
// 将五个整数变量的值打印出来
printf("%5d%5d%5d%5d%5d", a, b, c, d, e);
// main函数结束,返回0表示程序正常执行完毕
return 0;
}
1024:保留3位小数的浮点数
#include <stdio.h>
int main() {
// 声明一个浮点数变量
float a;
// 从输入读取一个浮点数并赋给a
scanf("%f", &a);
// 打印浮点数a的值,保留三位小数
printf("%.3f", a);
// main函数结束,返回0表示程序正常执行完毕
return 0;
}
1025:保留12位小数的浮点数
#include <stdio.h>
int main() {
// 声明一个双精度浮点数变量
double a;
// 从输入读取一个双精度浮点数并赋给a
scanf("%lf", &a);
// 打印双精度浮点数a的值,保留12位小数
printf("%.12f", a);
// main函数结束,返回0表示程序正常执行完毕
return 0;
}
1026:空格分隔输出
#include <stdio.h>
int main() {
// 声明一个字符变量,一个整数变量,一个浮点数变量和一个双精度浮点数变量
char a;
int b;
float c;
double d;
// 从输入读取一个字符、一个整数、一个浮点数和一个双精度浮点数
// 并分别赋给a, b, c, d
scanf("%c %d %f %lf", &a, &b, &c, &d);
// 打印出这四个变量的值
printf("%c %d %f %f", a, b, c, d);
// main函数结束,返回0表示程序正常执行完毕
return 0;
}
1027:输出浮点数
#include <stdio.h>
int main() {
// 声明一个double类型的变量a
double a;
// 从输入读取一个double类型的数并赋给a
scanf("%lf", &a);
// 以不同的格式打印变量a的值
// %f格式打印浮点数
// %.5f格式打印浮点数,保留五位小数
// %e格式打印科学计数法表示的浮点数
// %g格式打印浮点数,如果指数大于-4或者小于5,用%e格式,否则用%f格式
printf("%f\n%.5f\n%e\n%g", a, a, a, a);
// main函数结束,返回0表示程序正常执行完毕
return 0;
}
1028:字符菱形
#include <stdio.h>
int main() {
// 声明一个字符变量
char a;
// 从输入读取一个字符并赋给a
scanf("%c", &a);
// 打印字符a组成的“菱形”
// 第一行打印两个空格和一个字符
// 第二行打印一个空格和三个字符
// 第三行打印五个字符
// 第四行打印一个空格和三个字符
// 第五行打印两个空格和一个字符
printf(" %c\n", a);
printf(" %c%c%c\n", a, a, a);
printf("%c%c%c%c%c\n", a, a, a, a, a);
printf(" %c%c%c\n", a, a, a);
printf(" %c\n", a);
// main函数结束,返回0表示程序正常执行完毕
return 0;
}