运行环境:vs2013

1.求两个整数的较大值

#include<stdio.h>
#include<stdlib.h>
int main()
{int num1, num2;printf("---------您需要输入两个整数------------\n");printf("---------------------------------------\n");printf("请输入第一个整数:\n");scanf_s("%d",&num1);printf("请输入第二个整数:\n");scanf_s("\n%d",&num2);/*也可以表示为int max=(num1>mun2)?num1:num2;printf("较大的数为:%d\n",max);*/printf("较大的数为:%d\n",(num1>num2)?num1:num2);system("pause");return 0;
}

2. 0到100可以被整除的数

#include<stdio.h>
#include<stdlib.h>
int main()
{printf("请输入一个被除数:\n");int num1 = 0;scanf_s("%d",&num1);printf("0到100可以被%d整除的数有:\n",num1);for (int i = 1; i <= 100; i++){if (i%num1 == 0)printf("%d\n",i);}system("pause");return 0;
}

3. 鸡兔同笼
已知:头共有88个,脚共有244只。

#include<stdio.h>
#include<stdlib.h>
int main()
{int x=0, y=0;        //假设鸡的数量为x,兔的数量为yfor (x = 0; x <= 88; x++){y = 88 - x;if (x * 2 + 4 * y == 244){printf("鸡的数量为:%d\n兔的数量为:%d\n", x, y);}}system("pause");return 0;
}

4.超简单的计算器
只是用来熟悉switch语句。

#include<stdio.h>
#include<stdlib.h>
int main()
{while (1){float x = 0, y = 0;char ch;printf("请输入:\n");scanf_s("%f", &x);ch = getchar();scanf_s("%f", &y);switch (ch){case '+':printf("%f\n", x + y);break;case '-':printf("%f\n", x - y);break;case '*':printf("%f\n", x*y);break;case '/':if (y == 0)printf("除数不能为0!\n");elseprintf("%f\n", x / y);break;default:printf("超纲啦!\n");}}system("pause");return 0;
}

5. 成绩等级划分

/*
#include<stdio.h>
#include<stdlib.h>
int main()
{int score = 0;printf("请输入一个成绩:\n");scanf_s("%d",&score);if (score > 100 || score < 0){printf("成绩输入错误!\n");}else if (score >= 90)printf("等级为A\n");else if (score >= 80 && score < 90)printf("等级为B\n");else if (score >= 70 && score < 80)printf("等级为C\n");else if (score >= 60 && score < 70)printf("等级为D\n");elseprintf("等级为E\n");system("pause");return 0;
}
*/#include<stdio.h>
#include<stdlib.h>
int main()
{int score = 0;int num = 0;printf("请输入成绩:\n");scanf_s("%d", &score);if (score >= 0 && score <= 100){num = score / 10;switch (num){case 10:case 9:printf("等级为A\n\n");break;case 8:printf("等级为B\n\n");break;case 7:printf("等级为C\n\n");break;case 6:printf("等级为D\n\n");break;default:printf("等级为E\n\n");break;}}elseprintf("成绩输入错误!\n");system("pause");return 0;
}

6. 最简单的密码

#include<stdio.h>
#include<stdlib.h>
int main()
{int x = 123456;int y = 0;printf("请输入密码:\n");scanf_s("%d",&y);if (x == y){printf("输入正确,欢迎使用!\n");}elseprintf("密码错误,即将退出程序!\n");system("pause");return 0;
}

7. if / else if ,可以写猜数字游戏

#include<stdio.h>
#include<stdlib.h>
int main()
{int x = 0, y = 0;printf("请输入第一个数字:\n");scanf_s("%d",&x);printf("请输入第二个数字:\n");scanf_s("%d",&y);if (x*y > 5000)printf("它们的乘积大于5000\n");else if (x*y == 5000)printf("它们的乘积等于5000\n");elseprintf("它们的乘积小于5000\n");system("pause");return 0;
}

8. 判断闰年

#include<stdio.h>
#include<stdlib.h>
int main()
{int year = 0;printf("请输入年份:\n");scanf_s("%d",&year);if (year % 100 == 0 && year % 400 == 0){printf("这一年是世纪年并且是闰年\n");}else if (year % 4 == 0 && year % 100 != 0){printf("这一年是普通年并且是闰年");}elseprintf("这不是闰年");system("pause");return 0;
}

9. 判断输入的字符类型

#include<stdio.h>
#include<stdlib.h>
int main()
{char ch;printf("请输入一个字符:\n");ch = getchar();if (ch>='0'&&ch<='9'){printf("这是一个数字!\n");}if (ch >= 'a'&&ch <= 'z'){printf("这是一个小写字母!\n");}if (ch >= 'A'&&ch <= 'Z'){printf("这是一个大写字母!\n");}system("pause");return 0;
}

10. 输入日期查询所属星座

#include<stdio.h>
#include<stdlib.h>
int main()
{int month = 0;int day = 0;printf("请输入月份:\n");scanf_s("%d",&month);if(month > 12 || month < 1){printf("月份输入错误!\n");}printf("请输入日期:\n");scanf_s("\n%d", &day);if (day>31 || day <1){printf("日期输入错误!\n");}else if (month == 2 && day>29)printf("日期输入错误!\n");else{switch (month){case 1:if (day >= 21 && day <= 31)printf("宝瓶座");elseprintf("摩羯座");break;case 2:if ( day <= 20)printf("宝瓶座");elseprintf("双鱼座");break;case 3:if (day <= 20)printf("双鱼座");elseprintf("白羊座");break;case 4:if ( day <= 20)printf("白羊座");elseprintf("金牛座");break;case 5:if (day <= 20)printf("金牛座");elseprintf("双子座");break;case 6:if ( day <= 20)printf("双子座");elseprintf("巨蟹座");break;case 7:if ( day <= 22)printf("巨蟹座");elseprintf("狮子座");break;case 8:if ( day <= 22)printf("狮子座");elseprintf("处女座");break;case 9:if (day <= 22)printf("处女座");elseprintf("天秤座");break;case 10:if ( day <= 22)printf("天秤座");elseprintf("天蝎座");break;case 11:if ( day <= 22)printf("天蝎座");elseprintf("人马座");break;case 12:if ( day <= 22)printf("人马座");elseprintf("摩羯座");break;default:printf("输入错误!");break;}}system("pause");return 0;
}

11. 输入字母的大小写转换

