C语言题 在线等待,急,高手帮忙

2.输入10个学生的学号和数学课成绩,输出成绩最好的学生的成绩以及对应的学号,换行输出10学生的平均成绩。3.写一个函数,实现给定的一个3*2的二维整型数组转置,并输出转... 2.输入10个学生的学号和数学课成绩,输出成绩最好的学生的成绩以及对应的学号,换行输出10学生的平均成绩。
3.写一个函数,实现给定的一个3*2的二维整型数组转置,并输出转置举证。
展开
 我来答
匿名用户
2012-01-07
展开全部
2.输入10个学生的学号和数学课成绩,输出成绩最好的学生的成绩以及对应的学号,换行输出10学生的平均成绩。
#include<stdio.h>

int main()
{
int score[10][2]={0};
int i,max,maxx,sum=0;

for(i=0;i<10;i++)
{
printf("请输入第%d个学生的学号: ",i+1);
scanf("%d",&score[i][0]);
fflush(stdin);
printf("请输入第%d个学生的数学课成绩: ",i+1);
scanf("%d",&score[i][1]);
sum+=score[i][1];
}

max=score[0][1];
maxx=score[0][0];
for(i=0;i<10;i++)
{
if(score[i][1] > max)
{
max=score[i][1];
maxx=score[i][0];
}
}

printf("成绩最好的学生的成绩为: %d,对应的学号为: %d\n",max,maxx);
printf("学生的平均成绩为: %.2f\n",sum/10.0);

return 0;
}

3.写一个函数,实现给定的一个3*2的二维整型数组转置,并输出转置举证。
#include<stdio.h>
#define m 3
#define n 2

void getResult(int a[m][n],int b[n][m])
{
int i,j;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
b[j][i]=a[i][j];
}
}
printf("转置后的数组为: \n");
for(j=0;j<n;j++)
{
for(i=0;i<m;i++)
{
printf("%d\t",b[j][i]);
}
printf("\n");
}
}

int main()
{
int i,j;
int a[m][n],b[n][m];
printf("请输入数组数据\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("输入的数组为: \n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
getResult(a,b);
return 0;
}
上海勤革
2024-10-18 广告
Golang程序员在准备面试时,可以参考多个在线刷题平台来提高编程能力和解题技巧。虽然没有具体的网址,但常见的刷题网站通常会提供丰富的算法题库、在线编程环境以及详细的题目解析。通过不断练习,Golang程序员能够加深对常用数据结构和算法的理... 点击进入详情页
本回答由上海勤革提供
夜游神小翠
2012-01-07 · TA获得超过1795个赞
知道小有建树答主
回答量:416
采纳率:0%
帮助的人:167万
展开全部
第2题:
#include<stdio.h>
void main()
{
int grade[10][2];
int i, max=0, id;
float sum=0, ave;
printf("请输入10个学生的学号和成绩:\n");
for(i=0;i<10;i++)
{
printf("学号:");
scanf("%d",&grade[i][0]);
printf("数学成绩:");
scanf("%d",&grade[i][1]);
printf("\n");
}
max = grade[0][1];
for(i=0;i<10;i++)
{
sum += grade[i][1];
if(max < grade[i][1])
{
max = grade[i][1];
id = grade[i][0];
}
}
ave = sum/10;
printf("成绩最高的学生成绩为:%d,学号为:%d\n",max,id);
printf("10个学生的平均成绩为:%f\n",ave);
}
第3题:
#include<stdio.h>
void main()
{
int source[3][2], count=0;
int i, j;
printf("请输入一个3×2的矩阵:\n");
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
scanf("%d",&source[i][j]);
}
printf("转置后的矩阵为:\n");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf("%2d ",source[j][i]);
count++;
if(count == 3)
printf("\n");
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友42424867b
2012-01-07 · 超过31用户采纳过TA的回答
知道答主
回答量:176
采纳率:50%
帮助的人:35.6万
展开全部
第二题的算法是将一个二维数组的值与其行号和列号相反的值互换即可

void fun (int a[3][2])
{
int i, j, b[2][3];
for (i = 0; i < 2; i++)
for(j = 0; j < 3; j++)
{
b[i][j] = a[j][i];
}

for (i = 0; i < 2; i++)
{
for(j = 0; j < 3; j++)
{
printf("%d ",b[i][j]);
}
printf("\n");
}

}
追问
能不能写出来啊?
追答
第二题,我在tc下验证了,符合你的要求,你给出的第一小题,我觉得要是你学习了结构体的话,最好使用结构体来处理,比价符合习惯,结果也要准确些,同意一楼看法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
baowenbo2011
2012-01-08 · TA获得超过151个赞
知道小有建树答主
回答量:402
采纳率:0%
帮助的人:209万
展开全部
简单点吧
int main()
{
int a[10];
for(int i=0;i<10;i++)
scanf("%d",&a[i])
int m=0 ;//记录最高
for(i=0;i<10;i++)
if(a[i] >= s[i-1])
m = s[i].grade;
printf("\n%d",m);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
唐门云夕
2012-01-07 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:137
采纳率:100%
帮助的人:66.5万
展开全部
大不了一个一个找啊。建一个结构体就好了
更多追问追答
追问
你帮我做啊 急啊 高手!
追答
struct student {
int StuNum;
flaot grade;
};

void main()
{
// 输入数据;
struct student s[10];
int m ;//记录最高
for(i=0;i= s[i-1].grade)
m = s[i].grade;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式