C语言程序设计
例一:
班级50位同学的一门课成绩的录入,并给出总分与平均成绩.
算法思想:
,使用循环依次输入50个位同学的成绩,,用sum除以50得到平均成绩averager.
,在循环结束后输出总分sum和平均成绩averager.
具体实现步骤及流程图:
程序代码:
#include
void main()
{ int i=0;
float a[50],sum=0,average;
printf(“Please input 50 scores !\n”);
for(i=0;i<50;i++)
{
scanf(“%f”,a[i]);
sum=sum+a[i];
}
printf(“\n”);
average=sum/50;
printf(“The scores are blew !\n”);
for(i=0;i<50;i++)
printf(“a[%d]=%f ”,i,a[i]);
printf(“\n”);
printf(“Sum=%f ”,sum);
printf(“Average=%f”,average);
}
开始
i=0
输入a[i]; i++; sum+=a[i]
i>50
N
Y
average=sum/50
i=0
输出a[i]; i++;
i>50
N
Y
输出sum 和 average
结束
例二:
排序10个数.
.
算法思想:
定义一个大小为10的数组a[10],要求按从小到
:用a[0]依次和后面的数比较,如
果有某个数小于a[0],交换a[0]和这个数的位置,然
后用这个数作为a[0],按交换前的位置往后继续,直
到a[9].第二:用a[1]重复上面的骤, ……,第九:用a[8]和a[9]比较,若满足条件,就交换.
具体实现步骤及流程图:
程序代码:
#include””
void main()
{int i,j,a[10],t;
printf(“请随机输入10个整数输入!\n”);
for(i=0;i<10;i++)
scanf(“%d”,&a[i]);
for(i=0;i<10-1;i++)
for(j=i+1;j<10;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]);
printf(“\n排序结束!”);
}
开始
i=0
输入a[i]; i++;
i<10
Y
N
Y
i++
i=0
j=i+1
a[i]<a[j]
N
t=a[i];a[i]=a[j];a[j]=t;
j<10
N
Y
Y
j++
i<10-1
结束
N
输出a[i]; i++;
i<10
i=0
Y
具体实现步骤及流程图:
程序代码:
#include""
void main()
{
int low=0,mid,high,i,n,key,arrary[50],count=0;
printf("How many numbers ?(N<=50)!\n");
scanf("%d",&n);
high=n-1;
printf("Please input the arrary !\n");
for(i=0;i<n;i++)
scanf("%d",&arrary[i]);
printf("Please input the key number !\n");
scanf("%d",&key);
开始
输入n
high=n-1
i=0
输入arrary[i]; i++;
i<n
Y
N
low=0,count=0
输入key
while(low<high)
{
mid=(low+high)/2;
if(arrary[mid]==key)
{
printf(“%d is the %dth number !\n",key,mid+1);
count++;
break;
}
if(arrary[mid]<key)
low=mid+1;
if(arrary[mid]>key)
high=mid-1;
}
if(count==0)
printf("Can not find the key number !\n");
getch();
}
low<high
程序设计实例 来自淘豆网www.taodocs.com转载请标明出处.