A - C语言实验——最值
#include<stdio.h>
#define N 10
int main()
{
int i,a[N],n,t1,t2,x,y,max=-1,min=1000000;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
if(a[i]>max) {max=a[i];x=i;}
else if(a[i]<min) {min=a[i];y=i;}
}
t1=a[1];a[1]=min;a[y]=t1;
t2=a[n];a[n]=max;a[x]=t2;
for(i=1;i<=n;i++)
{
if(i==1)
printf("%d",a[i]);
else
printf(" %d",a[i]);
}
}
B - C语言实验——整数位
#include <stdio.h>
int main()
{
int n,i,j=1;
int a[6];
scanf("%d",&n);
while(n>0)
{
a[j]=n%10;
n=n/10;
j++;
}
printf("%d\n",j-1);
for(i=j-1;i>0;i--)
{
if(i==j-1)
printf("%d",a[i]);
else
printf(" %d",a[i]);
if(i==1)
printf("\n");
}
for(i=1;i<j;i++)
{
if(i==1)
printf("%d",a[i]);
else
printf(" %d",a[i]);
}
}
C - 小鑫数数儿
#include <stdio.h>
int main()
{
int a[15];
int ave,n,i,s,d,b,c;
while(scanf("%d",&n)!=EOF)
{
s=0;
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
s+=a[i];
}
ave=s/n;
d=0,b=0,c=0;
for(i=1;i<=n;i++)
{
if(a[i]<ave) d++;
else if(a[i]==ave) b++;
else if(a[i]>ave) c++;
}
printf("%d %d %d\n",d,b,c);
}
}
D - 区间之和
#include <stdio.h>
int main()
{
int n,a[100000],i,j=0,l,r;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d %d",&l,&r);
for(i=l;i<=r;i++)
{
j+=a[i];
}
printf("%d",j);
}
E - C语言实验——分割整数
#include <stdio.h>
int main()
{
int i=0,a[10],b,j;
scanf("%d",&b);
while(b>0)
{
a[i]=b%10;
b/=10;
i++;
}
for(j=i-1;j>=0;j--)
{
if(j==i-1) printf("%d",a[j]);
else printf(" %d",a[j]);
}
}
F - 众数
#include <stdio.h>
int main() {
int n, a[10001], i, j, h, x, y;
while (~scanf("%d", &n))
{
y = 0;
for (i = 1; i <= n; i++)
{
scanf("%d", &a[i]);
}
for (i = 1; i <= n; i++)
{
h = 1;
for (j = i + 1; j <= n; j++)
{
if (a[i] == a[j])
h++;
}
if (h > y)
{
y = h;
x = a[i];
}
}
printf("%d\n", x);
}
}
G - 小鑫爱运动
#include<stdio.h>
int main()
{
int n,a[11],i,j;
while(~scanf("%d",&n))
{
j=1;
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=2;i<=n;i++)
{
if(a[i]<a[1])
j++;
}
printf("%d\n",j);
}
}
H - C语言实验——数日子
#include <stdio.h>
int main()
{
int a[13],n,y,r,i,j,x,c=0,e=0;
scanf("%d",&x);
a[1]=31;a[2]=0;a[3]=31;a[4]=30;a[5]=31;a[6]=30;
a[7]=31;a[8]=31;a[9]=30;a[10]=31;a[11]=31;a[12]=31;
for(i=1;i<=x;i++)
{
scanf("%d %d %d",&n,&y,&r);
if(n%4==0&&n%100!=0||n%400==0) e=29;
else e=28;
for(j=1;j<y;j++)
{
if(y==1) {goto A;}
else if(y==2) {c+=a[j];goto A;}
else if(y!=1&&y!=2) {c+=a[j];}
if(y>2&&j==y-1) c+=e;
}
A:printf("%d\n",c+r);
c=0;
}
}
I - 喵帕斯之平地摔
#include <stdio.h>
int main()
{
int n,i,j=0,a[101];
while(~scanf("%d",&n))
{
j=0;
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=2;i<n;i++)
{
if((a[i]>a[i-1])&&(a[i]>a[i+1])) j++;
}
printf("%d\n",j);
}
}
J - 排序
#include <stdio.h>
int main()
{
int n,i,j,a[101],t;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=n;i>0;i--) //鸡尾酒排序
{
for(j=1;j<i;j++)
{
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
}
for(i=1;i<=n;i++)
{
if(i==1)
printf("%d",a[i]);
else
printf(" %d",a[i]);
}
return 0;
}
K - 排序问题
#include <stdio.h>
int main()
{
int i,j,a[11],t,b[11];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
b[i]=a[i];
}
for(i=9;i>=0;i--)
{
for(j=0;j<i;j++)
{
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
}
for(i=0;i<9;i++)
{
printf("%d ",a[i]);
}
printf("%d\n",a[9]);
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
if(a[i]==b[j])
{
if(i!=9)
{
printf("%d ",j+1);
}
else
{
printf("%d\n",j+1);
}
break;
}
}
}
return 0;
}
L - 数列有序!
#include <stdio.h>
int main()
{
int a[102],n,m,i,j,t;
while(~scanf("%d %d",&n,&m)&&m+n)
{
a[0]=m;
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=n;i>0;i--)
{
for(j=0;j<i;j++)
{
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
}
for(i=0;i<=n;i++)
{
if(i==0)
printf("%d",a[i]);
else
printf(" %d",a[i]);
}
}
}
M - 中位数
#include <stdio.h>
int main()
{
int n,i,j,x,y,z;
double a[102],t;
while(~scanf("%d",&n))
{
t=0,x=0,y=0,z=0;
for(i=1;i<=n;i++)
{scanf("%lf",&a[i]);}
for(i=n;i>0;i--)
{
for(j=1;j<i;j++)
{
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
t=0;
}
if(n%2==0){x=n/2,y=n/2+1,printf("%.1lf\n",(a[x]+a[y])/2);}
else {z=(n+1)/2,printf("%.1lf\n",a[z]);}
}
}
N - C语言实验——各位数字之和排序
#include <stdio.h>
int main()
{
int n,i,j,a[11],b[11],c,d,e,t;
while(scanf("%d",&n)!=EOF&&n)
{
for(i=1;i<=n;i++)
{
d=0;
scanf("%d",&b[i]);
e=b[i];
while(e>0)
{
c=e%10;
e=e/10;
d+=c;
}
a[i]=d;
}
for(i=n;i>0;i--)
{
for(j=1;j<i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];a[j]=a[j+1];a[j+1]=t;
t=b[j];b[j]=b[j+1];b[j+1]=t;
}
}
}
for(i=1;i<=n;i++)
{
if(i<n) printf("%d ",b[i]);
else printf("%d\n",b[i]);
}
}
}
O - 期末考试之排名次
#include <stdio.h>
int main()
{
int c,m,e,n,a[102],i,j,t;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
t=0;
scanf("%d %d %d",&c,&m,&e);
t=c+m+e;
a[i]=t;
}
for(i=n;i>0;i--)
{
for(j=1;j<i;j++)
{
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
}
for(i=n;i>=1;i--){printf("%d\n",a[i]);}
}
P - 次大和次小
#include <stdio.h>
int main()
{
int n,m,i,h,j,t,a[1002];
scanf("%d",&m);
for(h=1;h<=m;h++)
{
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=n;i>0;i--)
{
for(j=1;j<i;j++)
{
if(a[j]>a[j+1])
{t=a[j],a[j]=a[j+1],a[j+1]=t;}
}
}
printf("%d %d\n",a[n-1],a[2]);
}
}
Q - 冒泡排序中数据交换的次数
#include <stdio.h>
int main()
{
int n,m,h,i,j,a[102],x=0,t;
scanf("%d",&m);
for(h=1;h<=m;h++)
{
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=n;i>0;i--)
{
for(j=1;j<i;j++)
{
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;x++;}
}
}
printf("%d\n",x);
x=0;
}
}
R - 小金追呀追不上妹子
#include<stdio.h>
int main()
{
int m,n,a[1002],t,x,i,j;
while(~scanf("%d %d",&n,&m))
{
t=0,x=0;
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=n;i>0;i--)
{
for(j=1;j<i;j++)
{
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
}
for(i=n;i>n-m;i--)
{x+=a[i];}
printf("%d\n",x);
}
}
S - C语言实验——数组逆序
#include<stdio.h>
int main()
{
int i,t,n,m,a[102],b[102];
scanf("%d",&n);
for(i=1;i<=n;i++)
{scanf("%d",&b[i]);}
scanf("%d",&m);
t=n-m;
for(i=1;i<=m;i++)
{
a[i]=b[t+i];
}
for(i=1;i<=t;i++)
{
a[m+i]=b[i];
}
for(i=1;i<=n;i++)
{
if(i<n)
{printf("%d ",a[i]);}
else
{printf("%d\n",a[i]);}
}
}
T - 矩阵输出
#include<stdio.h>
int main()
{
int a[21],b[21],i,j,h,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&b[i]);
if(i<n) printf("%d ",b[i]);
else printf("%d\n",b[i]);
}
for(h=1;h<n;h++)
{
a[1]=b[n];
for(i=2;i<=n;i++)
{
a[i]=b[i-1];
}
for(j=1;j<=n;j++)
{
b[j]=a[j];
if(j<n) printf("%d ",a[j]);
else printf("%d\n",a[j]);
}
}
}
不懂得可以私信我,随时解答。
程序有错误请私信我,以及时改正。感谢!
最后再给大家介绍一种相对简单的排序方法:
int cmp(const void * a,const void *b) //先定义函数
{
return * (int * )a-* (int *)b; //a-b是升序,反之降序
}
qsort(array,n,sizeof(int),cmp); //排序 括号里先后顺序:数组名
//数组长度 单位数组长度 定义函数名