11.5
阵列变数的应用
#include<stdio.h>
int main(){
int n,b,a[10];
for(n=1;n<=10;n++){
scanf("%d",&a[n-1]);
}
while(1){
int max_i=-1;
printf("输入最大值:");
scanf("%d",&b);
if(b==0){
break;
}
for(n=1;n<=10;n++){
if(a[n-1]<b&&(max_i==-1||a[i]>a[max_i]){
max=a[n-1];
}
}
if(max!=-1){
printf("%d",max);
}
}
return 0;
}
#include<stdio.h>
#include<stdlib.h>
int main(){ //输出离指定数最近的数
int n,m,a[10];
for(n=1;n<=10;n++){
printf("请输入一个数:");
scanf("%d",&a[n-1]);
}
while(1){
printf("输入一个数:");
scanf("%d",&m);
int l=a[0],ld=abs(m-a[0]); //设第一个变数为离指定数最近的数,并算出其距离
for(n=1;n<10;n++){
int d=abs(m-a[n]) ;//算出现在所算变数与指定数的距离
if(d<ld||(d==ld&&a[n]<a[0])){
ld=d;
l=a[n];
}
}
printf("%d\n",l);
}
return 0;
}
#include<stdio.h>
int main(){
int a[10]={0},b,n,m=0,l;
for(n=1;n<=10;n++){
scanf("%d",&b);
a[b]++;
}
int ans = 0; //求十个数中的众数
for(n=1;n<10;n++){
if(a[n-1]>=a[ans]){
ans = n;
}
}
printf("%d",ans);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){ //随机输出1到10乱序数
srand(time(0));
int m,n,a[10];
for(n=1;n<=10;n++){
do{
a[n-1]=rand()%10+1;
for(m=1;m<n;m++){
if(a[n-1]==a[m-1]){
break;
}
}
}while(m!=n);
printf("%d ",a[n-1]);
}
return 0;
}