C语言练习部分重点总结
1.冒泡排序:输入10个整数并排序
#include<stdio.h>
int main()
{
int a[10];
int i,j,t;
printf("请输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=1;i<=9;i++){//9轮
for(j=0;j<=9-i;j++){//每轮比较的次数
if(a[j]>a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
printf("排序后的10个数分别为:\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
return 0;
}
2.选择排序:输入10个整数并排序
#include<stdio.h>
int main()
{
int a[10];
int i,j,t;
printf("请输入10个数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<=8;i++){//前一个数
for(j=i+1;j<=9;j++){//后一个数
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
printf("排序后为:\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
return 0;
}
3.有一分段函数:(定义与调用函数)
编写程序,输入x的值输出y的值。
#include<stdio.h>
int res(int m);//定义函数
int main(){
int x,y;
printf("请输入x:");
scanf("%d",&x);
y=res(x);//调用函数传入参数
printf("输出y的值为:%d",y);
}
//定义res()函数
int res(int m){
int n;
if(m>=0&&m<16)
n=0;
else if(m>=16&&m<32)
n=3*m;
else if(m>=32&&m<48)
n=2*m;
else if(m>=48&&m<64)
n=m+2;
else if(m>=64&&m<256)
n=100;
return n;
}
4.输入年份和月份,输出这一年该月的天数。
#include<stdio.h>
void main(){
int y,n,s=0;//定义变量
scanf("%d-%d",&y,&n);//输入年月
switch(n){//根据月份判断天数
case 1:s=31;break;
case 2:s=28;break;
case 3:s=31;break;
case 4:s=30;break;
case 5:s=31;break;
case 6:s=30;break;
case 7:s=31;break;
case 8:s=31;break;
case 9:s=30;break;
case 10:s=31;break;
case 11:s=30;break;
case 12:s=31;break;
}
if(n==2){//判断闰年2月差异
if(y%4==0&&y%100!=0||y%400==0)
s=29;
else
s=28;
}
printf("%d\n",s);
}
5.求平均成绩
#include<stdio.h>
int main()
{
float average(float array[10]);
float score[10],aver;
int i;
printf("请输入10个分数:\n");
for(i=0;i<10;i++){
scanf("%f",&score[i]);
}
aver=average(score);
printf("average score is %5.2f\n",aver);
return 0;
}
float average(float array[10])
{
int i;
float aver,sum=array[0];
for(i=1;i<10;i++)
sum=sum+array[i];
aver=sum/10;
return(aver);
}