//1-1通过if语句实现猜数游戏
#include<stdio.h>
int main(){
int no;
int ans = 7;
printf("请猜一个0~9的整数。\n\n");
printf("是多少呢:");
scanf("%d", &no);
if (no > ans)
printf("\a再小一点。\n");
else if (no < ans)
printf("\a再大一点。\n");
else
printf("回答正确。\n");
return 0;
}
//1-2通过do语句实现,猜到对为止
#include<stdio.h>
int main(){
int no;
int ans = 7;
printf("请猜一个0~9的整数。\n\n");
do{
printf("是多少呢:");
scanf("%d", &no);
if (no > ans)
printf("\a再小一点。\n");
else if (no < ans)
printf("\a再大一点。\n");
} while (no != ans);
printf("回答正确。\n");
return 0;
}
//1-3通过while实现
#include<stdio.h>
int main(){
int no;
int ans = 7;
printf("请猜一个0~9的整数。\n\n");
while (1) {
printf("是多少呢:");
scanf("%d", &no);
if (no > ans)
printf("\a再小一点。\n");
else if (no < ans)
printf("\a再大一点。\n");
else
break;
}
printf("回答正确。\n");
return 0;
}
//1-4生成随机数
#include<stdio.h>
#include<stdlib.h> //rand()在此头文件中
int main(){
int retry;
printf("在这个编程环境中能够生成0~%d的随机数。\n", RAND_MAX); //RAND_MAX 在stdlib中定义
do{
printf("\n生成了随机数%d。\n", rand());
printf("再运行一次?……(0)否(1)是:");
scanf("%d", &retry);
} while (retry == 1);
return 0;
}
//1-5根据当前时间设立随机数种子
#include<time.h>
#include<stdio.h>
#include<stdlib.h> //rand()在此头文件中
int main(){
int retry;
srand(time(NULL)); //根据当前时间设定随机数的种子
printf("在这个编程环境中能够生成0~%d的随机数。\n", RAND_MAX); //RAND_MAX 在stdlib中定义
do{
printf("\n生成了随机数%d。\n", rand());
printf("再运行一次?……(0)否(1)是:");
scanf("%d", &retry);
} while (retry == 1);
return 0;
}
//1-6生成0~999的随机数
#include<time.h>
#include<stdio.h>
#include<stdlib.h> //rand()在此头文件中
int main(){
int no;
int ans;
srand(time(NULL)); //根据当前时间设定随机数的种子
ans = rand() % 1000;
printf("请猜一个0~999的整数。\n\n");
do{
printf("是多少呢:");
scanf("%d", &no);
if (no > ans)
printf("\a再小一点。\n");
else if (no < ans)
printf("\a再大一点。\n");
} while (no != ans);
printf("回答正确。\n");
return 0;
}
//1-7限制输入的次数
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
int main(){
int no;
int ans;
const int max_stage = 10; //最多可以输入的次数
int remain = max_stage; //还可以输入几次
srand(time(NULL));
ans = rand() % 1000;
printf("请猜一个0~999的整数。\n\n");
do{
printf("还剩%d此机会。是多少呢:", remain);
scanf("%d", &no);
remain--;
if(no > ans)
printf("\a再小一点\n");
else if (no < ans)
printf("\a再大一点\n");
} while ( no != ans && remain > 0);
if (no != ans)
printf("\a很遗憾,正确答案是%d\n", ans);
else {
printf("回答正确。\n");
printf("您用了%d此猜中了。\n", max_stage - remain);
}
return 0;
}
//1-8显示输入记录
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
#define MAX_STAGE 10
int main(){
int i;
int stage; //已输入的次数
int no;
int ans;
int num[MAX_STAGE]; //读取的值的历史记录
srand(time(NULL));
ans = rand() % 1000;
printf("猜一个0~999的整数。\n\n");
stage = 0;
do {
printf("还剩%d此机会。是多少呢:", MAX_STAGE - stage);
scanf("%d", &no);
num[stage++] = no; //把读取的值存入数组
if(no > ans)
printf("\a再小一点\n");
else if (no < ans)
printf("\a再大一点\n");
} while(no != ans && stage < MAX_STAGE);
if (no != ans)
printf("\a很遗憾,正确答案是%d\n", ans);
else {
printf("回答正确。\n");
printf("您用了%d此猜中了。\n", stage);
}
puts("\n---输入记录---");
for(i = 0; i < stage; i++)
printf(" %2d : %4d %+4d\n", i + 1, num[i], num[i] - ans);
return 0;
}
//1-9显示数组的元素个数和各个元素的值
#include<stdio.h>
int main(){
int i;
int a[] = {1,2,3,4,5};
int na = sizeof(a) / sizeof(a[10]); //元素的个数
printf("数组a的元素个数是%d \n", na);
for(i = 0; i < na; i++)
printf("a[%d] = %d\n", i, a[i]);
return 0;
}