c语言编程 C语言入门 c语言(C语言程序设计教程 c语言视频教程 c语言零基础

p15:三子棋棋盘

#include <stdio.h>
#define ROW 3
#define COL 3
//声明
void InitBoard(char board[ROW][COL], int row, int col);
void DisplayBoard(char board[ROW][COL], int row, int col);
//棋盘初始化
void InitBoard(char board[ROW][COL], int row, int col) {
int i = 0;
int j = 0;
for (i = 0; i < row; i++) {
for (j = 0; j < col ; j++ ) {
board[i][j] = ' ';
}
}
}
//打印棋盘
void DisplayBoard(char board[ROW][COL], int row, int col){
int i = 0;
for(i = 0; i < row; i++){
//打印一行的数据
printf(" %c | %c | %c \n",board[i][0],board[i][1],board[i][2]);
//打印分割行
printf("---|---|---\n");
}
}
//测试三子棋游戏
void menu() {
printf("****************\n");
printf("**1.play 0.exit*\n");
printf("****************\n");
}
//三子棋游戏
void game() {
//数组存放走出的棋盘信息
char board[ROW][COL] = {0};
//初始化棋盘
InitBoard(board, ROW, COL);
//打印棋盘
DisplayBoard(board, ROW, COL);
}
void test() {
int input = 0;
do {
menu();
printf("请选择:>");
scanf("%d", &input);
switch (input) {
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误,请重新选择!\n");
break;
}
} while (input);
}
int main() {
test();
return 0;
}

p10网站: cppreference.com 或 www.cplusplus.com









p9游戏
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//菜单
void menu(){
printf("########################\n");
printf("#####1、play,0、exit####\n");
printf("########################\n");
}
//游戏
void game(){
int ret=0;
int guess=0;//接收猜的数
//用时间戳生成起始点;
//时间戳当前时间-计算机起始时间(1970.1.1.0:0)=xxx秒
ret=rand()%100+1;//生成1-100随机数
printf("随机数:%d\n",ret);
//猜数字
while(1){
printf("请猜数字:>");
scanf("%d",&guess);
if(guess>ret){
printf("猜大了\n");
}
else if(guess<ret){
printf("猜小了\n");
}
else{
printf("恭喜你猜对了\n");
break;
}
}
}
//玩游戏
int main(){
int input =0;
srand((unsigned int)time(NULL));//强制转换类型
do{
menu();
printf("请选择>:");
scanf("%d",&input);
switch(input){
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误\n");
break;
}
}
while(input);
return 0;
}
//二分法查找
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int k = 7;
int sz = sizeof(arr) / sizeof(arr[0]); //计数元素个数
int left = 0; //左下标
int right = sz - 1; //右下标;
while (left <= right) { //说明还有元素
int mid = (left + right) / 2; //中间元素下标;
//找到元素与要找的数对比;
if (arr[mid] > k) {
right = mid - 1;
} else if (arr[mid] < k) {
left = mid + 1;
} else {
printf("找到了,下标是:%d", mid);
break;
}
}
if (left > right) {
printf("找不到");
}
return 0;
}
P8视频内容
#include<stdio.h>
//将三个数从大到小输出
int main(){
int a=0;
int b=0;
int c=0;
scanf("%d%d%d",&a,&b,&c);
//a>b>c这样放
if(a<b){
int tmp=a;
a=b;
b=tmp;
}
if(a<c){
int tmp=a;
a=c;
c=tmp;
}
if(b<c){
int tmp=b;
b=c;
c=tmp;
}
printf("%d %d %d\n",a,b,c);
return 0;
}
#include <stdio.h>
////在屏幕上输出9*9乘法口诀表
//
//int main() {
//
// int i = 0;
// //打印9行
// for (i = 1; i <= 9; i++) {
// //打印一行
// int j = 1;
// for (j = 1; j <= i; j++) {
// //%2d对齐,也可以-2;
// printf("%d*%d=%2d ", i, j, i * j);
// }
// printf("\n");
// }
// return 0;
//}
////求10个数中最大值
//int main(){
// int i=0;
// int arr[]={1,2,3,11,5,6,7,12,9,10};
// int max=arr[0];//如果是数是负数,=0不合适,所以用数组里的数
// int sz=sizeof(arr)/sizeof(arr[0]);//数组大小
// for(i=0;i<sz;i++){
// if(arr[i]>max){
// max=arr[i];
// }
// }
// printf("max =%d\n",max);
// return 0;
//}}
////计算1+1/2+...+1/100
//int main(){
//
// int i=0;
// double sum=0.0;
// int flag =1;//一正一负的时候控制符号
// for(i=1;i<=100;i++){
// sum+=flag*1.0/i;
// flag=-flag;
// }
// printf("%lf\n",sum);
// return 0;
//
//}
////1-100之间有9的数,记得这里自己加头文件
//int main(){
//
//
// int i=0;
// int count=0;
// for(i=0;i<=100;i++){
// //个位为9的数除以10 余9;
// if(i%10==9){
// count++;
// printf("%d ",i);
// }
// //十位为9的数除以10,商9;
// else if(i/10==9){
// count++;
// printf("%d ",i);
// }
//
// }
// printf("count =%d\n",count);
// return 0;
//
//}
////打印100-200之间的素数
//int main(){
// int count=0;
// int i=0;
// for(i=100;i<=200;i++){
// //判断i是否为素数,素数只有1和本身能整除的数为素数;
// //素数判断试除法
// int j=0;
// for(j=2;j<i;j++){
// if(i%j==0){
// break;
// }
// }
// if(j==i){
// printf("%d ",i);
// count++;
//
// }
//
// }
// printf("一共:%d个",count);
// return 0;
//}
////打印1000年到2000年之间的闰年
////方法一:
//int main(){
// int count=0;//计数一共有几个;
// int year=0;
// for(year=1000;year<=2000;year++){
// //1、能被4整除且不能被100整除是闰年
// //2、能被4百整除是闰年
// if(year%4==0&&year%100!=0){
// printf("%d ",year);
// count++;
// }else if(year%400==0){
// printf("%d ",year);
// count++;
// }
// }
// printf("\ncount = %d\n",count);
// return 0;
//}
////方法二:
//
//int main(){
// int year=0;
// for(year=1000;year<=2000;year++){
// if((year%4==0)&&(year%100!=0)||(year%400==0)){
// printf("%d ",year);
// }
// }
// return 0;
//}
////给定两个数找最大公因数
//int main(){
//
// //辗转相除法
// int m=24;
// int n=18;
// int r=0;
// scanf("%d%d",&m,&n);//取地址
// while(m%n){
// r=m%n;
// m=n;
// n=r;
// }
// printf("%d\n",n);
// return 0;
//}
////打印1-100之间所有3的倍数
//int main() {
// int i = 0;
//
// for (i = 0; i <= 100; i++) {
// if (i % 3 == 0) {
// printf("%d ", i);
// }
// }
//
// return 0;
//}
////将三个数从大到小输出
//int main(){
// int a=0;
// int b=0;
// int c=0;
// scanf("%d%d%d",&a,&b,&c);
// //a>b>c这样放
// if(a<b){
// int tmp=a;
// a=b;
// b=tmp;
// }
// if(a<c){
// int tmp=a;
// a=c;
// c=tmp;
// }
// if(b<c){
// int tmp=b;
// b=c;
// c=tmp;
// }
// printf("%d %d %d\n",a,b,c);
//
// return 0;
//}