数组
- 数组储存多个相同类型的变量int a[10]内存大小为40B
- 注意:标识符规范
定义数组时[ ]为常量或者常量表达式
初始化:
- int a1[10]={0};//全部初始化为0;
- int a2[10]={1,2,3}//部分初始化,后边7个元素默认为0;
- int a3[ ]={1.2.3.4}//根据初始化数据默认数组元素个数;
数组遍历
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (int i = 0; i < n; i++) {
printf("%d", a[i]);
}
-
整型数组,输出奇数值
#include<stdio.h> int main() { int a[100]; int n; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } for (int i = 0; i < n; i++) { if (a[i] % 2 != 0) { printf("%d ", a[i]); } } return 0; }
2.输入一个数组,计算数组平均值,结果保留两位小数(注意强类型转换)
#include<stdio.h>
int main() {
int a[100];
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
int sum = 0;
for (int i = 0; i < n; i++) {
sum += a[i];
}
printf("%.2f", (float)sum / n);
return 0;
}
转换
- 强制类型转换
隐式类型转换
-
当参与计算的类型相同,结果也是该类型
-
当计算的类型不相同,会先转换成同一类型,在进行计算
同种类型之间,向长度复杂的变
不同种类型之间,由简单到复杂
赋值语句是由赋值号左边数据类型决定
%n.mf:n代表宽度
m代表小数位数
数据右对齐
-负号左对齐
0,用0补位
限制宽度大于实际宽度,空格补位
限制宽度小于实际宽度,无效果。
厄拉多塞筛选法
求1000以内质数
#include<stdio.h>
int main() {
int a[1001] = { 0 };
for (int i = 2; i <= 1000; i++) {
if (a[i] == 0) {
printf("%d\n", i);
}
for (int j = i + i; j <= 1000; j += i) {
a[j] = 1;
}
}
return 0;
}
质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。