c语言第四次上机作业答案,大连理工大学c语言夏浩老师第四次上机作业(10页)-原创力文档...

本文提供两个C语言程序实例,一是使用冒泡排序和选择排序实现整数递减排序,二是统计并输出10名学生的成绩信息。通过具体代码展示排序算法的应用及成绩统计的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述: 排序:使用起泡法和选择法对 10 个整数实现递减排序。分析:将冒泡排序代码中的 >变成

开始

输入 10个整数

进行沉底排序和选择排序

输出排序后的数列

结束

程序代码:

#include

void main()

{

int i,a[10],b[10];

int j,t,k;

printf("10个数沉底排序和冒泡排序\n");

printf("原始数列 :");

for(i=0;i<10;i++)

{

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

b[i]=a[i];

}

for(j=0;j<9;j++)

{

for(i=0;i<9-j;i++)

{

if(a[i]

{

t=a[i+1];

a[i+1]=a[i];

a[i]=t;

}

}

}

for(j=0;j<9;j++)

{

k=j;

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

if(b[k]

if(k!=j)

{

t=b[j];

b[j]=b[k];

b[k]=t;

}

}

printf("沉底排序后的数列 :");

for(i=0;i<10;i++)

printf("%2d",a[i]);

printf("\n");

printf("冒泡排序后的数列 :");

for(i=0;i<10;i++)

printf("%2d",b[i]);

printf("\n");

return 0;

}

截图:

2.题目描述:统计 :从键盘输入 10个学生的数学 (MT)、英语 (EN)和物理 (PH) 成绩,并按照如下统计形式输出, 包括学生学号 (NO)、各科成绩、 总成绩 (SUM)、平均分 (AVE)及是否每科都超过 90分(‘ Y’ or ‘N’)

NO

MT

EN

PH

SUM AVE >90

--------------------------------------------------------------------

1

97

87

92

276

92

N

2

92

91

90

273

91

Y

90 81 82 253 84 N

.....

题目分析:在二维数组输入 10 个人三科成绩,在第一层循环计算总数和平均数,并判断平均数是否大于 90.

流程图:

开始

用二维数组输入成绩

按分析进行相应运算

输出列表

结束

程序代码:

#include

#define num 10

int sum(int grade[][3],int i);

int main()

{

int grade[num][3];

int i,j;

int s=0,a=0;

for(i = 0 ;i < num ;i++)

for(j = 0 ;j < 3 ;j++)

scanf("%d",&grade[i][j]);

printf("NO MT EN PH SUM AVE >90\n");

printf("-----------------------------\n");

for(i = 0 ;i < num ;i++)

{

printf("%2d ",i+1);

for(j = 0 ;j < 3 ;j++)

{

printf("%3d ",grade[i][j]);

s += grade[i][j];

}

printf("%4d ",s);

a = s/3.0;

printf("%3d ",a);

if(a >= 90) printf(" Y\n");

else printf(" N\n");

}

return 0;

}

屏幕截图:

例: 输入

题目描述: 统计大写辅音字母个数:某文本共有 3行,每行不超过 80个字符,试编写一个程序统计该文本中大写辅音字母的个数 ( 文本由键盘输入 ) 。

HELLO

IT12

uieiaba

输出There are 4 capital consonant letters in this paper.

题目分析:定义三个字符串数组, 一个字符串数组输入后马上判断字符是否为大写字母同时判断不为 AEIOU五个字符,符合则 count+1 ,直到三个数组输入完毕,输出 count 值。

流程图:

开始

输入三个字符串数组

按分析进行相应运算

输出 count

结束

代码:

#include

main()

{

int count=0,i,r;

char ch,str[81];

printf("Input 3 strings:\n");

for(r=1;r<=3;r++)

{

i=0;

while((ch=getchar())!='\n')

str[i++]=ch;

str[i]='\0';

fo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值