#include<stdio.h>
#include<stdlib.h>
int main()
{char ch;ch = getchar();if (ch >= 'a' && ch <= 'z'){printf("对应的大写字母为%c\n",ch - 32);}else if (ch >= 'A' && ch <= 'Z')printf("原样输出为%c\n", ch);elseprintf("输入错误!\n");system("pause");return 0;
}

12. 求100以内3的倍数和

#include<stdio.h>
#include<stdlib.h>
int main()
{int sum = 0;for (int i = 1; i <= 100; i++){if (i % 3 == 0){sum += i;printf("sum=%d 当前循环次数为i=%d\n", sum, i / 3);}}printf("结果为%d\n", sum);system("pause");return 0;
}

13. 求100以内偶数的和

#include<stdio.h>
#include<stdlib.h>
int main()
{int sum = 0;int i=0;for (i = 0; i <= 100; i = i++){if (i % 2 == 0){sum += i;printf("sum=%d 当前循环次数为i=%d\n", sum, i / 2 + 1);}}printf("100以内偶数之和为%d\n", sum);system("pause");return 0;
}

14. do-while实现循环累加

#include<stdio.h>
#include<stdlib.h>
int main()
{int sum = 0;int i = 0;do                       //do语句先做循环后做判断,这是与其他语句的不同{i++;sum += i;printf("sum=%d 当前循环次数为i=%d\n",sum,i);} while (i < 100);      //取<=100的话,当i=100时,还要做一次循环,会多加一个101的值;printf("结果为%d\n",sum);system("pause");return 0;
}

15. for循环实现循环累加

#include<stdio.h>
#include<stdlib.h>
int main()
{int sum = 0;for (int i = 1; i <= 100; i++){sum +=i;printf("sum=%d 当前循环次数为i=%d\n",sum,i);}printf("从1加到100的结果为%d\n",sum);system("pause");return 0;
}

16. while循环实现累加

#include<stdio.h>
#include<stdlib.h>
int main()
{int i = 1;int sum = 0;while (i <= 100){sum = sum + i;printf("sum=%d 当前循环次数为i=%d\n",sum,i);i++;}printf("从1加到100的结果为%d\n",sum);system("pause");return 0;
}

17. 倒三角打印九九乘法表

#include<stdio.h>
#include<stdlib.h>
int main()
{int i, j;for (j = 1; j <= 9; j++){for (i = j; i <= 9; i++){printf("%d*%d=%d ",j,i, i*j);}printf("\n");}system("pause");return 0;
}

19. 求m的n次方

#include<stdio.h>
#include<stdlib.h>
int main()
{int m = 0, n = 0;int k = 1;printf("请输入m:");scanf_s("%d",&m);printf("请输入n:");scanf_s(" %d",&n);if (n == 0)printf("结果为1\n");else if (n == 1)printf("结果为%d\n",m);else{for (int j = 1; j <= n; j++)k *= m;printf("结果为%d\n", k);}system("pause");return 0;
}

20. 用*号打印三角形

