基石
数据类型
数值类型
函数定义
接口
注:定义一个返回多值得函数(使用指针)
//cartesian coordinates to polar coordinates
polar(float x, float y, float *r, float *theta) {
*r = sqrt(x*x+y*y);
*theta = atan2(y,x)
}
数组
代码案例——厄拉多塞筛
问题描述:定义一个数组array[N],若i为素数,则设置array[i] 为1;反之则设为0。并打印素数。
#include<stdio.h>
#define N 1000
//sieve of Eratosthenes
int main() {
int i,j;
int array[N];
for(i = 2;i < N;i ++) {
array[i] = 1; //初始所有的array[i],假设他们都是素数
}
for(i = 2;i < N;i ++) {
if(array[i]) { //如果i是素数
for(j = i;i*j < N;j ++) { //那么i与其后所有数的乘积都为非素数
array[i*j] = 0;
}
}
}
for(i = 2;i < N;i ++) {
if(array[i]) {
printf("%4d ",i); //打印所有的素数
}
}
}