第一节 循环控制
#include <stdio.h>
int main()
{
// 定义数组的大小为10
int count[10];
int num;
int i;
// 遍历数组,开始时每个大小为0
for(i=0;i<10;i++){
count[i]=0;
}
scanf("%d",&num);
while(num!=-1){
if(num>=0 && num<=9){
// 数组参与运算
count[num]++;
}
scanf("%d",&num);
}
// 遍历数组输出
for(i=0;i<10;i++){
printf("%d出现了%d次\n",i,count[i]);
}
}
第二节 函数的定义与应用
#include <stdio.h>
int isPrime(int i){
int ret=1;
int k;
printf("%d\n",i);
for(k=2;k<i;k++){
if(i%k==0){
ret=0;
break;
}
}
printf("%d\n",ret);
return ret;
}
int main()
{
int m,n;
int i;
int sum=0;
printf("输入两个数");
scanf("%d %d",&m,&n);
// m如果输入的是1,则从2开始
if(m==1)m=2;
for(i=m;i<=n;i++){
if(isPrime(i)){
sum+=i;
}
}
printf("素数之和为%d",sum);
return 0;
}
第三节 二维数组
井字棋
#include <stdio.h>
int main()
{
const int size=3;
int board[size][size];
int i,j;
int numofX; //X的个数
int numofO; //O的个数
int result=-1; // -1:没人赢,1:X赢 ,0:O赢
// 读入矩阵
for(i=0;i<size;i++){
for(j=0;j<size;j++){
scanf("%d",&board[size][size]);
}
}
// 判断行
for(i=0;i<size;i++){
numofO=numofX=0;
for(j=0;j<size;j++){
if(board[i][j]==1){
numofX ++;
}else{
numofO ++;
}
}
if(numofO==size){
result=0;
}else if(numofX==size){
result=1;
}
}
// 判断列
if(result==-1){
for(j=0;j<size;j++){
numofO=numofX=0;
for(i=0;i<size;i++){
if(board[i][j]==1){
numofX ++;
}else{
numofO ++;
}
}
if(numofO==size){
result=0;
}else if(numofX==size){
result=1;
}
}
}
// 判断列
if(result==-1){
numofO=numofX=0;
for(i=0;i<size;i++){
if(board[i][i]==1){
numofX ++;
}else{
numofO ++;
}
}
if(numofO==size){
result=0;
}else if(numofX==size){
result=1;
}
}
if(result==-1){
numofO=numofX=0;
for(i=0;i<size;i++){
if(board[i][size-i-1]==1){
numofX ++;
}else{
numofO ++;
}
}
if(numofO==size){
result=0;
}else if(numofX==size){
result=1;
}
}
return 0;
}