#include<stdio.h>
#include<stdlib.h>
int main()
{for (int i = 0; i < 6; i++){for (int j = 0; j <6-1-i; j++)            //打印空格数{printf(" ");}for (int k = 0; k < 2 * i+1; k++)          //打印*号数printf("*");printf("\n");}system("pause");return 0;
}

21. 从输入的多个数中找到最大值

#include<stdio.h>
#include<stdlib.h>
int main()
{int max = 0;printf("请输入六个数:\n");for (int i = 0; i < 6; i++){int num = 0;scanf_s("%d",&num);if (i == 0){max = num;}else if (max<num){max = num;}}printf("max=%d\n",max);system("pause");return 0;
}

22. 韩信点兵
已知:士兵站3列余2个,站5列余3个,站7列余4个,求士兵最少多少人。

#include<stdio.h>
#include<stdlib.h>
int main()
{int n = 1;while (1){if (n % 3 == 2 && n % 5 == 3 && n % 7 == 4){break;}n++;}printf("人数至少为%d人\n",n);system("pause");return 0;
}

23. 求1-2+3-4+5-6…+99-100的结果

#include<stdio.h>
#include<stdlib.h>
int main()
{int sum = 0;for (int i = 1; i <= 100; i++){if (i % 2 == 0){sum -= i;}elsesum += i;}printf("结果为%d\n",sum);system("pause");return 0;
}

24. 给出时间,打印下一秒的时刻

#include<stdio.h>
#include<stdlib.h>
int main()
{int a = 0, b = 0, c = 0;printf("请输入时\n");scanf_s("%d",&a);printf("请输入分\n");scanf_s("\n%d", &b);printf("请输入秒\n");scanf_s("\n%d", &c);if ((a >= 0 && a <= 23) && (b >= 0 && b <= 59) && (c >= 0 && c <= 59)){if (c == 59 && b != 59)printf("%.2d:%.2d:00\n", a, b + 1);else if (c == 59 && b == 59 && a != 23)printf("%.2d:00:00\n", a + 1);else if (c == 59 && b == 59 && a == 23)printf("00:00:00\n");elseprintf("%.2d:%.2d:%d\n",a,b,c+1);}else{printf("输入错误!\n");}system("pause");return 0;
}

25. 数组赋值与打印

#include<stdio.h>
#include<stdlib.h>
int main()
{int arr[6] = {};for (int i = 0; i < 6; i++){arr[i] = (i + 1) * 2;printf("arr[%d]=%d\n",i,arr[i]);}system("pause");return 0;
}

26. 数组求和

#include<stdio.h>
#include<stdlib.h>
int main()
{int arr[5] = {0};int sum = 0;printf("请输入:\n");for (int i = 0; i <5; i++){scanf_s("%d",&arr[i]);sum += arr[i];}printf("sum=%d\n", sum);system("pause");return 0;
}

27. 有次数限制的密码输入

#include<stdio.h>
#include<stdlib.h>
int main()
{int pass = 0;int i = 1;while (1){if (i == 1)printf("请输入密码:");else {printf("密码错误,还有%d次机会,请重新输入:", 6 - i);}scanf_s("%d",&pass);{if (pass == 123456){printf("输入正确,欢迎使用!\n");break;}else if (i >= 1 && i < 5){i++;}else if (i = 5){printf("今日次数已用完,请明日再试!\n");break;}}}system("pause");return 0;
}

28. 找水仙花数

#include<stdio.h>
#include<stdlib.h>
int main()
{int a = 0, b = 0, c = 0;for (int i = 100; i <= 999; i++)         //水仙花数是三位数{a = i / 100;                         //a得到的值为三位数的百位数b = i / 10 % 10;                     //a得到的值为三位数的十位数c = i % 10;                          //a得到的值为三位数的个位数if (i == a*a*a+ b*b*b+c*c*c)printf("水仙花数有%d\n",i);}system("pause");return 0;
}

29. 数组的输入与拷贝

#include<stdio.h>
#include<stdlib.h>
int main()
{int arr1[5] = {0};int arr2[5] = {0};int i = 0;for (int i = 0; i < 5; i++){scanf_s("%d",&arr1[i]);arr2[i] = arr1[i];}for (i = 0; i < 5;i++)                      //打印for循环的结果要再进行一次for循环printf("arr2[%d]=%d\n", i, arr2[i]);/*for (int j = 0; j < 5; j++)              可以再for循环一下进行拷贝{arr2[j] = arr1[j];printf("arr2[%d]=%d\n",j, arr2[j]);}*/system("pause");return 0;
}

30. 求数组元素中偶数的和

#include<stdio.h>
#include<stdlib.h>
int main()
{int i = 0;int sum = 0;int arr[10] = {0};for (int i = 0; i < 6; i++)                  //从终端输入数组元素{scanf_s("%d",&arr[i]);}for (i = 0; i < 6; i++)                      //调用数组{                                            //将偶数的和加在一起存放在sum里if (arr[i] % 2 == 0){sum += arr[i];}}printf("sum=%d\n", sum);system("pause");return 0;
}

31. 将输入数组的多个个位数,按从后向前的顺序组成一个多位数。

#include<stdio.h>
#include<stdlib.h>
int main()
{//输入0-9的数组元素,让它倒着输出一个整数int arr[5] = {0};printf("请输入5个0-9之间的数:\n");for (int i = 0; i < 5; i++){scanf_s("%d",&arr[i]);}int number = 0;for (int j = 4; j >= 0; j--)            //从输入数组元素的最后一个开始{number = number * 10 + arr[j];}printf("number=%d\n",number);system("pause");return 0;
}

32. 将数组中的元素整体向前移动
如输入12345,输出23451

#include<stdio.h>
#include<stdlib.h>
int main()
{ //输入进去的数整体向前移动移位,如输入12345,输出23451int arr[5] = {0};for (int i = 0; i < 5; i++){scanf_s("%d",&arr[i]);}int first = arr[0];                 //先把第一个值赋给firstfor (int i = 0; i<4; i++){arr[i] = arr[i+1];             //依次把后面的值赋给前一个}arr[4] = first;                       //把first即第一个的值赋给最后一个for (int i = 0; i < 5; i++){printf("%d ",arr[i]);}putchar('\n');system("pause");return 0;
}

33. 将数组中元素倒序放进另一个数组输出

#include<stdio.h>
#include<stdlib.h>
int main()
{int arr[6] = { 0 };int i = 0;for (int i = 0; i < 6; i++){scanf_s("%d", &arr[i]);}for (int i = 0; i < 6/2; i++)                    //将数组前面和后面的元素对调,循环次数为数组元素的一半 {int temp = arr[i];arr[i] = arr[5-i];arr[5 - i] = temp;}for (int i = 0; i < 6; i++){printf("arr[%d]=%d\n", i, arr[i]);}system("pause");return 0;
}

34. 找到数组中连续三个元素和最大的子集
思路:将前三个元素和看作是一个数,再依次向后移动一位,依次作比较。

/*#include<stdio.h>
#include<stdlib.h>
int main()
{int arr[10];for (int i = 0; i < 10; i++){scanf_s("%d",&arr[i]);}int arr2[3] = {0};int max = arr[0]+arr[1]+arr[2];int sum = 0;for (int i = 0; i < 8; i++)            //最后三个之后没有连续的三个元素,最后两个元素不再循环{sum = arr[i] + arr[i + 1] + arr[i + 2];if (max < sum){max = sum;arr2[0] = arr[i];arr2[1] = arr[i + 1];arr2[2] = arr[i + 2];}}printf("最大和为%d arr2[0]=%d arr2[1]=%d arr2[2]=%d",max,arr2[0],arr2[1],arr2[2]);system("pause");return 0;
}
*/#include<stdio.h>
#include<stdlib.h>
int main()
{int arr[10];for (int i = 0; i < 10; i++){scanf_s("%d", &arr[i]);}int index = 0;int max = arr[0] + arr[1] + arr[2];int sum = 0;for (int i = 0; i < 8; i++){sum = arr[i] + arr[i + 1] + arr[i + 2];if (max < sum){max = sum;index = i;}}for (int i = index; i <= index + 2; i++){printf("%d ", arr[i]);}system("pause");return 0;
}

35. 找到数组的最大公约数
思路:先找到数组中最小的数,因为最大公约数不会超过这个最小的数,再从这个最小的数依次向下找,直到数组所有数都能被整除。

#include<stdio.h>
#include<stdlib.h>
int main()
{int arr[5] = {0};int min = 0;for (int i = 0; i < 5; i++)               //找到数组中最小的数,因为最大公约数不会超过这个最小的数{scanf_s("%d",&arr[i]);if (i == 0){min = arr[0];}if (min>arr[i]){min = arr[i];}}while(1){int a = 0;for (int i = min; i >= 1; i--)                   //从这个最小的数开始往下找到最大公约数{for (int j = 0; j < 5; j++)            if (arr[j] % i != 0)                         //判断数组中的每个数是否可以被i整除{a = 1;}if (a == 0){printf("最大公约数为%d\n", i);break;}}break;}system("pause");return 0;
}

36. 找到数组的最小公倍数
与上题类似,也应该先找到数组中最大的数。

#include<stdio.h>
#include<stdlib.h>
int main()
{int arr[5] = {0};for (int i = 0; i < 5; i++){scanf_s("%d", &arr[i]);}int num = 1;while (1){int a = 0;for (int i = 0; i < 5; i++){if (num%arr[i] != 0){a = 1;}}if (a ==0){printf("最小公倍数为%d\n", num);break;}num++;}system("pause");return 0;
}

37. 删除数组中的某个元素
思路:直接从要删除的元素位置开始,将其后面的元素依次向前移动,直接将要删除的元素覆盖就可以。

#include<stdio.h>
#include<stdlib.h>
int main()
{int arr[10];int i = 0;for (int i = 0; i < 10; i++){scanf_s("%d", &arr[i]);}for (int i = 2; i< 10; i++)              //从前往前移  ,直接将要删除的元素用后面的元素覆盖就可以了   {arr[i] = arr[i+1];                   //将后面位置的值赋给前一个位置}for (int i = 0; i < 10; i++)               //只是少了一个元素,数组的长度不改变,所以还是循环10次,但是最后一个元素位置将存储一个任意值{printf("%d ", arr[i]);}system("pause");return 0;
}

38. 在数组中插入一个元素
思路:以要插入元素的位置为届,将其后面的元素从后向后移,这样才不会造成元素覆盖,将要插入元素的位置腾空,就可以直接插入元素值了。

#include<stdio.h>
#include<stdlib.h>
int main()
{//在长度为10的数组中输入9个数,然后在第五个位置插入一个数23,原来的数一次往后移int arr[10];int i = 0;for (int i = 0; i < 9; i++){scanf_s("%d",&arr[i]);}for (int i = 8; i >= 4; i--)                //从最后一个元素往后移,如果从前面开始向后移的话,后面的元素会被覆盖{arr[i+1] = arr[i];}arr[4] = 23;for (int i = 0; i < 10; i++){printf("%d ", arr[i]);}system("pause");return 0;
}

39. 找到数组中最大元素的下标

#include<stdio.h>
#include<stdlib.h>
int main()
{int arr[10];for (int i = 0; i < 10; i++){scanf_s("%d",&arr[i]);}int max = arr[0];int index = 0;for (int i = 0; i < 10; i++){if (max < arr[i])                               //  <找到第一个最大的元素;<=找到最后一个最大的元素{max = arr[i];index = i;}  }for (int i = 0; i < 10; i++){if (max == arr[i])                             //找到相同时最大值的下标printf("最大值的下标为%d ", i);}printf("max=%d index=%d\n",max,index);system("pause");return 0;
}

40. 遍历输入输出二维数组

#include<stdio.h>
#include<stdlib.h>
int main()
{int arr[2][3];for (int i = 0; i < 2; i++){for (int j = 0; j < 3; j++){scanf_s("%d",&arr[i][j]);}}for (int i = 0; i < 2; i++){for (int j = 0; j < 3; j++){printf("arr[%d][%d]=%d\n",i,j,arr[i][j]);}printf("\n");}system("pause");return 0;
}

41. 求两个二维数组对应位置的元素和

#include<stdio.h>
#include<stdlib.h>
int main()
{int arr1[3][4];int arr2[3][4];int i, j;printf("请为第一个二维数组赋值:\n");for (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){scanf_s("%d",&arr1[i][j]);}}printf("请为第二个二维数组赋值:\n");for (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){scanf_s("%d", &arr2[i][j]);}}for (int k = 0; k < 3; k++){for (int m = 0; m < 4; m++){printf("%d+%d=%d  ", arr1[k][m], arr2[k][m], arr1[k][m]+arr2[k][m]);}printf("\n");}system("pause");return 0;
}

