1.
一个班三十个人,用一维数组保存学生的高数成绩,并统计出最高分、最低分和平均分,以及各分数段的人数,即90-100,80-89,70-79,60-69,60以下。2.
有15个数存放在一个数组中,首先对这15个数进行排序;接着输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。以15个数用赋初值的方法在程序中给出。要找的数用scanf函数输入。3.
请编写一个程序,从键盘读取一个字符串,并确定该字符串是否为回文。(顺读和倒读都一样的字符串就称为回文。例如:Madam和Anna就是回文字符串。忽视大小写。)至少准备两组测试数据:①字符串是回文,例如:madam。②字符串不是回文,例如:final。4. 两个具有相同行数和列数的矩阵可以相乘得出第三个矩阵。假设有如下两个矩阵: A= B= 矩阵A和B的乘积是第三个矩阵C,其大小为n*n, C的每个元素由下面等式给定: 编写一个程序先读取A和B的元素,再计算矩阵C。①
A、B两个数组的值在程序中通过初始化方式得到。② A、B两个数组的值通过scanf函数得到,并检查结果是否正确。
1. 一个班三十个人,用一维数组保存学生的高数成绩,并统计出最高分、最低分和平均分,以及各分数段的人数,即90-100,80-89,70-79,60-69,60以下。
2. 有15个数存放在一个数组中,首先对这15个数进行排序;接着输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。以15个数用赋初值的方法在程序中给出。要找的数用scanf函数输入。
3. 请编写一个程序,从键盘读取一个字符串,并确定该字符串是否为回文。(顺读和倒读都一样的字符串就称为回文。例如:Madam和Anna就是回文字符串。忽视大小写。)
至少准备两组测试数据:
①字符串是回文,例如:madam。
②字符串不是回文,例如:final。
4. 两个具有相同行数和列数的矩阵可以相乘得出第三个矩阵。假设有如下两个矩阵:
A= B=
矩阵A和B的乘积是第三个矩阵C,其大小为n*n, C的每个元素由下面等式给定:
编写一个程序先读取A和B的元素,再计算矩阵C。
① A、B两个数组的值在程序中通过初始化方式得到。
② A、B两个数组的值通过scanf函数得到,并检查结果是否正确。
看下了
c语言数组问题
答案:5 悬赏:0
解决时间 2021-03-03 00:06
- 提问者网友:熱戀丶瘋
- 2021-03-02 07:24
最佳答案
- 二级知识专家网友:甜野猫
- 2021-03-02 08:12
我是路过的,不自己写的别人写了你也不会,何用
全部回答
- 1楼网友:陪我到地狱流浪
- 2021-03-02 12:11
有木有搞错
- 2楼网友:心与口不同
- 2021-03-02 11:39
才5分 这么长的题。。
- 3楼网友:荒唐后生
- 2021-03-02 10:19
哥,惊呆了
- 4楼网友:ー何必说爱
- 2021-03-02 09:01
//一个班三十个人,用一维数组保存学生的高数成绩,并统计出
//最高分、最低分和平均分,以及各分数段的人数,即90-100,80-89,70-79,60-69,60以
#include
int main()
{
下。
int a[30];
int b[5]={0};//保存每个阶段的人数
int i;
int max=0;//保存最高成绩
int min=100;//保存最低成绩
int sum=0;//保存总分
for(i=0;i<30;i++)
{
scanf("%d",&a[i]);
if(a[i]>max) max=a[i];
if(a[i]=60&&a[i]<70) b[1]++;
else if(a[i]>=70&&a[i]<80) b[2]++;
else if(a[i]>=80&&a[i]<90) b[3]++;
else b[4]++;
}
printf("最高分%d\n",max);
printf("最低分%d\n",min);
printf("平均分%d\n",sum/30);
printf("90-100分的人数%d\n80-89分的人数%d\n70-79分的人数%d\n60-69分的人数%d\n60以下分的人数%d",b[4],b[3],b[2],b[1],b[0]);
return 0;
}
2. 有15个数存放在一个数组中,首先对这15个数进行排序;接着输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。以15个数用赋初值的方法在程序中给出。要找的数用scanf函数输入。
#include
void find(int a[],int ans) //折半查找
{
int left=0,rigth=14;
int mid;
while(left<=rigth)
{
mid=(left+rigth)/2;
if(a[mid]==ans) {printf("要找的数字在第%d个\n",mid+1);break;}
else if(a[mid]>ans) rigth=mid-1;
else left=mid+1;
}
if(left>rigth) printf("找不到此数");
}
void main(){
int a[15]={10,7,5,15,65,54,82,64,23,165,59,66,71,85,31};
//冒泡排序吧,升序
int swap;
int i;
for( i=0;i<14;i++)
for(int j=i+1;j<15;j++)
{
if(a[i]>a[j])
{
swap=a[i];
a[i]=a[j];
a[j]=swap;
}
}
int ans;
printf("输入你找的数:");
scanf("%d",&ans);
find(a,ans);
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