#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <stdbool.h>
int main()
{
// //1
// printf("hello World!\n");
// printf("%d\n",100+2);
// printf("22+5=%d\n",22+5);
// //2
// int price=0;
// printf("请输入一个正整数 :");
// scanf("%d" , &price); //scanf函数里面后面的变量前面需要加&;
// int change = 100 - price;
// printf("找您%d元。\n",change);
// //3
// int m; //需要初始化,不然值不确定
// int l;
// l=m+10;
// printf("%d\n",l);
// //4
// const int AMOUNT =100; //const 只读变量不能被修改
// int price = 0;
// printf("%d", AMOUNT);
// //5
// int foot;
// int inch;
//
// scanf("%d %d",&foot,&inch) ; //scanf()格式化那部分不需要逗号分隔
// printf("%d %d",foot, inch) ;
//
// printf("身高是%f米。\n",(foot+inch/12)*0.3048); // inch/12为整型数,只取得整数部分,结果有误差
// printf("身高是%f米。\n",(foot+inch/12.0)*0.3048); // inch/12.0为浮点数,即小数。scanf()中通配符为lf。
// //6 表达式
// int a = 9;
// int b = 0;
// int t;
// t = a;
// a = b;
// b = t;
// printf("a=%d, b=%d",a,b);
//7
// int a = 9;
// printf("a++=%d\n",a++);
// printf("a=%d\n",a);
// printf("++a=%d\n",++a);
// printf("a=%d\n",a);
//8
// int b;
// int i;
// printf("输入初始和结束时间,用空格隔开:");
// scanf("%d %d",&b,&i);
//
// printf("%d %d\n",b,i);
// if(b>2400)
// {
// return 1;
//
// } else
// {
// int h = b/100;
// int m = b%100;
// int e = (m+i);
// if(e<0)
// {
// m=e%60+60;
// h=h+e/60-1;
// e=h*100+m;
// }else
// {
// m=e%60;
// h=h+e/60;
// e=h*100+m;
// }
// printf("结束时间:%d",e);
// }
//9
// printf("%d\n",5<=6); //1代表true,0代表false
// printf("%d\n",7>=3+4); //关系运算符比算术运算符优先级低
// int r;
// printf("%d\n", r=7>5); //关系运算符比赋值运算符优先级高
//10
// int a, b;
// printf("请输入两个整数:");
//
// scanf("%d %d",&a,&b);
// int max;
// if(a>b)
// {
// max=a;
// }else
// {
// max=b;
// }
// printf("大的数为: %d\n", max);
//11
// const double RATE = 8.25;
// const int STANDARD = 40;
// double pay = 0.0;
// int hours;
//
// printf("请输入工作的小时数:");
// scanf("%d", &hours);
// if (hours > STANDARD)
// pay = STANDARD * RATE +
// (hours-STANDARD) * (RATE * 1.5);
// else
// pay =hours * RATE;
// printf("应付工资 %f\n", pay);
//12
/* int type = 2 ;
switch(type) {
case 1:
printf("你好");
break;
case 1+1:
printf("hello");
break;
case 3:
printf("salaheiyou");
break;
default:
printf("1");
break;
} */
//13
// while(){ //先判断再处理
// }
//
// do{ ///先处理再判断;
// }while();
//14
//1)
// srand(time(0));
// int num = rand();
// num = num%100+1;
// int count = 0;
// int img = 0;
// printf("猜一个100以内的数:\n");
// do{
// scanf("%d", &img);
// count++;
// if(img!=num){
// if(img>num){
// printf("猜大了\n" );
// }else{
// printf("猜小了\n" );
// }
// }else{
// printf("猜对了,你猜了%d次\n",count);
// break;
// }
// }while (1);
//2)
// srand(time(0));
// int a = rand();
// a = a%100+1;
// int count = 0;
// int img = 0;
// printf("猜一个100以内的数:\n");
// do{
// scanf("%d",&img);
// count++;
// if(img>a){
// printf("猜大了\n");
// }else if(img<a){
// printf("猜小了\n");
// }
// }while(img!=a);
// printf("恭喜你猜了%d次猜对了",count);
//15
// int count = 0;
// int sum = 0;
// int num = 0;
// do{
// scanf("%d",&num);
// if (num!=-1){
// count++;
// sum+=num;
// }
// }while(num!=-1);
// printf("输入%d个数,平均数为%f",count,1.0*sum/count);
//16 数字倒置
// int num ;
// int a = 0;
// scanf("%d", &num);
//
// while(num>0){
// int t=num%10;
// num=num/10;
// a=a*10+t;
// }
// printf("倒置:%d\n",a);
// char l;
// scanf("%d", l);
// char m;
// while(l!=''){
//
// }
//17 求阶乘
// int n;
// printf("请输入一个正整数:");
// scanf("%d", &n);
// int r=1;
// int i = 1;
// for (i=1; i<=n; i++){
// r *= i;
// }
// while(i<=n){
// r*=i;
// i++;
// }
// printf("%d!=%d\n",n,r);
//改造 //固定次数,用for
// i=n; //必须执行一次,用do_while
// for(; n>1;n--){ //其他情况用while
// r *= n;
// }
// printf("%d!=%d\n",i,r);
//18 求素数
// int x;
// scanf("%d",&x);
// int i;
// for(i = x/2; i>1; i--){
// if(x%i==0){
// printf("%d不是
// 素数", x);
// return 0;
// }
// }
// printf("%d是素数", x);
//求100以内的素数;
// int i;
// printf("100以内的素数为:");
// for(i=1; i<=100; i++){
// int r;
// int fl=0;
// for(r = i/2; r>1; r--){
// if(i%r==0){
// fl=1;
// break;
// }
// }
// if(fl==0){
// printf("%d ",i);
// }
// }
//19
// double sum;
// int i;
// double sign = 1.0;
//求1+1/2+1/3+1/4+......+1/1000
// for(i=1; i<=1000; i++){
// sum+=(sign/i);
// }
//求1-1/2+1/3-1/4+......-1/1000
// for(i=1; i<=1000; i++){
// sum+=(sign/i);
// sign=-sign;
// }
// printf("%f",sum);
//20求正序
// 456 1 45 10
// 45 10 4 100
// 4 100 0 1000
// 0 1000
//(1
// int t;
// printf("请输入一个正整数:");
// scanf("%d",&t);
// int m=t;
// int mask = 1;
// while(m>0){
// m/=10;
// mask*=10;
// }
// //printf("%d\n",mask);
// while(mask>0){
// int j;
// mask/=10;
// j = t/mask;
// t%=mask;
// printf("%d ", j);
// }
//(2 //无法输出后位的0!
// int k=0;
// while(t>0){
// k = k*10+t%10;
// t/=10;
// }
// printf("%d\n",k);
// while(k>0){
// t=k%10;
// k/=10;
// printf("%d ",t);
// }
//21 求最大公约数(辗转相除法)
// int a,b;
// scanf("%d %d", &a, &b);
// do{
// int c=a;
// a=b%a;
// //printf("%d ",a);
// b=c;
//
// }while(a!=0);
// //printf("\n",b);
// printf("%d",b);
//22
// int a;
// printf("输入一个不超过6的正整数:");
// scanf("%d",&a);
// int i,j,k;
// int cnt = 0;
//
// // (1
// for(i=a; i<=a+3; i++)
// {
// for(j=a; j<=a+3; j++)
// {
// for(k=a; k<=a+3; k++)
// {
// if(i!=j)
// {
// if(i!=k)
// {
// if(j!=k)
// {
// cnt++;
// printf("%d%d%d",i,j,k);
// if(cnt==6){
// printf("\n");
// cnt = 0;
// } else{
// printf(" ");
// }
// }
// }
// }
// }
// }
// }
// (2
// i = a;
// while( i<=a+3 ){
// j = a;
// while( j<=a+3 ){
// k = a;
// while( k<=a+3){
// if(i!=j){
// if(i!=k){
// if(j!=k){
// cnt++;
// printf("%d%d%d",i,j,k);
// if(cnt==6){
// printf("\n");
// cnt = 0;
// }else{
// printf(" ");
// }
// }
// }
// }
// k++;
// }
// j++;
// }
// i++;
// }
//23 求水仙花数
// int n;
// scanf("%d",&n);
// int cnt = n;
// int i=1;
// do{
// i*=10;
// n--;
// }while(n>1);
// printf("n=%d i=%d cnt=%d\n",n,i,cnt);
// int j;
// for(j=i; j<i*10; j++){
// int sum=0;
// int x;
// int c=j;
// while(c>0){
// x=c%10;
// c/=10;
// sum+=(int)pow(x,cnt);
// }
// if(sum==j){
// printf("%d\n",j);
// }
// }
//23 乘法表
// int i,j;
// for(i=1; i<10; i++){
// for(j=1; j<10; j++){
// if(i>=j){
// int mul = j*i;
// printf("%d*%d=%d ",j,i,mul);
// if(mul<10){
// printf(" ");
// }
// }
// }
// printf("\n");
// }
//24 求素数和
// int x,y;
// printf("请输入两个正整数:");
// scanf("%d %d", &x,&y);
// if(x>y){
// int t=y;
// y = x;
// x = t;
// }
// int m;
// int sum = 0;
// int cnt = 0;
// if(x==1)
// x=2;
// for (m=x; m<=y; m++){
// int i;
// int flat=0;
// for (i=2; i<m/2; i++){
// if(m%i==0){
// flat=1; //设一个标记,记录是否存在至少一个约数。
// break;
// }
// }
// if(flat==0){
// cnt++;
// sum+=m;
// }
// }
// printf("%d %d\n",cnt, sum);
//25
// int num,n;
// srand(time(0));
// num = rand()%100;
// n = rand()%97+3;
// int cnt = 0;
// int x;
// for(cnt=1; cnt<=n; cnt++){
// scanf("%d", &x);
// cnt++;
// if(x==num){
// if(cnt==1){
// printf("Bingo!\n");
// break;
// }else if(cnt<3){
// printf("Lucky You!\n");
// break;
// }else {
// printf("Good Guess!\n");
// break;
// }
// }else if(x<0){
// printf("Game Over\n");
// break;
// }else{
// if(cnt==n){
// printf("Game Over\n");
// break;
// }else{
// if(x<num){
// printf("Too Small\n");
// }else{
// printf("Too Big\n");
// }
// }
// }
// }
//26 2/1+3/2+5/3+······
// int x;
// scanf("%d",&x);
// double sum = 0.0;
// int i;
// double a=2;
// double b=1;
// for(i=0; i<x; i++){
// int t;
// sum= sum+(a/b);
// t = a;
// a= a + b;
// b= t;
// }
// printf("%.2f\n",sum);
//27
// int a,b;
// scanf("%d/%d", &a, &b);
// int x = a;
// int y = b;
// while(a!=0){ //辗转相除求最大公约数
// int t = a;
// a = b%a;
// b = t;
// }
// printf("%d/%d\n", x/b, y/b);
//28
// int a, n;
// scanf("%d %d", &a, &n);
// int i;
// int sum = 0;
// for(i=1; i<=n; i++){
// int j;
// int x=0;
// for(j=0; j<i; j++){
// x=x*10+a;
// }
// sum+=x;
// }
// printf("%d",sum);
//29
// int a;
// a = 6;
// printf("sizeof(long double)=%ld\n",sizeof(long double));
// printf("sizeof(a)=%ld\n",sizeof(a++));
// printf("sizeof(a+1.0)=%ld\n",sizeof(a+1.0)); //sizeof()内部不会做计算
// printf("a=%d\n",a);
//30
// char c = 255;
// unsigned char ch = 255;
// int i = 255;
// char x = -1;
// unsigned char f = -1;
// unsigned int t = -1;
// int y = -1;
// printf("c=%d, ch=%d, i=%d\n", c, ch, i);
// printf("x=%u, f=%d, t=%d, y=%u\n", x, f, t, y);
//
//
// int a = 0;
// int b = 0;
// do{
// a+=1;
// }while (a > 0);
// do{
// b-=1;
// }while (b<0);
// printf("%d < int < %d", b+1, a-1);
//31 浮点数 //float 有效数字为 7~8个 double 有效数字为 15~16个
// float a =12344.5678;
// printf("%f , %e, %E\n", a, a, a); // %e或%E 表示用科学计数法
//
// printf("%.3f\n", 0.65436); //%.nf ,表示指定输出小数点后n位 ,最后一位会四舍五入
// printf("%.30f\n", -0.0049); //由于精度问题,double 和 float在计算机中表示的数并不连续。
// printf("%.3f\n",-0.00049);
//
// printf("%f\n", 12.0/0.0); //inf超出范围 nan不存在
// printf("%f\n", -12.0/0.0);
// printf("%f\n", 0.0/0.0);
// //浮点计算
// float a, b, c; //没有特别要求不用float,直接用double
// a = 1.345f; //小数后面加f或F表示float,否则为double类型
// b = 1.123f; //浮点数不能精确计算
// c = a + b;
// printf("%f\n",c);
// if (c == 2.468){
// printf("相等\n");
// }else{
// printf("不相等,%.10f != %f\n", a+b, c);
// }
//32 char可以看作整数,也可以看作字符字符用%c输入输出
// char c;
// char d;
// c = 1;
// d = '1';
// if(c == d){
// printf("相等\n");
// }else{
// printf("不相等\n");
// }
// printf("c=%d, d=%d\n", c, d);
// printf("c=%c, d=%c\n", c, d);
// scanf("%c", &c);
// printf("c=%d\n", c);
// printf("c='%c'\n", c);
// if('1' == 49){
// printf("ok\n");
// }
// //逃逸字符 以 \开头,\b:回退一格(并不是删除) \n:换行 \t:到下一个表格位
// printf("123\b\n456\n"); // \r:回车 \":双引号 \':单引号 \\反斜杠本身
// printf("12\t123\n345\t456\n"); //tab键是固定位置,到制表位
// //33 类型转换 1.自动转换 :自动转换为范围更大的类型。
// printf("%d\n",(char)32768); //即char->short->int->long->long long
// //int->float->double
// //对于printf,任何小于int的都会转化为int; float转化为double
// //scanf不会,要输入short,需要%hd
// //2.强制类型转换:(类型)值 但要注意安全性,注意范围 优先级高于四则运算
// //bool类型:需要先 #include <stdbool.h> ,bool、true(1)、false(0)
// bool b = 6>5;
// bool t = false;
// printf("true=%d, false=%d\n", b, t);
//33 逻辑运算 !:非 &&:与 ||:或
// char c;
// printf("输入一个字母判断是否为大写:");
// scanf("%c",&c);
// printf("%d",(c>='A'&&c<='Z'));
//34 函数
// int isPrime(int x){ //判断是否为素数
// int isprime = 1;
// int i;
// for(i=2; i<x; i++){
// if(x%i==0){
// isprime = 0;
// break;
// }
// }
// return isprime;
// }
// printf("%d",isPrime(31));
// //求连续数的和
// void sum(int begin, int end){
// int sum = 0;
// int i;
// for(i=begin; i<=end; i++){
// sum+=i;
// }
// printf("%d到%d的和为%d", begin, end, sum);
// }
// int begin, end;
// scanf("%d %d", &begin, &end);
// sum(begin, end);
//c语言是自上而下的。需要先定义函数才能使用。如果未先定义,要先声明(即函数原型),下面还要再次定义。
//35 数组
// int x;
// int cnt = 0;
// double sum = 0;
// int number[100];
//
// do{
// scanf("%d", &x);
// if(x==-1)
// break;
// number[cnt] = x;
// printf("%d\t", cnt);
// int i;
// for(i=0; i<=cnt; i++){
// printf("%d\t", number[i]);
// }
// printf("\n");
// sum+=x;
// cnt++;
// }while(1);
// if(cnt>0){
// printf("%f\n", sum/cnt);
// int i;
// for(i=0; i<cnt; i++){
// if(number[i]>(sum/cnt)){
// printf("%d ", number[i]);
// }
// }
// }
// printf("\n");
// int search(int x, int a[], int num){
// int i = 0;
// int in = 0;
// for(i=0; i<num; i++){
// if(x==a[i]){
// in = 1;
// }
// }
// return in;
// }
//
// int a[] ={1,2,3,4,7,18,31,23,67,9,10,23};
// //printf("%d\n", sizeof(a)/sizeof(a[0]));
// int num = sizeof(a)/sizeof(a[0]);
// int x;
// scanf("%d", &x);
// printf("in is %d\n", search(x, a, num));
// int isPrime(int x){
// int ret = 1;
// int i;
// if(x==1||(x%2 == 0 && x!=2))
// ret = 0;
// for(i=3; i<x; i++){
// if(x%i == 0)
// ret = 0;
// }
// return ret;
// }
// int x;
// scanf("%d", &x);
// printf("%d\n", isPrime(x));
// //求输入的数以内的素数(不包括这个数);
// int maxNumber;
// scanf("%d", &maxNumber);
// int isPrim[maxNumber];
// int i;
// int x;
// for(i=0; i<maxNumber; i++){
// isPrim[i] = 1;
// }
// //for test
// {
// int i;
// for(i=1; i<maxNumber; i++){
// printf("\t%d", i);
// }
// printf("\n");
// }
// //for test
// for(x=2; x<maxNumber; x++)
// {
// if(isPrim[x])
// {
// for(i=2; i*x<maxNumber; i++)
// {
// isPrim[i*x] = 0;
// }
// }
// //for test
// {
// int j;
// printf("%d\t", x);
// for(j=1; j<maxNumber; j++)
// {
// printf("%d\t", isPrim[j]);
// }
// printf("\n");
// }
// //for test
// }
// printf("\n");
// for(i=2; i<maxNumber; i++)
// {
// if(isPrim[i]==1)
// printf("%d\t", i);
// }
// printf("\n");
//二元数组
// int x,y;
// scanf("%d %d", &x, &y);
// int a[x][y];
// int i, j;
// for(i=0; i<x; i++){
// printf("|");
// for(j=0; j<y; j++){
// a[i][j] = i*j;
// printf("%d\t",a[i][j]);
// }
// printf("|\n");
// }
// //二元数组图像规格化
// void shuzu( int x, int y ,int a[x] [y]){
// int i, j;
// for(i=0; i<x; i++){
// printf("|");
// for(j=0; j<y; j++){
// printf("%d\t",a[i][j]);
// }
// printf("|\n");
// }
// }
//
// int a [5][6];
// int x = sizeof(a)/sizeof(a[0]);
// int y = sizeof(a[0])/sizeof(a[0][0]);
// printf("x=%d, y=%d\n", x, y);
// int i,j;
// for(i=0; i<x; i++){
// for(j=0; j<y; j++){
// srand (time(0));
// a[i][j] = rand()%100;
// }
// }
// shuzu(x, y, a);
// //井字棋 1)读入矩阵
// const int size = 3;
// int board [size][size];
// int i, j;
// int num0fx;
// int num0f0;
// int result = -1; //-1:没有人赢, 1:X赢, 0:0赢
// for(i=0; i<size; i++){
// for(j=0; j<size; j++){
// scanf("%d", &board[i][j]);
// }
// }
// //2)判断
// for(i=0; i<size; i++){
// for(j=0; j<size; j++){
// if
// }
// }
// //36 指针:保存地址的变量 * p
// int i =0;
// int p;
// p = &i;
// printf("0x%x\n", &i);
// printf("%p\n", &i);
//指针:保存地址的变量 * p
// int i;
// int* p = &i;
//int *p,q; *p为指针,q为int类型
//int *p,*q; 定义两个指针
return 0;
}