42. 二维数组从小到大排序
思路:先将二维数组转为一维数组,再按照一维数组排序比较的方法实现。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{int arr[2][3];for (int i = 0; i < 2; i++){for (int j = 0; j < 3; j++){scanf_s("%d", &arr[i][j]);}}int arr1[6];int index = 0;for (int i = 0; i < 2; i++){for (int j = 0; j < 3; j++){arr1[index++] = arr[i][j];}}for (int i = 0; i < 6; i++){printf("%d ", arr1[i]);}printf("\n");for (int i = 1; i < 5; i++){int flag = 0;int temp;for (int j = 0; j < 6-i; j++){if (arr1[j] > arr1[j + 1]){temp = arr1[j];arr1[j] = arr1[j+1];arr1[j + 1] = temp;flag = 1;}}if (flag == 0){break;}}printf("从小到大排列为:\n");for (int i = 0; i < 6; i++){printf("%d ",arr1[i]);}printf("\n");char str[10] = "beijing";printf("stlen=%d\n",strlen(str));system("pause");return 0;
}

43. 倒序输出二维数组的值

#include<stdio.h>
#include<stdlib.h>
int main()
{int arr[2][3];for (int i = 0; i < 2; i++){for (int j = 0; j < 3; j++){scanf_s("%d", &arr[i][j]);}}for (int i = 1; i>=0; i--){for (int j = 2; j>=0; j--){printf("arr[%d][%d]=%d\n", i, j, arr[i][j]);}printf("\n");}system("pause");return 0;
}

44. 将一维数组中的元素按奇偶数分别排序
如输入:1 5 3 2 6 8 4 7 9 0
输出:1 3 5 7 9 0 2 4 6 8
思路:先把所有元素排序(冒泡排序),再将排好序的元素按照奇数、偶数依次分别存在新的数组,最后将这两个数组再存放在一个新的数组打印出来。

