c语言
hsscccc
这个作者很懒,什么都没留下…
展开
-
将两个字符串中的元素按照从小到大的顺序排列并放到第三个字符串中
#include<stdio.h>#include<math.h>#include<string.h>int test(char str1[],char str2[],char str3[]){ int i=0,j=0,k=0; while(str1[i]!='\0'&&str2[j]!='\0') { if(str1[i]<str2[j]) { str3[k++]=str1[i++]; } else {原创 2021-09-09 20:56:38 · 276 阅读 · 0 评论 -
从键盘输入一个字符串并按照大小输出出来,并删除重复的字符
#include<stdio.h>#include<math.h>#include<string.h>main(){ char str[100],tmp,i,j,k; gets(str); for(i=0;str[i]!='\0';i++) { for(k=j=i;str[j]!='\0';j++) { if(str[k]>str[j]) { k=j; } } if(i!=k) { tmp=str[原创 2021-08-20 19:38:04 · 453 阅读 · 0 评论 -
将两个从小到大排列好的数组再次排序于新数组中
#include<stdio.h>#include<math.h>main(){ int c[10],a[5]={6,7,8,9,10},i=0,j=0,k=0,b[5]={1,2,3,4,5}; while(i<5&&j<5) { if(a[i]<b[i]) { c[k]=a[i]; i++; k++; } else { c[k]=b[j]; k++;j++; } } whil原创 2021-08-19 20:38:44 · 331 阅读 · 0 评论 -
直接选择排序算法
#include<stdio.h>#include<math.h>main(){ int k,a[5]={3,4,1,2,0},i,j,temp; for(i=0;i<4;i++) { k=i; for(j=i+1;j<5;j++) { if(a[j]<a[k]) { k=j; } } if(k!=i) { temp=a[k]; a[k]=a[i]; a[i]=temp; } }原创 2021-08-19 18:59:17 · 84 阅读 · 0 评论 -
直接插入排序算法
#include<stdio.h>#include<math.h>main(){ int a[5]={3,4,1,2,0}i,j,temp; for(i=1;i<5;i++) { if(a[i]<a[i-1]) { temp=a[i]; j=i-1; } while(j>-1&&temp<a[j]) { a[j+1]=a[j]; j--; } a[j+1]=temp; } fo原创 2021-08-18 21:07:45 · 50 阅读 · 0 评论 -
冒泡排序代码
#include<stdio.h>#include<math.h>main(){ int i,j,temp,a[10]={1,4,3,2,5,6,0,7,9,8}; for(i=0;i<9;i++) { for(j=0;j<9-i+1;j++) { if(a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } for(i=0;i原创 2021-08-18 20:38:15 · 68 阅读 · 0 评论 -
输出数组中的最大值和次大值
做的复杂了#include<stdio.h>#include<math.h>main(){ int i=1,a[10]={1,2,3,4,5,6,7,8,9,0},max1=a[0],max2=a[0]; while(i<10) { if(a[i]>=max1) { max1=a[i]; } i++; } i=1; while(i<10) { if(a[i]>max2&&a[i]<原创 2021-08-18 19:32:48 · 498 阅读 · 0 评论 -
F(n)=F(n-1)+F(n-2)
#include<stdio.h>#include<math.h>main(){ int sum=0,a[100]={1,1},i; for(i=2;i<15;i++) { a[i]=a[i-1]+a[i-2]; } printf("%d",a[14]);}原创 2021-08-18 19:23:58 · 695 阅读 · 0 评论 -
输出数组中最长的子序列
#include<stdio.h>#include<math.h>main(){ int i=0,n=10,a[10]={1,2,3,3,3,3,3,5,5,5},max=0,length; while(i<n) { length=1; i++; while(i<n&&a[i]==a[i-1]) { length++; i++; } if(max<length) max=length; } p原创 2021-08-18 18:58:33 · 148 阅读 · 0 评论 -
打印杨辉三角
解法一:#include<stdio.h>#include<math.h>main(){ int i,j,a[10][10]={1}; for(i=1;i<=9;i++) { a[i][0]=1; for(j=1;j<=i;j++) { a[i][j]=a[i-1][j-1]+a[i-1][j]; } } for(i=0;i<=9;i++) { for(j=0;j<=i;j++) {原创 2021-08-15 19:19:35 · 60 阅读 · 0 评论 -
输出数组中的最大值和最小值
#include<stdio.h>#include<math.h> main(){ int i,a[5]={2,4,17,6,7},max,min; min=max=a[0]; for(i=1;i<5;i++) { if(a[i]>max) { max=a[i]; } if(a[i]<min) { min=a[i]; } } printf("max=%d min=%d",max,min);}原创 2021-08-12 21:15:00 · 1262 阅读 · 0 评论 -
将数组的数字按照从小到大的顺序进行排序
#include<stdio.h>#include<math.h> main(){ int i,a[5]={2,4,1,3,6},temp; for(i=0;i<5;i++) { for(int j=i;j<5;j++) { if(a[i]>a[j]) { temp=a[j]; a[j]=a[i]; a[i]=temp; } } printf("%d",a[i]); } }原创 2021-08-12 20:55:50 · 4186 阅读 · 0 评论 -
将数组内的数字逆序存放
#include<stdio.h>#include<math.h> main(){ int a[10],i,temp; for(i=0;i<10;i++) { scanf("%d",&a[i]); } for(i=0;i<5;i++) { temp=a[i]; a[i]=a[10-i-1]; a[10-i-1]=temp; } for(i=0;i<10;i++) printf("%d ",a[i]);}原创 2021-08-12 20:43:55 · 183 阅读 · 0 评论 -
将输入的数字插入到所给数组中,仍按照原排序方式排列
#include<stdio.h>#include<math.h> main(){ int x,i,a[7]={1,2,3,4,6,7}; scanf("%d",&x); for(i=5;i>=0;i--) { if(x<a[i]) { a[i+1]=a[i]; } else { a[i+1]=x; break; } } if(i<0) a[0]=x; for(i=0;i<7;i++)原创 2021-08-12 20:30:51 · 141 阅读 · 0 评论 -
将数组中下标从p到n-1的值平移到数组的前面
在这里插入代码片```#include<stdio.h>#include<math.h> main(){ int q,p,a[10]={1,2,3,4,5,6,7,8,9,0},b[10],temp,i; scanf("%d",&p); q=p; for(i=0;i<q-1;i++) { temp=a[p]; a[p++]=a[i]; a[i]=temp; } for(i=0;i<10;i++) printf("%d ",a[i原创 2021-08-12 19:37:26 · 133 阅读 · 0 评论 -
将数组中大于平均值的数字放到前半部分,小于平均值的数字放到后半部分,并输出数组
#include<stdio.h>#include<math.h> main(){ int i,j; double sum=0,av,a[10]={46,30,32,40,6,17,45,15,48,26},b[10]; for(i=0;i<10;i++) { sum=sum+a[i]; } av=sum/10; printf("%lf\n",av); for(j=i=0;i<10;i++) { if(a[i]>av)原创 2021-08-12 19:07:12 · 1677 阅读 · 2 评论 -
将数组最小值放到a[0],次小值放到a[1]
#include<stdio.h>#include<math.h> main(){ int i,a[5],temp,j; for(i=0;i<5;i++) { scanf("%d",&a[i]); } for(i=0;i<2;i++) { for(j=i+1;j<5;j++) { if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; }原创 2021-08-11 20:37:32 · 267 阅读 · 0 评论 -
输出两个数组中不同的值
#include<stdio.h>#include<math.h> main(){ int n,m,a[10],b[10],i,j; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } scanf("%d",&m); for(j=0;j<m;j++) { scanf("%d",&b[j]); } for(i=0;i<n;i++) { i原创 2021-08-10 20:42:31 · 1051 阅读 · 0 评论 -
【c语言】数组问题一
输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数。例如输入1257,经过加9取余后得到新数字0146,再经过两次换位后得到4601。输入格式:输入在一行中给出一个四位的整数x,即要求被加密的数。输出格式:在一行中按照格式“The encrypted number ...原创 2020-05-02 17:53:46 · 315 阅读 · 0 评论