![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 67
不高兴就多跑步
行百里者,半于九十。
展开
-
c++快速排序
int partition(int arr[],int low,int high);void quick_Sort(int arr[],int low,int high);int main(){ int len,i; int arr[] = {2,5,4,1,8,7,4,5,8,8,7,4,5,4,5,4,5,4,1,6}; len = sizeof(arr)/sizeof(int); quick_Sort(arr,0,len-1); for(i=0;i<len;i++) { p原创 2020-08-19 20:02:46 · 97 阅读 · 0 评论 -
折半查找
话不多少先上代码int binary_search(int arr[],int len,int e);//声明 int main() //程序入口,主函数,从这里开始执行{ int i,e; int arr[10];//定义数组存放元素 printf("请输入顺序表的十个数字:\n"); for(i=0;i<10;i++)//循环输入十个元素 { printf("请输入第%d个元素:",i+1); scanf("%d",&arr[i]); } printf.原创 2020-08-12 08:48:39 · 108 阅读 · 0 评论 -
栈:输入十进制正整数转换为二进制
栈:输入十进制正整数转换为二进制#define MAXSIZE 20typedef struct{ int arr[MAXSIZE]; int top; }Stack;//创建栈 void push(Stack *p,int e)//入栈 { if(p->top==MAXSIZE-1) { printf("无法入栈\n"); } else { p->arr[++p->top]=e;//入栈,先加后压 }}void pop(Stack *p)//出栈原创 2020-07-30 22:45:20 · 1536 阅读 · 1 评论 -
判断一串字符内有多少个单词,以空格隔开
判断一串字符内有多少个单词,以空格隔开c++int main() //程序入口,主函数,从这里开始执行{ int i; int count = 0; char arr[20]; printf("请输入一串字符串:"); gets(arr); for(i=1;i<strlen(arr);i++) { if(arr[i]==' '&&arr[i-1]!=' ')//从第二个字符开始判断前一个字符 { count++; } } if(arr[原创 2020-07-28 22:25:39 · 318 阅读 · 0 评论 -
字符串:模式匹配法
字符串:模式匹配法话不多少,先上代码int getchars(char arr[],char brr[]);int main() //程序入口,主函数,从这里开始执行{ char arr[]="asdasdase";//主串赋值 char brr[]="ase";//子串赋值 int result = getchars(arr,brr);//定义一个接收调用函数 if(result==-1) { printf("匹配失败\n"); } else { printf(原创 2020-07-27 21:38:23 · 89 阅读 · 0 评论 -
截取字符串
输入截取字符串位置,长度,并输出截取的字符串话不多少,先上代码void subStr(char str[],char sub[],int pos,int len);//截取算法 int main() //程序入口,主函数,从这里开始执行{ int pos,len;//定义位置长度 char str[]={"abcadasda"}; char sub[20]; printf("请输入截取的位置:"); scanf("%d",&pos); printf("请输入截取的长度:")原创 2020-07-27 21:33:30 · 178 阅读 · 0 评论 -
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大(使用递归实现,不用递归不得分)int function(int n);int main() //程序入口,主函数,从这里开始执行{ printf("这个人年龄是%d岁",function(5));}int function(int n){ if(n==1) { return 10;原创 2020-07-27 10:17:40 · 1778 阅读 · 0 评论 -
1. 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同; 丙是数学家,他说:
1. 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同; 丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。int main() //程序入口,主函数,从这里开始执行{ int i,j,m,k; for(i=0;i<=9;i++)//前两个数 { for(j=0;j<=9;j++)//后两个数 { if(j!=i)//这两原创 2020-07-27 10:16:38 · 16376 阅读 · 12 评论 -
使用递归方法求自然数1-100之间的奇数和
使用递归方法求自然数1-100之间的奇数和int f(int m);//声明 int main() //程序入口,主函数,从这里开始执行{ printf("输出1~100奇数之和:%d",f(1));}int f(int m){ if(m==101)//递归出口 { return 0; } else { return (f(m+2)+m);//递归公式 }}...原创 2020-06-29 20:33:59 · 3693 阅读 · 0 评论 -
兔子繁殖问题。假设有一对小兔子,一个月后成长为一对大兔子,从 第二个月开始,每对大兔子生一对小兔子。不考虑兔子的死亡,求第n个月的兔子总对数
兔子繁殖问题。假设有一对小兔子,一个月后成长为一对大兔子,从 第二个月开始,每对大兔子生一对小兔子。不考虑兔子的死亡,求第n个月的兔子总对数int f(int month);int main() //程序入口,主函数,从这里开始执行{ int yue; printf("输入一个月份:"); scanf("%d",&yue); printf("%d月份有%d对兔子",yue,f(yue)); return 0;}int f(int month){ if(month==1||mo原创 2020-06-29 20:33:03 · 5505 阅读 · 0 评论 -
打印杨辉三角形(行数列数皆可通过键盘输入)
打印杨辉三角形(行数列数皆可通过键盘输入)int main() //程序入口,主函数,从这里开始执行{ int a[100][100];//行列 int j,i; int hang,lie; printf("请输入行数:"); scanf("%d",&hang); printf("请输入列数:"); scanf("%d",&lie); for(j=0;j<hang;j++)//行 { for(i=0;i<=j;i++)//列 { if(i原创 2020-06-19 21:03:55 · 839 阅读 · 0 评论 -
使用数组输入一个字符串,统计每部分字符的个数
使用数组输入一个字符串,统计每部分字符的个数int main() //程序入口,主函数,从这里开始执行{ char str[256];//开辟一个字符串空间256 int i; int big,small,number,blank,other;//大写,小写,数字,空格,其他 big=small=number=blank=other=0;//初始值 printf("请输入字符串:"); gets(str);//输入;可加空格 for(i=0;str[i]!='\0';i++)//循原创 2020-06-19 20:59:17 · 2388 阅读 · 0 评论 -
求出N×M整型数组的最大元素及其所在的行坐标及列坐标
求出N×M整型数组的最大元素及其所在的行坐标及列坐标int main() //程序入口,主函数,从这里开始执行{ int line[4][3];//开辟一个4行五列的空间 int i,j; int max;//求最大值 for(j=0;j<4;j++) { for(i=0;i<3;i++) { scanf("%d",&line[j][i]);//输入 } } printf("输入的数组为:\n"); for(j=0;j<4;j++) {原创 2020-06-19 20:55:41 · 7693 阅读 · 1 评论 -
2. 案例描述: 功能1:某公司进行年终盘点工作,从12月份逐一先前统计每个月的销售额并录入系统,定义数组模拟这个过程。 功能2:当全年的消费额录入完毕后,从一月份至12月份逐一输出本公司在该月的消费
案例描述:功能1:某公司进行年终盘点工作,从12月份逐一先前统计每个月的销售额并录入系统,定义数组模拟这个过程。功能2:当全年的消费额录入完毕后,从一月份至12月份逐一输出本公司在该月的消费额。功能3:按照每个季度的方式,统计每个季度的销售总金额,1-3月是第一季度,以此类推。功能4:将全年的月度销售额进行按照从大到小的排序,然后按照排名进行打印。根据效果图完成案例int main() //程序入口,主函数,从这里开始执行{ float number[12]; int i,j,te原创 2020-06-17 21:11:15 · 446 阅读 · 0 评论 -
已知数组A={7,8,5,4,6,10,2,15,11,13},求出数组的长度、计算数组元素的平均值、数组元素的和、数组A中值为13在数组中的位置
已知数组A={7,8,5,4,6,10,2,15,11,13},求出数组的长度、计算数组元素的平均值、数组元素的和、数组A中值为13在数组中的位置int main() //程序入口,主函数,从这里开始执行{int number[10]={7,8,5,4,6,10,2,15,11,13};//开辟10个空间int i,sum,len;sum=7+8+5+4+6+10+2+15+11+13;//求和len=sizeof(number)/sizeof(int);printf(“数组的长度:”);原创 2020-06-16 22:28:40 · 721 阅读 · 0 评论 -
实现输入10个数,输出这10个数的和,平均值;输出该组数中数与数的最大差值;再输入一个数,然后确定它在这个数组中第一次出现的位置,如果没有该数则输出-1,否则输出其下标
实现输入10个数,输出这10个数的和,平均值;输出该组数中数与数的最大差值;再输入一个数,然后确定它在这个数组中第一次出现的位置,如果没有该数则输出-1,否则输出其下标int main() //程序入口,主函数,从这里开始执行{ int number[10];//开辟10个空间 int i,sum,min,max,temp,n; sum=0;//初步赋值为0 for(i=0;i<10;i++)//循环判断 { printf("输入第%d个数:",i+1); scanf原创 2020-06-16 22:27:43 · 3396 阅读 · 0 评论 -
定义一个数组长度为10的数组,其中数组元素为1-200之内的整数,利用冒泡排序将10个数组元素从小到大重新排序,并求出数组元素中能同时被5和7整除的数
定义一个数组长度为10的数组,其中数组元素为1-200之内的整数,利用冒泡排序将10个数组元素从小到大重新排序,并求出数组元素中能同时被5和7整除的数int main() //程序入口,主函数,从这里开始执行{ int number[10];//开辟10个空间 int i,j,temp; for(i=0;i<10;i++)//循环判断 { printf("输入第%d个数:",i+1); scanf("%d",&number[i]); } for(j=1;j&原创 2020-06-16 22:26:30 · 2759 阅读 · 0 评论 -
打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为 153=1 的三次方+5 的三次方+3 的三次方。 1.程序分析:利用
**打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为 153=1 的三次方+5 的三次方+3 的三次方。 1.程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。 **程序很小,仅作分享。不足之处,望见谅。int main() //程序入口,主函数,从这里开始执行{ int i,ge,shi,bai;//分别变量i,个位,十位,百位 printf("water flower'nu原创 2020-06-15 20:35:38 · 917 阅读 · 0 评论 -
输入数组,求逆序
标题:输入数组,求逆序int main() //程序入口,主函数,从这里开始执行{ int number[8]={1,2,3,4,5,6,7,8};//数组 int i,temp; for(i=0;i<8/2;i++)//循环判断 { temp=number[i];//交换 number[i]=number[8-1-i]; number[8-1-i]=temp; } for(i=0;i<8;i++) { printf("%d\t",number[i]);原创 2020-06-15 18:37:16 · 181 阅读 · 0 评论 -
奥运会跳水比赛,有10个评委打分,去掉一个最高分和 一个最低分,编写一个C程序,求选手的平均得分。
标题:奥运会跳水比赛,有10个评委打分,去掉一个最高分和 一个最低分,编写一个C程序,求选手的平均得分。int main() //程序入口,主函数,从这里开始执行{ float score[10];//数组 int i; float min,max,sum; min=0; max=0; printf("请输入10个评委的打分\n\n"); for(i=0;i<10;i++)//循环条件判断 { printf("请输入第%d个评委的打分:",i+1); scanf("%f",原创 2020-06-15 18:35:49 · 10382 阅读 · 1 评论 -
输入1-999之内的10个整数到一个长度为10的数组,判断数组中的元素是否能同时被2和6整除,若能同时整除,则输出该整数
标题:输入1-999之内的10个整数到一个长度为10的数组,判断数组中的元素是否能同时被2和6整除,若能同时整除,则输出该整数。int main() //程序入口,主函数,从这里开始执行{ int number[10];//开辟10个空间 int i; for(i=0;i<10;i++)//循环判断 { printf("输入1-999之内的10个整数:"); scanf("%d",&number[i]); } printf("若能同时整除,则输出整数:"); fo原创 2020-06-15 17:27:55 · 306 阅读 · 0 评论 -
从键盘输入10个学生的成绩,输出成绩在90分(包含90分)以上、89-80分(包含89,80分)之间 以及80分以下的学生人数所占比重。
标题:从键盘输入10个学生的成绩,输出成绩在90分(包含90分)以上、89-80分(包含89,80分)之间 以及80分以下的学生人数所占比重。int main() //程序入口,主函数,从这里开始执行{ int score[10];//开辟10个空间 int i,nice,eight,other; nice=eight=other=0; for(i=0;i<10;i++)//循环判断 { printf("输入第%d个学生的成绩",i+1); scanf("%d",&s原创 2020-06-15 17:25:39 · 4944 阅读 · 0 评论 -
实现输入10个数,输出这10个数的和,平均值;输出该组数中数与数的最大差值;将数组元素逆置(例如数组1、2、3、4交换位置输出4、3、2、1)。
标题:实现输入10个数,输出这10个数的和,平均值;输出该组数中数与数的最大差值;将数组元素逆置(例如数组1、2、3、4交换位置输出4、3、2、1)。int main() //程序入口,主函数,从这里开始执行{ int number[10];//开辟10个空间 int i,sum,min,max,temp; sum=min=max=0;//初步赋值为0 for(i=0;i<10;i++)//循环判断 { printf("输入第%d个数:",i+1); scanf("%d"原创 2020-06-15 17:22:51 · 1658 阅读 · 1 评论 -
在快乐男声歌唱比赛中,有6位评委给选手打分,分数在0-10分,选手王杰表现的不过,请输入6位评委的打分,输出6位评委的分数
由于笔者能力有限,文中如果出现错误的地方,欢迎大家给我指出来,我将不胜感激,谢谢~原创 2020-06-14 07:34:34 · 663 阅读 · 0 评论 -
利用数组定义输入5天成绩,输出5天的分数
标题:利用数组定义输入5天成绩,输出5天的分数int main() //程序入口,主函数,从这里开始执行{ int score[]={90,95,94,92,96}; int i; for(i=0;i<5;i++) { printf("输入第%d天的成绩:",i+1); scanf("%d",&score[i]); } for(i=0;i<5;i++) { printf("%d\t",score[i]); } return 0;}...原创 2020-06-13 18:07:19 · 124 阅读 · 0 评论 -
个整数,它加上 100后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少?
标题:个整数,它加上 100后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少?int main() //程序入口,主函数,从这里开始执行{ //一个整数,它加上 100后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少? long int a,x,y; for(a=1;a<=10000;a++) { x=sqrt(a+100); y=sqrt(a+168); if(x*x==a+100&&y*y==a+168) {原创 2020-06-12 21:36:50 · 448 阅读 · 1 评论 -
利用for循环*制作一个X形状的图形
C++:利用for循环制作一个X形状int main(){ printf("\n");//换行 int i,j; for(i=1;i<=9;i++)//外循环 { for(j=1;j<=9;j++)//内循环 { if(i+j==10||i==j)//条件判断 { printf("*");//打印形状 } printf(" "); } printf("\n");//每进行一次外循环进行一个换行 } return 0;}原创 2020-06-12 15:49:56 · 603 阅读 · 0 评论