#include<stdio.h>
#include<stdlib.h>
int main()
{//总体思路:先把所有元素排序,再将排好序的元素按照奇数、偶数依次分别存在新的数组,最后将这两个数组再存放在一个新的数组打印出来int arr[10] = { 0 };for (int i = 0; i < 10; i++){scanf_s("%d", &arr[i]);}for (int i = 1; i < 10; i++)                   //先排序(冒泡排序),外层为遍历次数,从1开始{int flag = 0;                             //flag用于判断比较是否完成,即如果所有的元素都是后面的大,flag将一直为0,就跳出循环for (int j = 0; j < 10 - i; j++)           //内层为两两比较,将较大的元素后移,循环完成一次排好一个最大的数,两两比较因此会少一次,所以j<10-i{if (arr[j] > arr[j + 1]){int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;flag = 1;}}if (flag == 0)                     //表示后面的数都比前面的数大,可以跳出循环了{break;}}int arr1[10];                           //定义两个新数组,分别存放排好序的奇数和偶数int arr2[10];int index1 = 0;                         //定义两个数字,记录奇数组和偶数组元素的下标int index2 = 0;for (int i = 0; i < 10; i++){if (arr[i] % 2 != 0)                //判断元素是否为奇数{arr1[index1++] = arr[i];          //将奇数元素存放在一个新数组arr1里}else                                {arr2[index2++] = arr[i];           //将偶数元素存放在一个新数组arr2里}}int newarr[10];for (int i = 0; i < index1; i++)          //把奇数和偶数数组分别存进一个新数组newarr里{newarr[i] = arr1[i];}for (int i = 0; i < index2; i++){newarr[index1+i] = arr2[i];}for (int i = 0; i < 10; i++)                //遍历打印新数组newarr[]{printf("%d ",newarr[i]);}system("pause");return 0;}

45. 二维数组中找最大值

#include<stdio.h>
#include<stdlib.h>
int main()
{int arr[2][3];for (int i = 0; i < 2; i++){for (int j = 0; j < 3; j++){scanf_s("%d", &arr[i][j]);}}int max = arr[0][0];for (int i = 0; i<2; i++){for (int j = 0; j <3; j++){if (max < arr[i][j]){max = arr[i][j];}}}printf("max=%d",max);system("pause");return 0;
}

46. 冒泡排序

/*#include<stdio.h>
#include<stdlib.h>
int main()
{//冒泡排序int arr[5] = { 0 };for (int i = 0; i < 5; i++){scanf_s("%d",&arr[i]);}int min = arr[0];for (int i = 0; i < 5; i++){for (int j = 0; j < 4; j++)           //当与最后一个元素比较时考虑j+1越界的问题所以j<4,如果j<5,当j=4时,j+1就越界了{if (arr[j]>arr[j + 1])             //把较大的值往后移,较小的值往前移,就是冒泡排序{int temp = arr[j];               //两两交换值arr[j] = arr[j + 1];arr[j + 1] = temp;}}}for (int i = 0; i < 5; i++){printf("%d ", arr[i]);}system("pause");return 0;
}
*//*上面的未做优化,即每次排序都要经历5次比较,但实际上每排一次,下次将少一次比较,
因为每次比较会把最大的放在最后,这个数可以不用再与前面的作比较*/#include<stdio.h>
#include<stdlib.h>
int main()
{//冒泡排序int arr[5] = { 0 };for (int i = 0; i < 5; i++){scanf_s("%d", &arr[i]);}int min = arr[0];for (int i = 1; i < 5; i++)                 //外层循环表示次数,次数从1开始{int flag = 0;                           //内层循环j表示数组下标for (int j = 0; j < 5-i; j++)           //考虑到每完成一次排序比较,下一次比较可以减少一次,所以j<5-i(每外循环一次,内循环的两两比较可以减少一次){if (arr[j]>arr[j + 1])             //把较大的值往后移,较小的值往前移,就是冒泡排序{int temp = arr[j];               //两两交换值arr[j] = arr[j + 1];arr[j + 1] = temp;flag = 1;}if (flag == 0)                           //考虑有些数组不用排5次就可以排好,所以在它第一次就排好时结束循环{break;}printf("第%d次排序:",i);                //查看每一次排序的结果for (int i = 0; i < 5; i++){printf("%d ", arr[i]);}printf("\n");                            //打印第i次排序后,让其自动换行}for (int i = 0; i < 5; i++)                  //查看最后排好的结果{printf("%d ", arr[i]);}system("pause");return 0;
}

47. 将字符串下标为偶数的位置如果是小写字母将其改为大写字母,如果是大写字母保持不变。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{char str[] = "abcDEFjkM";for (int i = 0; i < strlen(str); i++){if (i%2==0){if (str[i] >= 'a'&&str[i] <= 'z'){str[i] -= 32;}}}printf("%s",str);system("pause");return 0;
}

48. 判断输入的字符是不是手机号

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{        //判断输入的字符串是否为手机号char phoneNum[12] = "";gets_s(phoneNum);if (phoneNum[0] != '1')                  //先判断是否是1开头{printf("不是大陆的手机号!\n");}else{int flag = 0;                                //用于记录输入的字符串中是否有非数字的字符for (int i = 1; i < 11; i++){if (phoneNum[i] < '0' || phoneNum[i] > '9')     //如果字符串中有一个不是数字输出不合法的手机号{flag = 1;break;}}if (flag == 0){printf("是大陆的手机号!\n");}else{printf("不合法的手机号!\n");}}system("pause");return 0;
}

49. 判断字符串A中是否包含字符串B
思路:将字符串A按照字符串B的长度分开存在一个临时字符串中,将临时字符串与字符串B作比较即可。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{     //找到str1中存在与str2相同的子字符串char str1[] = "abcdefgsjhdefg";char str2[] = "defg";for (int i = 0; i < strlen(str1)-3; i++)        //四个元素分一组,只需要循环到倒数第三个元素之前{char temp[100] = "";for (int j = 0; j < strlen(str2); j++){temp[j] = str1[j + i];              //将str1中的字符串按照str2的长度分开存在temp中if (strcmp(temp,str2)==0)            //如果strcmp(temp,str2)==0,则两个字符串相等{printf("第%d个元素开始出现相同:",i+1);   //i记录的是元素下标,从0开始printf("%s\n ",temp);}}}system("pause");return 0;
}

50. 从一个字符串中查找字符

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{char address[100]="";char findchar ;memset(address, '\0', sizeof(address));printf("请输入一个字符串:");gets_s(address);printf("请输入要查找的字符:");scanf_s("\n%c",&findchar);            //终端赋值失败??printf("%s %c",address,findchar);int num = 0;for (int i = 0; i < strlen(address); i++){if (findchar == address[i]){num++;}}if (num == 0){printf("Sorry! Not found!\n");}else{printf("num=%d\n", num);}system("pause");return 0;
}

51. 倒序输出字符串

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{char str[100];memset(str,'\0',sizeof(str));printf("请输入字符串:\n");gets_s(str);for (int i = strlen(str); i >= 0; i--){printf("%c",str[i]);}printf("\n");system("pause");return 0;
}

52. 字符串的输入与长度计算

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{char str[20] = "";gets_s(str);//scanf_s("%s",str);printf("长度为%d",strlen(str));system("pause");return 0;
}

53. 计算二位数组的总和和平均值

#include<stdio.h>
#include<stdlib.h>
int main()
{int arr[2][3];for (int i = 0; i < 2; i++){for (int j = 0; j < 3; j++){scanf_s("%d",&arr[i][j]);}}int sum = 0;int num = 0;int linesum = 0;int linenum = 0;for (int i = 0; i < 2; i++){linesum = 0;                              //只记录一行的和linenum = 0;                              //只记录一行的元素个数for (int j = 0; j < 3; j++){sum += arr[i][j];num++;linesum += arr[i][j];linenum++;}printf("第%d行:linesum=%d lineave=%.2f\n",i+1,linesum,linesum/(float)linenum);}for (int i = 0; i < 3; i++){int listsum = 0;int listnum = 0;for (int j = 0; j < 2; j++){listsum += arr[j][i];listnum++;}printf("第%d列:listsum=%d listave=%.2f\n", i + 1, listsum, listsum / (float)listnum);}printf("总计:sum=%d ave=%.2f\n", sum,sum/(float)num);    //平均值可能是浮点数,所以要把除数或者被除数中的一个强制转换成浮点数system("pause");return 0;
}

54. 字符串的拼接

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{char s1[100] = "";char s2[100] = "";printf("请输入第一个字符串数组:\n");gets_s(s1);printf("请输入第二个字符串数组:\n");gets_s(s2);strcat_s(s2,s1);    //xcode里可以在字符串数组后面+一个常量,表示在这个常量个元素后进行操作printf("s2=%s", s2);system("pause");return 0;
}

55. 字符串的复制

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{char s1[100] = "";char s2[100] = "";printf("请输入第一个字符串数组:\n");gets_s(s1);printf("请输入第二个字符串数组:\n");gets_s(s2);strcpy_s(s1,s2);printf("s1=%s",s1);system("pause");return 0;
}

56. 数字字符转换为整数(char to int)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{char str[] = { '2', '5', '3', '1', '2' };long length = sizeof(str);int sum = 0;for (int i = 0; i < length; i++){int num = str[i] - '0';             //将字符变成对应的数字sum = sum * 10 + num;}printf("sum=%d", sum);system("pause");return 0;
}

57. 统计字符串中字母的个数

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{char str[]="abc123def";long num = 0;for (int i = 0; i <strlen(str); i++){if ((str[i] <= 'z'&&str[i] >= 'a') || (str[i] <= 'Z'&&str[i] >= 'A'));   {num++;               }}printf("%ld\n",num);system("pause");return 0;
}

58. 寻找字符串中第一次出现的唯一一个的字符

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{   //打印字符串中第一次只出现了一次的字符char str[] = "abaccdeefshdds";for (int i = 0; i < strlen(str); i++){char temp = str[i];int num = 0;for (int j = 0; j < strlen(str); j++){if (temp == str[j])              //将第一次循环记录的temp与第二次循环比较是否有相等的,若没有,则这个字符只出现了一次{num++;                       //有几个同样的元素,则num记录加一,若num只等于一,则只出现了一次}}if (num == 1){printf("%c\n", temp);break;}}system("pause");return 0;
}

59. 字符串输出指定字符

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{char c[] = "it's a computer";int j = 0;for (int i = 0; i < strlen("computer"); i++)          //循环次数为要打印的字符串的长度,可以用strlen()求到{j = i + 7;                   //找到从computer开始的位置,它前面有7个位置printf("%c",c[j]);}printf("\n");system("pause");return 0;
}

60. 字符串大小写转换

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{char str[] = "abCDnH";for (int i = 0; i < strlen(str); i++){if (str[i] >= 'a'&&str[i] <= 'z'){str[i] -= 32;}else{str[i] += 32;}}printf("%s\n",str);system("pause");return 0;
}

61. 用函数比较大小

#include<stdio.h>
#include<stdlib.h>
double min(double x, double y)
{return x < y ? x : y;
}
int main()
{double a;double b;scanf_s("%lf",&a);         //double类型输入用%lfscanf_s("%lf",&b);double m = min(a, b);printf("%lf\n",m);system("pause");return 0;
}

62. 函数求谐均值

#include<stdio.h>
#include<stdlib.h>
double xiejunzhi(double a, double b)
{if (a != 0 && b != 0){double ave = (1 / a + 1 / b) / 2;return 1/ave;}else{printf("0不能求谐均值\n");}
}
int main()
{double result = xiejunzhi(3.5, 4.8);printf("谐均值为%lf\n",result);system("pause");return 0;
}

63. 指针

#include<stdio.h>
#include<stdlib.h>
int main()
{   //练习double *head = NULL;    //定义指针head,并赋值NULLdouble salary = 8000.75; //定义一个double类型salary,并赋值8000.75head = &salary;         //让head指向salaryprintf("&salary=%p\n",&salary); //用&打印salary的地址printf("head=%p\n",head);       //用head打印salary的地址printf("salary=%.2lf\n",salary);  //通过salary本身打印salary的值printf("*head=%.2lf\n",*head);    //通过head显示salary的值double *tail = NULL;tail = &salary;//tail = head;                 这两种方式都是让tail指向salaryprintf("tail=%p\n",tail);     //打印tail本身的值printf("*tail=%.2lf\n",*tail);   //打印tail指向的值*tail = 3023.25;      //通过tail修改salary的值printf("*head=%.2lf\n",*head);   //通过head显示它指向的值int age = 28;//head = &age;      //将age的地址赋值给head(指针类型与变量类型必须一致,void*除外)*tail += 100;    //通过tail将变量salary的值加100printf("salary=%.2lf\n",salary);printf("size of salary =%.2ld\n",sizeof(salary));printf("size of tail =%.2ld\n", sizeof(tail));printf("size of head =%.2ld\n", sizeof(head));system("pause");return 0;
}

64. 用函数分离出实数的整数部分

#include<stdio.h>
#include<stdlib.h>
int myprint(float number)
{return(number / 1);
}
int main()
{int a = myprint(123.45);printf("%d\n",a);system("pause");return 0;
}

65. 裴波拉契数列(函数递归)

#include<stdio.h>
#include<stdlib.h>
int myprint(int n)
{  //斐波拉契数列:1、1、2、3、5、8、13、21.....if (n == 1 || n == 2)        //前两个数是已知的,返回1;{return 1;}else{return myprint(n - 1) + myprint(n - 2);    //后面的数等于前面两个数之和}   //n不是已知条件,就一直myprint缩小,直到遇到已知的n=1、n=2,然后再一直返回到n的值
}
int main()
{int a = myprint(8);printf("%d\n", a);system("pause");return 0;
}

66. 函数 循环调用

#include<stdio.h>
#include<stdlib.h>
#include<string.h>void donut(int number)
{for (int i = 0; i < number; i++){printf("*");}printf("\n");
}
int main()
{donut(3);system("pause");return 0;
}

67. 将一个四位数拆分成4个字符,以空格分开

#include<stdio.h>
#include<stdlib.h>
void myprint(int number)
{if (number >= 1000 && number <= 9999){printf("%d %d %d %d\n", number / 1000, number / 100 % 10, number / 10 % 10, number % 10);}else{printf("输入的数字不合法\n");}
}
int main()
{myprint(1234);system("pause");return 0;
}

68. 输出指定格式的字符
比如,输出3行4列的*号

#include<stdio.h>
#include<stdlib.h>
void chline(char ch, int i, int j)
{for (int m = 0; m < i; m++){for (int n = 0; n < j; n++){printf("%c",ch);}putchar('\n');}
}
int main()
{chline('*', 3, 4);         //输出3行4列的*号system("pause");return 0;
}

69. 指针函数

#include<stdio.h>
#include<stdlib.h>
int findmax(int a, int b)
{return a > b ? a : b;
}
int main()
{int (*pmax)(int num1,int num2);pmax = findmax;int max = pmax(3, 5);printf("max=%d\n",max);system("pause");return 0;
}

70. 指针排序

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void paixu(char *str)             //首地址
{int nlength = strlen(str);for (int i = 1; i < nlength; i++){                                        //冒泡排序int flag = 0;for (int j = 0; j < nlength - i; j++){if (str[j]>str[j + 1]){char temp = str[j];str[j] = str[j + 1];str[j + 1] = temp;flag = 1;}}if (flag == 0){break;}}}
int main()
{char str[100] = "";gets_s(str);paixu(str);printf("%s\n",str);system("pause");return 0;
}

71. 指针与数组

#include<stdio.h>
#include<stdlib.h>
int main()
{double salarys[5] = {1500,200.43,1202.78,8000.32,5000};for (int i = 0; i < 5; i++){printf("%.2f,",*(salarys+i));}printf("\n");printf("数组中第一个元素的地址:%p\n",&salarys[0]);printf("整个数组中的首地址:%p\n", salarys);printf("数组中最后一个元素的地址:%p\n", &salarys[4]);printf("数组中最后一个元素的地址:%p\n", salarys+4);double *head = &salarys[0];double *tail = &salarys[4];printf("*head=%.2f\n",*head);printf("*tail=%.2f\n",*tail);printf("head=%p\n", head);printf("tail=%p\n",tail);printf("tail-head=%d\n",tail-head);*head -= 50;printf("第一个元素减50后的值为%lf\n",*head);head += 2;printf("通过指针head加法运算后第三个元素为%.2f\n",*head);head = &salarys[0];for (int i = 0; i < 5; i++){printf("使用head顺序输出%.2f,",*(head+i));}printf("\n");for (int i = 0; i <5 ; i++){printf("使用tail倒序输出%.2f,",*(tail-i));}printf("\n");system("pause");return 0;
}

72. 指针与字符串

#include<stdio.h>
#include<stdlib.h>
int main()
{char str[100]="";char* p = NULL;gets_s(str);         //这个编译器字符串输入必须用gets_s,不能用scanf_sp = str;printf("%s\n",p);system("pause");return 0;
}

73. 指针运算

#include<stdio.h>
#include<stdlib.h>
int main()
{int arr[10] = {1,2,3,4,5,6,7,8,9,0};int *p1 = &arr[0];int *p2 = &arr[5];long number = p2 - p1;printf("number=%ld\n",number);   //实际运行过程:(p2-p1)/sizeof(int);system("pause");return 0;
}

74. 函数、数组

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int sumofarray(int array[], int nlength)
{int sum = 0;for (int i = 0; i < nlength; i++){sum += array[i];}return sum;
}
int main()
{int array[5] = {1,2,3,4,5};int sum = sumofarray(array, 5);printf("sum=%d\n",sum);system("pause");return 0;
}

75. 函数封装输入、输出,找最值

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void scanarray(double array[], int nlength)    //输入数组
{for (int i = 0; i < nlength; i++){scanf_s("%lf",&array[i]);}
}
void printarray(double array[], int nlength)   //打印数组中的元素
{for (int i = 0; i < nlength; i++){printf("%.2lf  ",array[i]);}printf("\n");
}
void findmaxmin(double array[], int nlength)   //找数组中的最大值与最小值
{int max = array[0];int min = array[0];for (int i = 1; i < nlength; i++){if (max < array[i]){max = array[i];}if (min>array[i]){min = array[i];}}printf("max=%d min=%d\n", max, min);
}
int main()
{double array[10] = { 0 };scanarray(array,10);printarray(array,10);findmaxmin(array, 10);system("pause");return 0;
}

76. 结构体

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{     //给结构体变量赋值并输出。boy1和boy2被定义为外部结构变量,并对boy1作了部分成员变量初始化struct student{int age;char name[10];float score;}boy1 = {boy1.age=19}, boy2;strcpy_s(boy1.name,"xiaoming");printf("input score\n");scanf_s("%f",&boy1.score);boy2 = boy1;printf("age=%d\n name=%s\n score=%.2f\n",boy1.age,boy1.name,boy1.score);printf("------------------------\n");printf("age=%d\n name=%s\n score=%.2f\n", boy2.age, boy2.name, boy2.score);system("pause");return 0;
}

77. 结构体数组,计算平均值

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//定义了一个外部结构数组,并计算了平均值、找到了不及格人数
struct student{int age;char name[10];float score;}boy[3] = {{18,"xiaoming",70},{17,"xiaohong",50},{19,"xiaohua",60.5}};
int main(){float ave = 0, sum = 0;int num = 0;    //记录不及格人数for (int i = 0; i < 3; i++){sum += boy[i].score;if (boy[i].score < 60)    //遍历分数不及格的boy{num += 1;}}ave = sum / 3;printf("平均成绩为%.2f\n",ave);printf("不及格人数有%d个\n",num);system("pause");return 0;
}

78. 结构指针作函数参数

#include<stdio.h>
#include<stdlib.h>
#define C 3struct student{char name[10];char sex;int age;float mathScore;float chineseScore;float englishScore;
}students[C] = {{"xiaoming",'男',18,80,90,56},{"xiaohong",'女',19,90,91,95},{"xiaohua",'男',20,50,60,56}
};
void fun(struct student *pstu)
{float sumMathScore = 0,aveMathScore = 0;float sumChineseScore = 0, aveChineseScore = 0;float sumEnglishScore = 0, aveEnglishScore = 0;int num1 = 0, num2 = 0, num3 = 0, num = 0;for (int i = 0; i < C; i++){sumMathScore += students[i].mathScore;sumChineseScore += students[i].chineseScore;sumEnglishScore += students[i].englishScore;if (students[i].mathScore < 60){num1++;}if (students[i].chineseScore < 60){num2++;}if (students[i].englishScore< 60){num3++;}}num = num1 + num2 + num3;printf("数学不及格的有%d人\n",num1);printf("语文不及格的有%d人\n", num2);printf("英语不及格的有%d人\n", num3);printf("一共不及格的有%d人\n", num);aveMathScore = sumMathScore / 3;aveChineseScore = sumChineseScore / 3;aveEnglishScore = sumEnglishScore / 3;printf("数学平均分为%.2f\n",aveMathScore);printf("语文平均分为%.2f\n", aveChineseScore);printf("英语平均分为%.2f\n", aveEnglishScore);
}
int main()
{struct student *pstu;pstu = students;fun(pstu);system("pause");return 0;
}

79. 静态局部变量

#include<stdio.h>
#include<stdlib.h>
void testfunc()
{static int num = 9;   //如果不加static关键字,结果全是9,因为每次testfunc函数被调用时,num被重新分配内存,结束后自定释放内存,并没有保留num++后的值printf("%d %p",num++,&num);   //static的作用就是不会释放内存,也不会重新分配内存,所以num++后的值才会被一直保留下来
}
int main()
{for (int i = 0; i < 10; i++){testfunc();printf("\n");}system("pause");return 0;
}

80. 求解特殊的4位数
已知:这个四位数前两位相同,后两位相同,前两位与后两位不同,同时这个四位数是一个整数的平方

#include<stdio.h>
#include<stdlib.h>
int main()
{for (int i = 1; i < 100; i++)    //限定这个整数的平方是一个四位数{int num = i*i;int a = num / 1000;           //分别求到这个四位数的千位、百位、十位和个位int b = num / 100 % 10;int c = num / 10 % 10;int d = num % 10;if (a == b&&c == d&&a != c)      //作判断{printf("这个四位数为%d\n", num);break;}}system("pause");return 0;
}

81. 持续更新中。。。

C语言 每日一练(100个小练习)相关推荐

  1. 6 获取数组中最小值_C语言每日一练8——数组中最大值和最小值

    题目: 利用指针函数,求某数组中的最大值和最小值. 实现代码: /* ================================================================= ...

  2. C语言每日一练——第28天:要求输出国际象棋棋盘

    C语言每日一练 2021年10月6日 题目描述 要求输出国际象棋棋盘 分析 先看看国际象棋的棋盘的长相: 可以看出,国际象棋棋盘呈正方形,里面包含8x8总共64个小方格,它们黑白相间.要想在控制台输出 ...

  3. C语言每日一练——第1天:字母大小写转换

    C语言每日一练 2021年9月9日 本人C语言菜鸟,最近工作中频频出现C语言小错误,遂决定使用笨方法提高我的C语言水平,坚持每天一个C语言小练习,养成C语言手感,从此让编程成为习惯. 题目描述 从键盘 ...

  4. C语言每日一练——第64天:自动发牌程序

    C语言每日一练 2021年12月7日 文章目录 题目描述 问题分析 代码实现 运行结果 网上参考 题目描述 一副扑克有52张牌,打桥牌时应将牌分给4个人.请设计一个程序完成自动发牌的工作.要求:黑桃用 ...

  5. C语言每日一练——第32天:小球自由下落问题(第10次落地经过多少米,反弹多高?)

    C语言每日一练 2021年10月10日 题目描述 一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 分析 第n次下落的距离=第n ...

  6. C语言每日一练——第57天:递归解决分鱼问题

    C语言每日一练 2021年11月13日 文章目录 题目描述 分析 代码实现 运行结果 网上参考 题目描述 A.B.C.D.E这5个人合伙夜间捕鱼,凌晨时都已经疲惫不堪,于是各自在河边的树丛中找地方睡着 ...

  7. C语言每日一练——第86天:出售金鱼问题

    C语言每日一练 2022年3月12日 文章目录 题目描述 问题分析 代码实现 运行结果 网上参考 题目描述 小明将养的一缸金鱼分5次出售:第1次卖出全部的一半加1/2条:第2次卖出余下的三分之一加1/ ...

  8. C语言每日一练——第8天:冒泡排序

    C语言每日一练 2021年9月16日 题目描述 用冒泡法对10个数排序 分析 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地走访过要排序的元素列,依次比较两个相 ...

  9. C语言每日一练——第85天:三色球问题

    C语言每日一练 2022年3月8日 文章目录 题目描述 问题分析 代码实现 运行结果 网上参考 题目描述 一个口袋中放有12个球,已知其中3个是红的,3个是白的,6个是黑的,现从中任取8个,问共有多少 ...

  10. C语言每日一练——第73天:谁是窃贼问题

    C语言每日一练 202年1月8日 文章目录 题目描述 问题分析 代码实现 运行结果 网上参考 题目描述 警察审问4名窃贼嫌疑犯.现在已知,这4人当中仅有一名是窃贼,还知道这4个人中的每个人要么是诚实的 ...

最新文章

  1. SpringBoot 学习 | raibaby halo 之安装部署 - Ali0th
  2. 后羿采集器怎么导出数据_推荐爬虫神器后羿采集器,小白也能一键采集数据
  3. Java 7之多线程- Semaphore--转载
  4. java同名类_java两个不同名类 在里面建立两个同名的类 怎么破
  5. 基于函数计算的游戏打包最佳实践
  6. group by用法多个字段_select的用法
  7. 深度强化学习在时序数据压缩中的应用--ICDE 2020收录论文
  8. Ubuntu终端常用的快捷键,光标移动到开始位置
  9. 使用cardview和recycleview时碰到的一些问题
  10. 机器视觉软件开发入门(1)
  11. 小白的一周学习汇总!
  12. Android studio 制作一个app实现简单功能
  13. 一种FlashBuilder不能启动的解决方法
  14. 知乎上的有哪些较好的壁纸网站?
  15. DSP TMS320F2803x CLA 指令
  16. jquery国际化 i18n.js
  17. 使用认知UX设计原则对认知可及性的adhd阅读障碍观点
  18. CF3B--Lorry翻译
  19. python—xlwt模块详解
  20. 【渝粤教育】电大中专计算机应用基础 (2)_1作业 题库

热门文章

  1. 关于一个技术入门者为什么在创客平台上发文章?
  2. 路由与交换技术——静态路由
  3. bvi二进制编辑工具
  4. 共创云端新业态,AppCan移动云大会即将召开
  5. 制作自己的Linux系统与启动光盘(2)
  6. 解决org.springframework.transaction.UnexpectedRollbackException: Transaction silently rolled back beca
  7. 易查分应用大全:修改查询功能使用说明
  8. SpringBoot整合emqtt
  9. 益智汉诺塔的递推公式
  10. 基于EMR的新一代数据湖存储加速技术详解