c语言其实很简单----【数组】
@TOC
1.输入10个学生成绩,计算及格人数,平均成绩,总成绩。
#include<stdio.h>
int main(){
float score[10];
int i ,cut;
float avar=0.0,sum=0.0;
for(i=0;i<10;i++)
scanf("%f",&score[i]);//输入10个学生的成绩
cut=0;
for(i=0;i<10;i++){
if(score[i]>60)
cut++;
sum=sum+score[i];
}
avar=sum/10.0;
printf("sum:%.2f\n",sum);
printf("cut:%.2d\n",cut);
printf("avar:%.2f\n",avar);
}
2.删除数组b中下表为2的元素10
#include<stdio.h>
int main(){
int i ;
int b[6]={90,80,10,60,40,30};
int n=6;
for(i=2;i<n-1;i++){//删除数组b中下表为2的元素10
b[i]=b[i+1];
n=n-1;
for(i=0;i<n;i++)
printf("%d\t",b[i]);
}
}
3.在数组b下标为2的元素30之前插入新元素77
#include<stdio.h>
//在数组b下标为2的元素30之前插入新元素77
int main(){
int i,n ;
int b[8]={100,20,30,40,50,99};
n=6;
for(i=0;i<n;i++)
printf("%d\t ",b[i]);
printf("\n");
for(i=n;i>3;i--)
b[i]=b[i-1];
b[2]=77;
n=n+1;//数组元素个数+1;
for(i=0;i<n;i++)
printf("%d\t ",b[i]);
}
4.数组收纳:50以为能够被7或者11整除的整数放在数组a里面
#include<stdio.h>
//数组收纳:50以为能够被7或者11整除的整数放在数组a里面
int main(){
int a[50];
int n,i,j;
//符合要求的元素放在数组a里面
for(n=1;n<50;n++){
if(n%7==0||n%11==0)
a[j++]=n;
}
//输出数组a
for(i=0;i<j;i++)
printf("%d\t ",a[i]);
printf("\n");
}
5.将50-100里面所有的素数放在数组b内
#include<stdio.h>
int main(){
//将50-100里面所有的素数放在数组b内
int b[50];
int i,n ,j=0;
for(n=50;n<=100;n++){
for(i=2;i<n;i++)
if(n%i==0)
break;
if(i>=n)
b[j++]=n;
}
for(i=0;i<j;i++)
printf("%d\t",b[i]);
printf("\n");
}
6.10名学生的考试成绩存在数组S内,成绩及格的学生,低于70分的要做加强训练;60-70的成绩存在数组d内
#include<stdio.h>
//10名学生的考试成绩存在数组S内,成绩及格的学生,低于70分的要做加强训练。
//60-70的成绩存在数组d内。
#define N 10
int main(){
float s[N]={79,30,77.5,88.5,100,99.5,60,60.5,66,99};
float d[N]; // 用于存储60-70分之间的成绩
int i,j=0 ;//这里j要从0开始。
for(i=0;i<N;i++){//用i遍历整个数组s[N]
if(s[i]>=60&&s[i]<=70){//找到数组s里面60--70的学生
d[j++]=s[i];
}} //存到数组d里面
for(i=0;i<j;i++)
printf("%0.2f\t ",d[i]);
printf("\n");
}
7.顺序查找:查找元素为70的数组
#include<stdio.h>
//顺序查找:查找元素为70的数组
int main(){
int a[9]={30,40,50,60,70,80,11,23};
int i;
for(i=0;i<9;i++){
if(a[i]==70){
printf("70 is at index %d\n",i);
break;
}}
if(i>=9)
printf("NO 70\n");
}
8.二分查找
#include<stdio.h>
int main(){
int a[9]={3,4,5,6,7,8,9,11,12};
int low=0;
int high=8;
int mid;
while(low<=high){
mid=(low+high)/2;
if(a[mid]<7)
low=mid+1;
else if(a[mid]>7)
high=mid-1;
else
break;
}
if(low>high)
printf(" can not find 7\n");
else
printf("7 is at index %d",mid);
}
9.选择排序
#include<stdio.h>
//选择排序
#define N 5
int main(){
int b[N]={77,67,58,99,44};
int t,i,j;
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
if(b[i]>b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
for(i=0;i<N;i++)
printf("%d\t ",b[i]);
printf("\n");
}