2010-2011第二个学期《高级语言程序设计》复****题
程序设计题:
【例4-2】求学生的总评成绩。现有十个学生,从键盘上输入他们的
平时成绩、期终成绩,输出总评成绩。总评成绩=平时成绩*40%+期终成绩*60%. #include ""
main()
{
int i;
float a[11],b[11],c[11];
printf("输入平时成绩:");
for(i=1;i<=10;i++)
scanf("%f",&a[i]);
printf("输入期终成绩:");
for(i=1;i<=10;i++)
scanf("%f",&b[i]);
for(i=1;i<=10;i++)
c[i]=*a[i]+*b[i];
printf("输出总评成绩:");
for(i=1;i<=10;i++)
printf("%",c[i]);
printf("\n");}
任务 2 多个学生一门课成绩的排序
一个班5位同学参加了一次数学考试,现要输入全班同学的成绩,并按学生成绩高低进行排序。(比较法、冒泡法)
比较法
#include ""
#define N 10
main()
{
int i,math[N],t,j;
printf(" 请输入多个同学的成绩:");
for(i=0;i< N;i++)
scanf("%d",&math[i]);
for(j=0;j< N-1;j++) //循环N-1次,就可以分离出前N-1个数
for(i=j+1;i< N;i++) //分离第j个数,则一定与第j+1至最后一个数比较
if(math[j]<math[i])
{t=math[j]; math[j]=math[i]; math[i]=t;}
printf("多个同学的成绩排序为:");
for(i=0;i<10;i++)
printf("%3d", math[i]);
printf("\n");}
冒泡法
#include ""
#define N 10
main()
{
int i,math[N],t,j;
printf(" 请输入多个同学的成绩:");
for(i=0;i< N;i++)
scanf("%d",&math[i]);
for(j=0;j<N-1;j++)
for(i=0;i<N -1-j;i++)
if(math[i]<math[i+1])
{t=math[i]; math[i]=math[i+1];
math[i+1]=t;}
printf("多个同学的成绩排序为:");
for(i=0;i<10;i++)
printf("%3d", math[i]);
printf("\n");
}
【例4-6】求出斐波那契数列的前20项并输出。(前两项为1,从第三项开始每一项是前两项的和)
#include ""
main()
{
int j,k,fa[20];
fa[0]=1;
fa[1]=1;
for(j=2;j<20;j++)
fa[j]=fa[j-1]+fa[j-2];
for(j=0;j<20;j++)
printf("%d,",fa[j]);
}
【例4-10】输入三个同学的姓名,按ASCII码从大到小的顺序排序。
#include ""
#include "" /*因为用到strcmp()和ctrcpy()函数*/
main()
{
char name1[10],name2[10],name3[10];
char tt[20];
printf("请输入姓名:\n");
gets(name1);
gets(name2);
gets(name3);
if( strcmp(name1,name2)<0)
{strcpy(tt,name1);strcpy(name1,name2);strcpy(name2,tt);}
if( strcmp(name1,name3)<0)
{strcpy(tt,name1);strcpy(name1,name3);strcpy(name3,tt);}
if( strcmp(name2,name3)<0)
{strcpy(tt,name2);strcpy(name2,name3);strcpy(name3,tt);}
printf("输出的姓名为:\n");
puts(name1);
puts(name
《高级语言程序设计》复习题(程序) 来自淘豆网www.taodocs.com转载请标明出处.