东华大学C语言程序设计报告书

时间:2026-04-30

三.详细设计 1.学生成绩排名

#include<stdio.h> int main() { int a[11]; //定义相关数组 int i,j,t; printf("输入10个学生的成绩:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); for(j=0;j<9;j++) //用冒泡法将学生成绩按照从高到低进行排序 for(i=0;i<9-j;i++) if(a[i]<a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;}

printf("将学生成绩按照从高到低输出:\n"); for(i=0;i<10;i++) printf("%d ",a[i]); printf("\n"); int temp1,temp2,number,end; printf("insert data:"); scanf("%d",&number); //再输入一个学生的成绩 end=a[9]; if(number<end) a[10]=number; else {for(i=0;i<10;i++) {if(a[i]<number) {temp1=a[i]; a[i]=number; for(j=i+1;j<11;j++) {temp2=a[j]; a[j]=temp1; temp1=temp2; } break; } } } printf("Now array a:\n"); //按原排序规律输出 for(i=0;i<11;i++)

printf("%5d",a[i]); printf("\n");

int n=11,temp,m; for(m=0;m<n/2;m++) //将对称元素的值互换 {temp=a[m]; a[m]=a[n-m-1]; a[n-m-1]=temp; } printf("\nNow array a:\n"); for(m=0;m<n;m++) printf("%4d",a[m]); //反序存放后输出 printf("\n"); return 0; }

运行结果:

2.根据条件进行学生成绩排名 2-1

#include<stdio.h>

int main()

{void sort(int array[], int n); int a[10],i;

printf("请输入10个学生的成绩:\n"); for(i=0;i<10;i++)

scanf("%d",&a[i]); sort(a,10);

printf("从高到低排名:\n"); for(i=0;i<10;i++) printf("%d ",a[i]); printf("\n");

return 0; }

void sort(int array[],int n) {int i,j,k,t;

for(i=0;i<n-1;i++) {k=i;

for(j=i+1;j<n;j++)

if(array[j]>array[k]) k=j;

t=array[k];array[k]=array[i];array[i]=t; } }

运行结果:

2-2

#include<stdio.h> int main() { void sort(int a[],int n); int a[100],n,i; printf("请输入学生数:\n"); scanf("%d",&n); printf("请输入%d个学生的成绩:\n",n); for(i=0;i<n;i++) scanf("%d",&a[i]); sort(a,n); printf("从高到低排名:\n"); for(i=0;i<n;i++) printf("%d ",a[i]); printf("\n"); return 0; }

void sort(int a[],int n) { int i,j,t; for(j=0;j<n-1;j++) for(i=0;i<n-1-j;i++) if(a[i]<a[i+1])

{t=a[i];a[i]=a[i+1];a[i+1]=t;} }

运行结果:

2-3

#include<stdio.h> int main() { void sort(int a[],int n,char style); int a[100],n,i; char style; printf("请输入学生数:\n"); scanf("%d",&n); printf("请输入%d个学生的成绩:\n",n); for(i=0;i<n;i++) scanf("%d",&a[i]); printf("请选择排序方式,a为升序,d为降序:\n"); scanf("%s",&style); sort(a,n,style); for(i=0;i<n;i++) printf("%d ",a[i]); printf("\n"); return 0; }

void sort(int a[],int n,char style) { int i,j,t; if(style=='a') { for(j=0;j<n-1;j++) for(i=0;i<n-1-j;i++) if(a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;} printf("成绩从低到高排序为:\n"); } else if(style=='d')

{ for(j=0;j<n-1;j++) for(i=0;i<n-1-j;i++) if(a[i]<a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;} printf("成绩从高到低排序为:\n"); } }

运行结果:

3.用指针优化学生成绩排名 3-1~3-3

#include<stdio.h> int main() { void sort(int stu[],int n); int i,*p,stu[10],j,k,t; p=stu; printf("请输入10个学生的成绩:\n"); for(i=0;i<10;i++) scanf("%d",p++); for(p=stu,i=0;i<10;i++) printf("%d ",*p++); printf("\n"); for(p=stu,i=0;i<9;i++) {k=i; for(j=i+1;j<10;j++) if(stu[j]>stu[k]) k=j; if(k!=i) {t=stu[i];stu[i]=stu[k];stu[k]=t;} } for(p=stu,i=0;i<10;i++) {printf("%d ",*p); p++; }

//sort函数声明 //输入10个整数 //输出排序后的10个学生的成绩

printf("\n"); return 0; }

运行结果:

3-4

#include<stdio.h> int main()

{void sort(int stu[],int n); int i,*p,stu[10]; p=stu;

printf("请输入10个学生的成绩:\n"); for(i=0;i<10;i++)

scanf("%d",p++); p=stu; sort(p,10); for(p=stu,i=0;i<10;i++)

{printf("%d ",*p); p++; }

printf("\n"); return 0; }

void sort(int stu[],int n) { int i,j,k,t; for(i=0;i<n-1;i++) {k=i; for(j=i+1;j<n;j++) if(stu[j]>stu[k]) k=j; if(k!=i) {t=stu[i];stu[i]=stu[k];stu[k]=t;} } }

运行结果:

//sort函数声明 //输入10个整数 //调用sort函数 //输出排序后的10个学生的成绩//定义sort函数

3-5

#include<stdio.h> int main()

{void copy_string(char from[],char to[]); char a[]="student score"; char b[]=" ";

printf("string a=%s\nstring b=%s\n",a,b); printf("copy string a to string b:\n"); copy_string(a,b);

printf("\nstring a=%s\nstring b=%s\n",a,b); return 0; }

void copy_string(char from[],char to[]) {int i=0;

while(from[i]!='\0') {to[i]=from[i];i++;} to[i]='\0'; }

…… 此处隐藏:3303字,全部文档内容请下载后查看。喜欢就下载吧 ……
东华大学C语言程序设计报告书.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219