题目描述: 排序:使用起泡法和选择法对 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