#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//求n!
//int main()
//{
// int i = 0;
// int j = 0;
// int ret=1;
// scanf("%d",&j);
// for(i=1;i<=j;i++)
// {
// ret=ret*i;
// }
// printf("%d",ret);
// return 0;
//}
//求1!+2!+.....+n!
//int main()
//{
// int i = 0;
// int j = 0;
// int ret=1;
// int sum=0;
// scanf("%d",&j);
// for(i=1;i<=j;i++)
// {
// ret=ret*i;
// sum=sum+ret;
// }
// printf("%d",sum);
//return 0;
//}
//int main()
//{
// int n = 1;
// int m = 2;
// switch(n)
// {
// case 1:
// m++;
// case 2:
// n++;
// case 3:
// switch(n)
// {
// case 1:
// n++;
// case 2:
// m++;
// n++;
// break;
// }
// case 4:
// m++;
// break;
// default:
// break;
// }
// printf("n=%d,m=%d",n,m);
//return 0;
//}
二分函数查找有序数组元素
//int BinarySearch(int arr[],int key,int left,int right)
//{
// while(left<=right)
// {
// int mid=left+(right-left)/2;
// if(arr[mid]==key)
// {
// return mid;
// }
// else if(arr[mid]>key)
// {
// right=mid-1;
// }
// else
// {
// left=mid+1;
// }
//
// }
// return -1;
//}
//
//
//int main()
//
//{
// int arr[]={1,2,3,4,5,6,7,8,9,10};
// int key = 9;
// int sz = sizeof(arr)/sizeof(arr[0]);
// int ret= BinarySearch (arr,key,3,7);
// if(-1==ret)
// {
// printf("找不到\n");
// }
// else
// {
// printf("找到了:%d\n",ret);
// }
// return 0;
//}
//猜数字游戏
//#include<string.h>
//#include<windows.h>
//#include<time.h>
//
//
//enum Option
//{
// EXIT,
// START
//};
//
//void menu()
//{
// printf("*************************\n");
// printf("*** 1.play 0.exit ***\n");
// printf("*************************\n");
//
//}
//
//void game()
//{
// int ret=0;
// int num=0;
// ret = rand()%100+1;
// while(1)
// {
// printf("请猜数字; ");
// scanf("%d",&num);
// if(num == ret)
// {
// printf("恭喜你,猜对了\n");
// break;
// }
// else if(num>ret)
// {
// printf("猜大了\n");
// }
// else
// {
// printf("猜小了\n");
// }
// }
//}
//
//
//int main()
//{
// int input=0;
// srand((unsigned int)time(NULL));
// do
// {
// menu();
// printf("请选择: ");
// scanf("%d",&input);
// switch(input)
// {
// case 1:
// game();
// break;
// case 0:
// break;
// default:
// printf("选择错误\n");
// break;
// }
// }
// while (input);
//
//return 0;
//}
模拟用户登录密码情景
//#include<string.h>
//int main()
//
//{
// int i=0;
// char passwd[10]={0};
// for(i=0;i<3;i++)
// {
// printf("请输入密码:");
// scanf("%s",passwd);
// if(0==strcmp(passwd,"123456"))
// {
// printf("登陆成功\n");
// break;
// }
//
// else
// {
// printf("密码错误\n");
// }
// }
// if(i==3)
// {
// printf("退出系统\n");
// }
//return 0;
//}
从俩边向中间打印
//#include<windows.h>
//int main()
//{
// char arr1[]="######################";
// char arr2[]="welcome to bit ! ! !";
// int left=0;
// //int right1=sizeof(arr1)/sizeof(arr1[0])-1;
// //int right2=sizeof(arr1)/sizeof(arr1[0])-2;
// int right3=strlen(arr1)-1;
// //printf("%d,%d,%d",right1,right2,right3);
// while(left<=right)
// {
// arr1[left]=arr2[left];
// arr1[right]=arr2[right];
// printf("%s\n",arr1);
// left++;
// right--;
// Sleep(1000);
// //system("cls");
// }
// return 0;
//}
出现死循环
//int main()
//{
// int i = 0;
// int arr[10] = {0};
// for(i=0;i<=12;i++) //i的地址和arr[12]的地址是一样的
// {
// arr[i] = 0;
// printf("hehe\n");
// }
// return 0;
//}
接受一个整型值(无符号),把它转换为字符并打印它
例如 输入1234 输出1 2 3 4
//void Print(int num)
//{
// if(num>9)
// {
// Print(num/10);
// }
// printf("%d ",num%10);
// //return num%10 ; 不能用return 无输出
//}
//
//int main()
//{
// int num = 1234;
// Print(num);
// return 0;
//}
编写函数不允许创建临时变量,求字符串长度
//#include<assert.h>
//int my_strlen(const char *str)
//{
// //int count = 0;
//
// assert(str != NULL);
//
// //while(*str != '\0')
// //{
// // count++;
// // *str++;
// //}
//
//
// if(*str != '\0')
// {
// //str++;
// return 1+my_strlen(str+1); //return 1+my_strlen(str);
// }
// else
// return 0;
//
// //return count;
//}
//
//
//int main()
//{
// char *ch = "abcdefghijklmn "; //不能写成char ch = "abcdef";
// int ret = my_strlen(ch);
// printf("%d\n",ret);
// return 0;
//}
//求n的阶乘
//
//int Fun(int n)
//{
// if(n<=1) //0的阶乘是1
// {
// return 1;
// }
// else
// {
// return n*Fun(n-1);
// }
//}
//
//int main()
//{
// int n = 0;
// int ret = 0;
// scanf("%d",&n);
// ret= Fun(n);
// printf("%d",ret);
// return 0;
//}
//求第n个斐波那契数(不考虑溢出)
//1 1 2 3 5 8 13 21 34 55 89 ......
//循环方式
int Fbc(int n)
{
int a = 1;
int b = 1;
int c = 1;
while(n>2)
{
n = n-1;
c = a+b;
a = b;
b = c;
}
return c;
}
递归的方式
//Fbc(int n)
//{
//
// if(n<=2)
// return 1;
// else
// return Fbc(n-1)+Fbc(n-2);
//
//}
//
//int main()
//{
// int ret = 0;
// int n = 0;
// scanf("%d",&n);
// ret = Fbc(n);
// printf("%d",ret);
// return 0;
//}
写一个函数判断计算机是小端还是大端存储
//int check_sys()
//{
// int i = 1;
// return (*(char*)&(i)); //返回1为小端返回0为大端
//}
用共用体的做法
//int check_sys()
//{
// union Un
// {
// char a;
// int i;
// }u;
// u.i = 1;
// return u.a;
//}
//
//
//int main()
//{
// int ret = check_sys();
// if(1 == ret)
// printf("小端\n");
// else
// printf("大端\n");
// return 0;
//}
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//100-200素数
//int main()
//{
// int i;
// int k;
// int count=0;
// for(i=100;i<=200;i++)
// {
// for(k=2;k<i;k++)
// {
// if(i%k==0)
// break;
// }
//
// if(k==i)
// {
//
// printf("%d\n",i);
// count++;
// }
//
//
//
// }
//
// printf("%d\n",count);
// return 0;
//}
//1000-2000年的闰年
//int main()
//{
// int i=0;
// int count=0;
// for(i=1000;i<=2000;i++)
// {
// if(i%4==0&&i%100!=0)
// {
// count++;
// printf("%d\n",i);
// }
// if(i%400==0)
// {
// count++;
// printf("%d\n",i);
// }
// }
// printf("%d\n",count);
//return 0;
//}
//打印乘法口诀表
//int main()
//{
//int i;
//int j;
//for(i=1;i<=9;i++)
//{
// for(j=1;j<=i;j++)
// {
// printf("%2d*%2d=%2d",j,i,j*i);//或者printf("%2d*%2d=%2d",i,j,i*j);
// }
// printf("\n");
//}
//return 0;
//}
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
交换俩个整形变量的值
//int main()
//{
解法一
//int a = 10;
//int b = 20;
//int c = 0;
//c = a;
//a = b;
//b = c;
//解法二
//int a = 34;
//int b = 26;
//a = a+b;
//b = a-b;
//a = a-b;
//解法三
//int a = 97;
//int b = 25;
//a = a^b;
//b = a^b;
//a = a^b;
//printf("%d,%d",a,b);
//return 0;
//}
求10 个整数中最大值(可以改变数组的值)
//int main()
//{
// int arr[] = {-6,-8,-4,-9,-2,-10,-7,2,-1,-5};
// int max = arr[0];
// int i = 0;
// for(i=1;i<10;i++)
// {
// if(arr[i]>max)
// {
// max = arr[i];
// }
// }
// printf("%d\n",max);
//return 0;
//}
将三个数按从大到小输出 或者 //用函数的方式
//void Swap(int *p1 , int *p2)
//{
// int tmp = *p1;
// *p1 = *p2;
// *p2 = tmp;
//}
//int main ()
//{
// int a = 0;
// int b = 0;
// int c = 0;
// int tmp = 0;
// scanf("%d %d %d",&a,&b,&c);
//
// if(a<b)
// {
// Swap (&a,&b);
// //tmp = a;
// //a = b;
// //b = tmp;
// }
// if(a<c)
// {
// Swap (&a,&c);
//tmp = a;
//a = c;
//c = tmp;
// }
// if(b<c)
// {
// Swap (&b,&c);
// //tmp = b;
// //b = c;
// //c = tmp;
// }
// printf("%d,%d,%d\n",a,b,c) ; //(规定了输出a为最大值)
// return 0;
//}
求2个数的最大公约数
//int main()
//{
// int a = 0;
// int b = 0;
// scanf("%d%d",&a,&b);
// while(a%b)
// {
// int tmp = a%b;
// a = b;
// b = tmp;
// }
//printf("%d\n",b);
// return 0;
//}
求两个数的最小公倍数
//
//int main ()
//{
// int a = 0;
// int b = 0;
// int c = 0;
// int d = 0;
// int tmp = 0;
// scanf("%d%d",&a,&b);
// c = a;
// d = b;
// //先求最大公约数
// while(c%d)
// {
// //if(c%d != 0) //(不需要判断) while(c%d)和if(c%d != 0)是一个意思
// //{
// tmp = c%d;
// c = d;
// d = tmp;
// //}
// }
// //求最小公倍数
// a = a*b/d;
// printf("%d",a);
//return 0;
//}
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
将数组A中的内容和数组B中的内容进行交换
//int main ()
//{
// int arrA[] = {1,2,3,4,5,6,7,8,9,10};
// int arrB[] = {-1,-2,-3,-4,-5,-6,-7,-8,-9,-10};
// int tmp = 0;
// int i = 0;
// int sz = sizeof(arrA)/sizeof(arrA[0]);
// for(i=0;i<10;i++) //for(i=0;i<sz;i++)
// {
// tmp = arrA[i];
// arrA[i] = arrB[i];
// arrB[i] = tmp;
// }
// for(i=0;i<10;i++) //for(i=0;i<sz;i++)
// {
// printf("%d\n",arrA[i]);
// }
// printf("\n");
// for(i=0;i<10;i++) //for(i=0;i<sz;i++)
// {
// printf("%d\n",arrB[i]);
// }
//
// return 0;
//}
计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
//int main()
//{
// int i = 0;
// double sum = 0.0;
// int flag = -1;
// for(i=1;i<=100;i++)
// {
// sum = sum+flag*1.0/i;
// flag = -flag;
// }
// printf("%lf",sum);
//return 0;
//}
数一下 1到 100 的所有整数中出现多少次数字9
//int main()
//{
// int i = 0;
// int count = 0;
// for(i=1;i<=100;i++)
// {
// if(i%10==9)
// {
// count++;
// }
// if(i/10==9)
// {
// count++;
// }
// }
// printf("%d\n",count);
//return 0;
//}
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
在屏幕上输出以下图案:
*
***
*****
*******
*********
***********
*************
***********
*********
*******
*****
***
*
//int main()
//{
// int i = 0;
// int line = 0;
// int j = 0;
// scanf("%d",&line);
//
// //先打印上半部分
// for(i=0;i<line;i++)
// {
// //先打印空格
// for(j=0;j<line-1-i;j++) //(难点)
// {
// printf(" ");// 或者 printf("%c",' ');
// }
// //打印*
// for(j=0;j<2*i+1;j++) //(难点)
// {
// printf("*");
// }
// printf("\n");
// }
//
//
// //打印下半部分
// for(i=0;i<line-1;i++)
// {
// //先打印空格
// for(j=0;j<=i;j++) //(难点)
// {
// printf(" ");
// }
// //打印*
// for(j=0;j<(line-1-i)*2-1;j++) //(难点)
// {
// printf("*");
// }
// printf("\n");
// }
//return 0;
//}
(创建4个数组)
//#include<string.h>
//#include<windows.h>
//int main()
//{
//
// char arr1[]="*************";
// char arr2[]=" ";
// int left1=0;
// int right1=strlen(arr1)-1;
// int left2=6;
// int right2=6;
// char arr3[]="*************";
// char arr4[]=" ";
// while((left2>=0)&&(right2<=12))
// {
// arr2[left2]=arr1[left2];
// arr2[right2]=arr1[right2];
// printf("%s\n",arr2);
// left2--;
// right2++;
// Sleep(1000);
// }
// while(left1<=right1)
// {
// arr3[left1]=arr4[left1];
// arr3[right1]=arr4[right1];
// printf("%s\n",arr3);
// left1++;
// right1--;
// Sleep(1000);
// }
//return 0;
//}
(创建2个数组)
//#include<string.h>
//#include<windows.h>
//int main()
//{
//
// char arr1[]="*************";
// char arr2[]=" ";
// int left1=0;
// int right1=strlen(arr1)-1;
// int left2=6;
// int right2=6;
// while((left2>=0)&&(right2<=12))
// {
// arr2[left2]=arr1[left2];
// arr2[right2]=arr1[right2];
// printf("%s\n",arr2);
// left2--;
// right2++;
// //Sleep(1000);
// }
//
// while(left1<=right1)
// {
// char arr2[]=" ";
// arr1[left1]=arr2[left1];
// arr1[right1]=arr2[right1];
// printf("%s\n",arr1);
// left1++;
// right1--;
// //Sleep(1000);
// }
//return 0;
//}
打印水仙花数
//#include<math.h>
//int main()
//{
// int i = 0;
// int bit = 1;
// for(i=0;i<1000;i++)
// {
// //计算是几位数
// //scanf("%d",&i);
// int tmp = i;
// int sum = 0;
// bit = 1; 这一句很重要(每一个数进来要将bit置1)
// while(tmp/10)
// {
// bit++;
// tmp = tmp/10;
// }
// //printf("%d",bit);
// 取下每一位
// tmp = i;
// while(tmp) //不能是(tmp%10),会将370 ,407 这样有零的数字丢失
// {
// sum = sum + pow(tmp%10,bit);
// tmp = tmp /10;
// }
// if(sum == i)
// {
// printf(" %d ", i );
// }
//
// }
// return 0;
//}
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和
//int main()
//{
//
// int i = 0;
// int a = 0;
// int sn = 0;
// int ret = 0;
// int tmp = 0;
//
// scanf("%d%d",&a,&tmp);
// for(i=0;i<tmp;i++)
// {
// ret = ret*10+a;
// sn = sn+ret;
// }
//printf("%d",sn);
//return 0;
//}
编写程序从标准输入读取C源代码,并验证所有的花括号都正确的成对出现
//int main()
//{
// char ch = 0;
// int count = 0;
//
// while((ch=getchar()) != EOF)
// {
// //putchar(ch);
// if(ch == '{')
// {
// count++;
// }
// else if((ch == '}') && (0 == count))
// {
// printf("不匹配\n");
// return 0;
// }
// else if((ch == '}') && (count != 0))
// {
// count--;
// }
// }
// if (0 == count)
// {
// printf("匹配\n");
// }
// else
// {
// printf("不匹配\n");
// }
//
//return 0;
//}
#define _CRT_SECURE_NO_WARNINGS 1
二分函数查找有序数组元素
//int BinarySearch(int arr[],int key,int left,int right)
//{
// while(left<=right)
// {
// int mid=left+(right-left)/2;
// if(arr[mid]==key)
// {
// return mid;
// }
// else if(arr[mid]>key)
// {
// right=mid-1;
// }
// else
// {
// left=mid+1;
// }
//
// }
// return -1;
//}
//
//
//int main()
//
//{
// int arr[]={1,2,3,4,5,6,7,8,9,10};
// int key = 9;
// int sz = sizeof(arr)/sizeof(arr[0]);
// int ret= BinarySearch (arr,key,3,7);
// if(-1==ret)
// {
// printf("找不到\n");
// }
// else
// {
// printf("找到了:%d\n",ret);
// }
// return 0;
//}
//猜数字游戏
//#include<string.h>
//#include<windows.h>
//#include<time.h>
//
//
//enum Option
//{
// EXIT,
// START
//};
//
//void menu()
//{
// printf("*************************\n");
// printf("*** 1.play 0.exit ***\n");
// printf("*************************\n");
//
//}
//
//void game()
//{
// int ret=0;
// int num=0;
// ret = rand()%100+1;
// while(1)
// {
// printf("请猜数字; ");
// scanf("%d",&num);
// if(num == ret)
// {
// printf("恭喜你,猜对了\n");
// break;
// }
// else if(num>ret)
// {
// printf("猜大了\n");
// }
// else
// {
// printf("猜小了\n");
// }
// }
//}
//
//
//int main()
//{
// int input=0;
// srand((unsigned int)time(NULL));
// do
// {
// menu();
// printf("请选择: ");
// scanf("%d",&input);
// switch(input)
// {
// case 1:
// game();
// break;
// case 0:
// break;
// default:
// printf("选择错误\n");
// break;
// }
// }
// while (input);
//
//return 0;
//}
模拟用户登录密码情景
//#include<string.h>
//int main()
//
//{
// int i=0;
// char passwd[10]={0};
// for(i=0;i<3;i++)
// {
// printf("请输入密码:");
// scanf("%s",passwd);
// if(0==strcmp(passwd,"123456"))
// {
// printf("登陆成功\n");
// break;
// }
//
// else
// {
// printf("密码错误\n");
// }
// }
// if(i==3)
// {
// printf("退出系统\n");
// }
//return 0;
//}
编写一个程序,可以一直接收键盘字符,
如果是小写字符就输出对应的大写字符,
如果接收的是大写字符,就输出对应的小写字符,
如果是数字不输出
//#include<ctype.h>
//int main()
//{
// int ch = 0;
// while((ch = getchar()) != EOF)
// {
// if((ch>='a')&&(ch<='z'))
// {
// putchar(toupper(ch));
// //putchar(ch-32);
// //putchar(ch-('a'-'A'));
// }
// else if((ch>='A')&&(ch<='Z'))
// {
// putchar(tolower(ch));
// //putchar(ch+32);
// //putchar(ch+'a'-'A');
// }
// }
//return 0;
//}
#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
将8个比特为的某一位改为flag
//
//void fun(int i, int step, int flag)
//{
// int j = 0;
// for(j = 7;j>=0;j--)
// {
// if(j == (8-step+1))
// {
// if(((i >> j) & 1) == flag)
// {
// printf("%d",(i >> j) & 1);
// }
// else
// {
// printf("%d",!((i >> j) & 1));
// }
// }
//
// else
// {
// printf("%d",(i >> j) & 1);
// }
// }
//}
//
//
//int main()
//{
// char a = 5;
// fun(a,5,1);
// return 0;
//}
写一个函数返回参数二进制中 1 的个数
i大于15和负数 没有输出
解法一
//int main()
//{
// int i = 0;
// int count = 0;
// scanf("%d",&i);
// while(i)
// {
// if(i%2 == 1)
// {
// count++;
// i=i/2;
// }
// }
// printf("%d",count);
//return 0;
//}
解法二
//int main()
//{
// int num = 0;
// int i = 0;
// int count = 0;
// scanf("%d",&num);
// for(i=0;i<32;i++)
// {
// if(((num>>i) & 1) == 1)
// {
// count++;
// }
// }
// printf("%d",count);
// return 0;
//}
解法三
//int main()
//{
// int num = 0;
// int count = 0;
// scanf("%d",&num);
// while(num)
// {
// count++;
// num = num & (num-1);
// }
// printf("%d",count);
// return 0;
//}
求一个整数存储在内存中的二进制中1的个数
//int Count(int num)
//{
// int count = 0;
// while(num)
// {
// count++;
// num &= (num-1);
// }
// return count;
//}
//
//int main()
//{
// int a = 0;
// int ret = 0;
// scanf("%d",&a);
// ret = Count(a);
// printf("%d\n",ret);
// return 0;
//}
获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列
//int main()
//{
// int i = 0;
// int j = 0;
// int a = 0;
// scanf("%d",&i);
// printf("奇数位\n");
// for(j=0;j<31;j+=2)
// {
// //先打印奇数位
// i=i >> j;
// a=i & 1;
// printf("%d",a);
// }
// //打印偶数位
// printf("\n");
// printf("偶数位\n");
// for(j=1;j<32;j+=2)
// {
// i = i >> j;
// a = i & 1;
// printf("%d",a);
// }
//return 0;
//}
//输出一个整数的每一位
//int main ()
//{
// int i = 0;
// int tmp = 0;
// int bit = 1;
// scanf("%d",&i);
//
// // 计算这个数有几位
// tmp = i;
// while(tmp/10)
// {
// bit++;
// tmp=tmp/10;
// }
// // 取下每一位的数字
// while(i%10)
// {
// printf("%d\n",i%10);
// i=i/10;
// }
//
//return 0;
//}
编程实现:
两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
//int main()
//{
// int m = 0;
// int n = 0;
// int i = 0;
// int count = 0;
// scanf("%d%d",&m,&n);
// m=m^n;
// for(i=0;i<32;i++)
// {
// if(((m>>i) &1 ) == 1)
// {
// count++;
// }
// }
// printf("%d",count);
//return 0;
//}
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
用函数打印自己可以控制行列的乘法口诀表
//void Mul(int x, int y,int n)
//{
// for(x=1;x<=n;x++)
// {
// for(y=1;y<=x;y++)
// {
// printf("%2d*%2d=%2d ",x,y,x*y); //不要写成 printf("%2d*%2d=%2d",x*y);这样打印的是i*随机值
// }
// printf("\n");
// }
//}
//
//
//int main()
//{
// int i = 0;
// int j = 0;
// int n = 0;
// scanf("%d",&n);
// Mul (i,j,n);
//return 0 ;
//}
用函数的方式交换两个数
//void Swap (int *p1, int *p2)
//{
// int tmp = 0;
// tmp = *p1;
// *p1 = *p2;
// *p2 = tmp;
// printf("交换a和b:");
// printf("\n");
// printf("a=%d\nb=%d",*p1,*p2);
//}
//
//
//int main ()
//{
// int a = 0;
// int b = 0;
// printf("请输入a和b:");
// printf("\n");
// scanf("%d%d",&a,&b);
// Swap(&a,&b);
//
//return 0;
//}
用函数的方式判断是不是闰年
//void Year (int x)
//{
// if((x%4==0)&&(x%100 != 0)||(x%400==0))
// {
// printf("是闰年\n");
// }
// else
// {
// printf("不是闰年\n");
// }
//}
//
//
//int main()
//{
// int i = 0;
// printf("请输入年份:");
// scanf("%d",&i);
// Year (i);
//return 0;
//}
//创建一个数组,
//实现函数init()初始化数组、
//实现empty()清空数组、
//实现reverse()函数完成数组元素的逆置。
//要求:自己设计函数的参数,返回值。
初始化和清空数组
解法一
//void Init(int arr[],int sz)
//{
// int i = 0;
// for(i=0;i<sz;i++)
// {
// arr[i] = 1;
// }
//}
//
//void PrintArr(int arr[],int sz)
//{
// int i = 0;
// for(i=0;i<sz;i++)
// {
// printf("%d ",arr[i]);
// }
// printf("\n");
//}
//
//int main()
//{
// int arr[10] = {0};
// int sz = sizeof(arr)/sizeof(arr[0]);
// Init(arr,sz);
// PrintArr(arr,sz);
//return 0;
//}
解法二
//#include<string.h>
//memset这个函数只能初始化为0,因为他是一个字节一个字节
//的初始化
//Init(int arr[], int sz)
//{
// memset(arr,0,sz*sizeof(int));
//}
//
//void PrintArr(int arr[],int sz)
//{
// int i = 0;
// for(i=0;i<sz;i++)
// {
// printf("%d ",arr[i]);
// }
// printf("\n");
//}
//
//int main()
//{
// int arr[10] ={1};
// int sz = sizeof(arr)/sizeof(arr[0]);
// Init(arr,sz);
// PrintArr(arr,sz);
//return 0;
//}
数组元素的逆置
//void Reverse(int arr[],int sz)
//{
// int left = 0;
// int right = sz-1;
// int tmp = 0;
// while(left<right)
// {
// tmp = arr[left];
// arr[left] = arr[right];
// arr[right] = tmp;
// left++;
// right--;
// }
//
//}
//
//void PrintArr(int arr[],int sz)
//{
// int i = 0;
// for(i=0;i<sz;i++)
// {
// printf("%d ",arr[i]);
// }
// printf("\n");
//}
//
//int main()
//{
// int arr[10]={0,1,2,3,4,5,6,7,8,9};
// int sz = sizeof(arr)/sizeof(arr[0]);
// PrintArr(arr,sz);
// Reverse(arr,sz);
// PrintArr(arr,sz);
//return 0;
//}
实现一个函数,判断一个数是不是素数
//#include<math.h>
//Priem(int x)
//{
// int y = 0;
// for(y=2;y<=sqrt(x);y++)
// {
// if(0 == x%y)
// {
// printf("不是素数\n");
// break;
// }
// }
// if(y>sqrt(x))
// printf("是素数\n");
//}
//int main()
//{
// int i = 0;
// scanf("%d",&i);
// Priem(i);
//return 0;
//}
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。
//int main()
//{
// int killer = 0;
// for(killer = 'a'; killer<='d'; killer++)
// {
// if(3==(killer != 'a')
// +(killer == 'c')
// +(killer == 'd')
// +(killer != 'd'))
// {
// printf("%c\n",killer);
// }
// }
//return 0;
//}
打印杨辉三角
// //直角形的
//int main()
//{
// int arr[10][10]={0};
// int i = 0;
// int j = 0;
// int sz = 10;
//
// for(i=0;i<sz;i++)
// {
//
// for(j=0;j<sz;j++)
// {
// //打印斜列
// if(0==j)
// {
// arr[i][j] = 1;
// }
// if(i==j)
// {
// arr[i][j] = 1;
// }
// //打印中间
// if((i>1)&&(j>0))
// {
// arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
// }
// }
// }
//
// for(i=0;i<sz;i++)
// {
// for(j=0;j<=i;j++)
// {
// printf("%d ",arr[i][j]);
// }
// printf("\n");
// }
//
//return 0;
//}
等腰三角形的
//打印杨辉三角
//int main()
//{
// int arr[10][10]={0};
// int i = 0;
// int j = 0;
// int sz = 10;
//
// for(i=0;i<sz;i++)
// {
//
//
// for(j=0;j<sz;j++)
// {
// //打印斜列
// if(0==j)
// {
// arr[i][j] = 1;
// }
// if(i==j) //若改为 if(sz==j)
// {
// arr[i][j] = 1;
// }
// //打印中间
// if((i>1)&&(j>0))
// {
// arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
// }
// }
//
// }
//
// for(i=0;i<sz;i++)
// { //打印空格
// for(j=0;j<(sz-i-1);j++)
// {
// printf(" ");
// }
// //和前面一处一起改的
// for(j=0;j<=i;j++) //此处若改为 for(j=0;j<i;j++) 也可以打印出,不过少了一行
// {
// printf("%3d ",arr[i][j]);
// }
// printf("\n");
// printf("\n");
//
// }
//
//return 0;
//}
//int main()
//{
// int i = 0;
// int j = 0;
// int arr[10][10] = {0};
// int sz = 10;
//
// for(i=0;i<sz;i++)
// {
// //打印空格
// for(j=0;j<sz-i;j++)
// {
// printf(" ");
// }
//
// for(j=0;j<sz;j++)
// {
// //先打印斜边
// if((0==j)||(sz==j))
// {
// arr[i][j] = 1;
// }
//
// //打印中间
// if(i>1&&j>0)
// {
// arr[i][j] = arr[i-1][j-1]+arr[i-1][j];
// }
// }
//
// for(j=0;j<i;j++)
// {
// printf("%3d ",arr[i][j]);
// }
// printf("\n");
// printf("\n");
// }
//return 0;
//}