建设银行暑期招聘网站,网站建设案例简介怎么写,厦门电商网站建设,上海网站建设的网站目录 1、下面代码输出多少#xff0c;为什么#xff1f;
2、你要好好学习么#xff1f;
3、一直写代码#xff0c;
4、两个数求最大值
5、输入1-5输出工作日#xff0c;输入6-7输出休息日#xff0c;其他输入错误
6、写一个输入密码的代码
7、怎么样当输入数字时候…目录 1、下面代码输出多少为什么
2、你要好好学习么
3、一直写代码
4、两个数求最大值
5、输入1-5输出工作日输入6-7输出休息日其他输入错误
6、写一个输入密码的代码
7、怎么样当输入数字时候打印输入字母的时候不打印呢
8、计算 n的阶乘。
9、计算 1!2!3!......10!
10、在一个有序数组中查找具体的某个数字n。
11、编写代码演示多个字符从两端移动向中间汇聚。
12、编写代码实现模拟用户登录情景并且只能登录三次。
13、写一个猜数字游戏鹏哥C_37
14、输入3个整数输出按大到小的顺序输出
15、求两个数的最大公约数
16、打印出来1000年到2000年之间的闰年
17、写一个代码: 打印100~200之间的素数
18、自动关机的程序
19、复制字符串
20、内存设置
21、写一个函数交换两个整形变量的值
22、写一个函数可以判断一个数是不是素数。
23、写一个二分查找的函数
24、写一个函数每调用一次这个函数就会将num的值增加1。
25、接受一个整型值(无符号)按照顺序打印它的每一位。
26、编写函数求字符串的长度
27、用递归的方法求n的阶乘
28、求第n个斐波那契数。( 不考虑溢出 ) 1、下面代码输出多少为什么
#includestring.h
int main()
{printf(%d\n,strlen(c:\test\328\test.c)); return 0;
输出为14
因为\t转义字符算一个字符\32算一个字符\ddd8进制中最大为7。
2、你要好好学习么
如果你要好好学习请输出1就会打印好工作否则打印回家卖红薯。
#includestdio.h
int main()
{int input 0;printf(你要好好学习么\n);printf(如果好好学习请输入1 :);scanf(%d,input);if(input 1){printf(好工作\n);}else{printf(回家卖红薯\n);}return 0;
}
3、一直写代码
输出“写代码行数”一直到1000行的时候停止输出好工作。
int main()
{int i 0;while(i1000){printf(写代码第%d行\n,i);i;}if(i 1000){printf(好工作\n);}return 0;
}4、两个数求最大值
要求输入两个数字写一个函数输出最大值用条件操作符
int MAX(int x,int y)
{return (xy?x:y);
}
int main()
{int a 0;int b 0;scanf(%d %d,a,b);printf(%d\n,MAX(a,b));return 0;
}
5、输入1-5输出工作日输入6-7输出休息日其他输入错误
int main()
{int day 0;scanf(%d,day);switch(day){case 1:case 2:case 3:case 4:case 5:printf(工作日\n);break;case 6:case 7:printf(休息日\n);break;default:printf(输入错误\n);}return 0;
}
6、写一个输入密码的代码
要求
1.输出“请输入密码”
2.输入abc 123时候再输出“请选择Y/N”
3.如果输入Y输出“确认成功”否则输出“确认失败”
int main()
{char password[20] { 0 };printf(请输入密码:);scanf(%s,password);printf(请确认密码(Y/N):);//清理缓冲区,处理\n//getchar();//清理缓冲区的多个字符int tmp 0;while((tmp getchar()) ! \n){;}int ch getchar();if(ch Y){printf(确认成功\n);}else{printf(确认失败\n);}return 0;
}
7、怎么样当输入数字时候打印输入字母的时候不打印呢
int main()
{int ch 0;while((ch getchar()) ! EOF){if(ch0 || ch9) //这里0-9就是ASSIC的值continue;putchar(ch);}return 0;
}
8、计算 n的阶乘。
int main()
{int i 0;int n 0;int ret 1;scanf(%d,n);for(i1; in; i){ret*i;}printf(%d\n,ret);return 0;
}
9、计算 1!2!3!......10!
int main()
{int i 0;int n 0;int ret 1;int sum 0;scanf(%d,n);for(i1; in; i){ret*i;sum sumret;}printf(%d\n,sum);return 0;
}
10、在一个有序数组中查找具体的某个数字n。
#includestdio.hint main()
{int arr[10] {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(leftright){int mid (left right) / 2;if(k arr[mid]){left mid 1;}else if(k arr[mid]){right mid - 1;}else{printf(找到了为:第%d位数\n,mid);break;}}if(left right){printf(找不到\n);}return 0;
}
11、编写代码演示多个字符从两端移动向中间汇聚。
例如如下
*elcome to bit!!!!!!*
**lcome to bit!!!!!**
***come to bit!!!!***
****ome to bit!!!****
*****me to bit!!*****
******e to bit!******
******* to bit*******
********to bi********
*********o b*********
********** **********
*********************
请按任意键继续. . .
#includestring.h
#includewindows.h
int main()
{char arr1[] welcome to bit!!!!!!!;char arr2[] *********************;int left 0;int right strlen(arr1) - 1;while(leftright){arr1[left] arr2[left];arr1[right] arr2[right];left;right--;printf(%s\n,arr1);//Sleep(1000); //睡眠1秒//system(cls); //清空屏幕}return 0;
}
12、编写代码实现模拟用户登录情景并且只能登录三次。
(只允许输入三次密码如果密码正确则提示登录成如果三次均输入错误则退出程序。
#includestring.h
int main()
{int i 0;char password[20]{ 0 }; for(i 0; i3; i){printf(请输出密码:);scanf(%s,password);//if(password 123456) 这样比较字符是错误的if(strcmp(password,123456) 0){printf(登录成功\n);break;}else{printf(密码输出错误请重新输入\n);}}if(i 3){printf(密码输入错误3次退出程序\n);}return 0;
}
13、写一个猜数字游戏鹏哥C_37
1.自动产生一个1-100之间的随机数 2.猜数字 a.猜对了就恭喜你游戏结束 b.你猜错了会告诉猜大了还是猜小了继续猜直到猜对
#includestdlib.h
#includetime.h
void game()
{int guess 0;int ret (rand()%100)1;while(1){printf(请猜数字:);scanf(%d,guess);if(guess ret){printf(猜小了\n);}else if(guess ret){printf(猜大了\n);}else{printf(猜对了恭喜你\n);break;}}
}
int main()
{srand((unsigned int)time(NULL));int input 0;do{menu();printf(请选择:);scanf(%d,input);switch(input){case 1:printf(游戏开始\n);game();break;case 0:printf(退出游戏\n);break;default:printf(输入错误请重新输入:\n);break;}}while(input);return 0;
}
14、输入3个整数输出按大到小的顺序输出
#includestdlib.h
#includetime.h
void game()
{int guess 0;int ret (rand()%100)1;while(1){printf(请猜数字:);scanf(%d,guess);if(guess ret){printf(猜小了\n);}else if(guess ret){printf(猜大了\n);}else{printf(猜对了恭喜你\n);break;}}
}
int main()
{srand((unsigned int)time(NULL));int input 0;do{menu();printf(请选择:);scanf(%d,input);switch(input){case 1:printf(游戏开始\n);game();break;case 0:printf(退出游戏\n);break;default:printf(输入错误请重新输入:\n);break;}}while(input);return 0;
}
15、求两个数的最大公约数
int main()
{int m 0;int n 0;scanf(%d %d,m,n);int max mn? m:n;int i 0;for(imax; i1; i--){if((m%i 0)(n%i 0)){printf(最大公约数是%d\n,i);break;}}return 0;
}
或者也可以用辗转相除法
int main()
{int m 0;int n 0;scanf(%d %d,m,n);int t 0;while(tm%n){m n;n t;}printf(最大公约数就是%d,n);return 0;
}
16、打印出来1000年到2000年之间的闰年
要求
打印出来1000年到2000年之间的闰年。打印出来一共从1000年到2000年闰年的个数。闰年是 1.能被4整除不能被100整除 2.能被400整除
int main()
{int y 0;int count 0;for(y 1000; y2000; y){if(((y%40)(y%100 !0))||(y%400 0)){printf(%d ,y);count;}}printf(\n一共%d个闰年\n,count);return 0;
}
17、写一个代码: 打印100~200之间的素数
要求素数就是只能被1和本身整除的树。
int main()
{int i 0;for(i100; i200; i){int j 0;for(j2; ji; j){if(i%j 0){break;}}if(i j){printf(%d ,i);}}return 0;
}
或者
int main()
{int i 0;int count 0;for(i100; i200; i){int j 0;int flag 1; //设置一个标签for(j2; ji; j){if(i%j 0){flag 0;//当可以整除的时候标签就设置为1break;}}if(flag 1)//当标签一直为1说明就没有进去整除{count;printf(%d ,i);}}printf(\n一共%d个\n,count);return 0;
}
18、自动关机的程序
要求如果输入我是猪就取消关机如果输入错误在次提示请重新输入
利用goto语句写一个
#includestring.h
#includestdlib.h
int main()
{char input[20] {0};system(shutdown -s -t 60);
begin:printf(请注意60秒后关机如果取消关机请输入我是猪\n);scanf(%s,input);if(strcmp(input,我是猪) 0){system(shutdown -a);}else{goto begin;}return 0;
}
不要goto语句写一个
#includestdlib.h
#includestring.h
int main()
{char input[20] { 0 };system(shutdown -s -t 60);while(1){printf(电脑即将再60秒后关机请输入“我是猪”结束关机\n);scanf(%s,input);if(strcmp(input,我是猪)0){system(shutdown -a);break;}}return 0;
}
19、复制字符串
要求 一个数组arr1只有一个0另外一个数组arr2里有hello bit把arr2里面的字符串复制到arr1中并且打印arr1
#includestring.h
int main()
{char arr1[20] {0};char arr2[] hello bit;strcpy(arr1,arr2);printf(%s\n,arr1);return 0;
}
20、内存设置
要求 arr里有字符串为hello bit现在需要把arr里面的前5个字符改成x输入为xxxxx bit
#includestring.h
int main()
{char arr[] hello bit;memset(arr,x,5);printf(%s\n,arr);return 0;
}
21、写一个函数交换两个整形变量的值
void Switch(int* pa,int* pb)
{int tmp *pa;*pa *pb;*pb tmp;
}
int main()
{int a 10;int b 20;Switch(a,b);printf(a%d\nb%d\n,a,b);return 0;
}
22、写一个函数可以判断一个数是不是素数。
要求求出100到200之间所有的素数
int is_prime(int n)
{int i 0;for(i2;in;i){if(n%i 0){return 0;}}return 1;
}
int main()
{int i 0;int count 0;for(i100;i200; i){if(is_prime(i) 1){printf(%d ,i);count;}}printf(\n一共%d个\n,count);return 0;
}
23、写一个二分查找的函数
要求数组{12345678910}找里面的7在数组下标
int find(int *arr,int sz,int k)
{int left 0;int right sz - 1;int mid 0;while(leftright){mid (left right)/2;if(karr[mid]){right mid - 1;}else if(karr[mid]){left mid 1;}else{return mid;}}return -1;
}
int main()
{int arr[] {1,2,3,4,5,6,7,8,9,10};int sz sizeof(arr) / sizeof(arr[0]);int k 7;int ret find(arr,sz,k);if(ret ! -1){printf(下标为%d\n,ret);}elseprintf(找不到\n);return 0;
}
24、写一个函数每调用一次这个函数就会将num的值增加1。
void ADD(int* p)
{(*p);
}
int main()
{int num 0;ADD(num);printf(%d\n,num); ADD(num);printf(%d\n,num); ADD(num);printf(%d\n,num);return 0;
}
25、接受一个整型值(无符号)按照顺序打印它的每一位。
例如:输入:1234输出1234.
void print(unsigned int n)
{if(n9){print(n/10);}printf(%d ,n%10);
}
int main()
{unsigned int num 0;scanf(%d,num);print(num);return 0;
}
26、编写函数求字符串的长度
分别用创建临时变量方式和不允许创建临时变量的方式
创建临时变量方式
int my_strlen(char* str)
{int count 0;while(*str ! \0){count;str;}return count;
}
int main()
{char arr[] hello;printf(%d\n,my_strlen(arr));return 0;
}
不允许创建临时变量的方式
int my_strlen(char* str)
{if(*str ! \0){return 1 my_strlen(str1) ;}elsereturn 0;
}
int main()
{char arr[] hello;printf(%d\n,my_strlen(arr));return 0;
}
27、用递归的方法求n的阶乘
int Fac(int n)
{if(n1)return 1;elsereturn n*Fac(n-1);}
int main()
{int n 0;scanf(%d,n);printf(%d\n,Fac(n));return 0;
}
28、求第n个斐波那契数。( 不考虑溢出 )
提示前两个数之和等于第三个数例如1 1 2 3 5 8 13 21 ...
并且说明递归和迭代的区别
int Fac(int n)
{if(n2)return 1;elsereturn Fac(n-1)Fac(n-2);
}
int main()
{int n 0;scanf(%d,n);printf(%d\n,Fac(n));return 0;
}
以上用递归的方法计算的效率比较低用迭代的化效率高如下
int Fac(int n)
{int a 1;int b 1;int c 1;while(n2){c a b;a b;b c;n--;}return c;
}
int main()
{int n 0;scanf(%d,n);printf(%d\n,Fac(n));return 0;
}
以上的例子可以区别出递归和迭代的区别
递归就是指程序调用自身的编程思想即一个函数调用本身递归是重复调用函数自身实现循环。迭代是利用已知的变量值根据递推公式不断演进得到变量新值得编程思想迭代是函数内某段代码实现循环。而迭代与普通循环的区别是循环代码中参与运算的变量同时是保存结果的变量当前保存的结果作为下一次循环计算的初始值。迭代与普通循环的区别是迭代时循环代码中参与运算的变量同时是保存结果的变量当前保存的结果作为下一次循环计算的初始值。递归与普通循环的区别是循环是有去无回而递归则是有去有回(因为存在终止条件)。在循环的次数较大的时候迭代的效率明显高于递归。C语言初识(1) | C简介 | 主函数 | 数据类型
C语言初识(2) | 变量和常量
C语言初识(3) | 字符串 | 转译字符
C语言初识(4) | 顺序 | 选择 | 循环
C语言初识(5) | 函数 | 数组 | 操作符
C语言初识(6) | 关键字
C语言初识(7) | 指针| 结构体 | define
C语言初阶(8) | 选择结构 | if_else | switch
C语言初阶(9) | while | break | continue | getchar
C语言初阶(10) | 初识for循环 | 入门