求高手帮我做一下C语言!!!急。。。。。!! 1.某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最

急求C语言大神帮忙!! 急!!!!!! 有三道题!!~

一题:
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void infinfor(int p[],int *pn){
for(;p<pn;p+=2)
scanf("%d%d",p,p+1);
}
void maxid(int a[],int *pa){
int *p,max,maxid;
for(max=-1,p=a;p<pa;p+=2)
if(max<*(p+1)){
max=*(p+1);
maxid=*p;
}
printf("MAX: %d ID: %d
",max,maxid);
}
void mysort(int a[],int *pa){
int i,j,k,n;
for(n=pa-a,i=0;i<n;i+=2){
for(k=i,j=k+2;j<n;j+=2)
if(a[k]>a[j]) k=j;
if(k!=i){
j=a[k];
a[k]=a[i];
a[i]=j;
j=a[k+1];
a[k+1]=a[i+1];
a[i+1]=j;
}
printf("%d %d
",a[i],a[i+1]);
}
}
void main(void){
int a[60],k,n=0;
printf("1.Append record
2.The highest grade and its student id
3.Sort by student id
0.Exit
");
while(1){
printf("Please enter your choice:
");
scanf("%d",&k);
if(k==1){
printf("How many students?
n=");
scanf("%d",&n);
printf("Input %d student(s) id & score...
",n);
n+=n;
infinfor(a,a+n);
}
else if(k==2){
n ? maxid(a,a+n) : printf("No record! Redo...
");
else if(k==3)
n ? mysort(a,a+n) : printf("No record! Redo...
");
else break;
}
printf("
");
}
二题:

1、1234567
s1指针指向1,s2指针指向7
t=*s1++ s1指针指向2(t得到1的值 1)
s1=*s2-- s2指针指向6(值发生改变1734567)
*s2=t; (值发生改变1734517)
2、
s1指针指向2,s2指针指向6
t=*s1++ s1指针指向3(t得到2的值 7)
s1=*s2-- s2指针指向5(值发生改变1714517)
*s2=t; (值发生改变1714717)
3、
s1指针指向3,s2指针指向5
t=*s1++ s1指针指向4(t得到3的值 1)
s1=*s2-- s2指针指向4(值发生改变1711717)
s1=*s2-- s2指针指向5(值发生改变1711717)
4、函数退出

#include
#include
void fun( char *w,int n)
{
char t,*s1, *s2;
s1=w; s2=w+n-1;
while(s1<s2) {t=*s1++; *s1=*s2--; *s2=t;}
}
void main( )
{
char p[10]="1234567";
fun(p,strlen(p));
puts(p);
}

#include <stdio.h>
#define STU 30#define COURSE 3
void Input(long num[],int score[][COURSE],int n);
void GetSumAver(int score[][COURSE],int n,int sum[],float aver[]);
void Sort(long num[],int score[][COURSE],int n,int sum[],float aver[]);
void Print(long num[],int score[][COURSE],int n,int sum[],float aver[]);
int Search(long num[], int n, long x);

main()
{
int n, score[STU][COURSE], sum[STU], pos;
long num[STU], x;
float aver[STU];

printf("Please enter the total number of the students(n<=30):"); scanf("%d", &n); /*输入参加考试的学生人数*/
printf("Enter No. and score as: MT EN PH\n"); Input(num, score, n); /*输入学生成绩*/
GetSumAver(score, n, sum, aver); /*计算总分和平均分*/
printf("Before sort:\n");
Print(num, score, n, sum, aver);

Sort(num, score, n, sum, aver); /*排名次*/
printf("After sort:\n");
Print(num, score, n, sum, aver);

printf("Please enter searching number:");
scanf("%ld", &x); /*以长整型格式输入待查找学生的学号*/
pos = Search(num, n, x); /*名次查询*/
if (pos != -1)
{
printf("position:\t NO \t MT \t EN \t PH \t SUM \t AVER\n");
printf("%8d\t%4ld\t%4d\t%4d\t%4d\t%5d\t%5.0f\n",
pos+1,num[pos], score[pos][0],score[pos][1],
score[pos][2], sum[pos],aver[pos]);
}
else
{
printf("Not found!\n");
}
}

/* 函数功能:输入某班学生期末考试三门课程成绩
函数参数:长整型数组num,存放学生学号
整型数组score,存放学生成绩
整型变量n,存放学生人数
函数返回值:无
*/
void Input(long num[], int score[][COURSE], int n)
{
int i, j;

for (i=0; i<n; i++)
{
scanf("%ld", &num[i]);
for (j=0; j<COURSE; j++)
{
scanf("%d", &score[i][j]);
}
}
}

/* 函数功能:计算每个学生的总分和平均分
函数参数: 整型数组score,存放学生成绩
整型变量n,存放学生人数
整型数组sum,计算得到的每个学生的总分
实型数组aver,计算得到的每个学生的平均分
函数返回值:无
*/
void GetSumAver(int score[][COURSE], int n, int sum[], float aver[])
{
int i, j;

for (i=0; i<n; i++)
{
sum[i] = 0;
for (j=0; j<COURSE; j++)
{
sum[i] = sum[i] + score[i][j];
}
aver[i] = (float)sum[i] / COURSE;
}
}

/* 函数功能:按总分成绩由高到低排出成绩的名次
函数参数:长整型数组num,存放学生学号
整型数组score,存放学生成绩
整型变量n,存放学生人数
整型数组sum,存放每个学生的总分
实型数组aver,存放每个学生的平均分
函数返回值:无
*/
void Sort(long num[],int score[][COURSE], int n, int sum[], float aver[])
{
int i, j, k, m;
int temp1;
long temp2;
float temp3;

for (i=0; i<n-1; i++)
{
k = i;
for (j=i+1; j<n; j++)
{
if (sum[j] > sum[k]) k = j;
}
if (k != i)
{
temp1 = sum[k]; sum[k] = sum[i]; sum[i] = temp1;
temp2 = num[k]; num[k] = num[i]; num[i] = temp2;
temp3 = aver[k]; aver[k] = aver[i]; aver[i] = temp3;
for (m=0; m<COURSE; m++)
{
temp1 = score[k][m];
score[k][m] = score[i][m];
score[i][m] = temp1;
}
}
}
}

/* 函数功能: 打印名次表,表格内包括学生编号、各科分数、总分和平均分
函数参数: 长整型数组num,存放学生学号
整型数组score,存放学生成绩
整型变量n,存放学生人数
整型数组sum,存放每个学生的总分
实型数组aver,存放每个学生的平均分
函数返回值:无
*/
void Print(long num[], int score[][COURSE], int n,
int sum[], float aver[])
{
int i, j;

printf(" NO \t| MT \t EN \t PH \t SUM \t AVER\n");
printf("----------------------------------------------------\n");
for (i=0; i<n; i++)
{
printf("%ld\t| ", num[i]);
for (j=0; j<COURSE; j++)
{
printf("%4d\t", score[i][j]);
}
printf("%5d\t%5.0f\n", sum[i], aver[i]);
}
}

/* 函数功能:在学号数组中顺序查找学生的学号
函数参数:长整型数组num,存放学生学号
整型变量n,存放学生人数
长整型变量x,存放待查找学生的学号
函数返回值:找到时,返回学生学号在学号数组中的下标位置,否则返回值-1
*/
int Search(long num[], int n, long x)
{
int i;

for (i=0; i<n; i++)
{
if (num[i] == x) return(i);
}
return (-1);
}

补充下问题啊

把问题写清楚点

没写完啊,怎么做?

题目呢

求高手帮我做一下这道c语言编程题目
答:include <stdio.h> include <math.h> define PI 3.14 //圆周率 define RAD 6371 //地球半径 int main(){ double peri; //小圆周长 double rad; //小圆半径 double length;double longitudeA , longitudeB; //A,B经度 double latitude; //A,B纬度 double temp;printf("...

有哪位编程高手能够帮 我用C语言写一个关于算术表达式求值的程序...
答:/*在TC2 和 VC6下都可以顺利运行。做了一个下午。一定要用我这个噢。有简单的输入错误检测。有完整的说明和 注释*/ include<stdio.h> /*库文件包含*/ include<string.h> /*用于字符串操作*/ include<stdlib.h> /*用于exit函数*/ / int check(char *c)输入参数:char *c: 输入的字符串 ...

那个高手帮一下忙。帮我编一个c语言程序。。。急啊 。。。急
答:C语言 四舍五入函数floor()和ceil() 函数名:ceil 功能:向上舍入 用法:doubleceil(doublex); 函数名:floor 功能:向下舍入 用法:doublefloor(doublex); 程序例: #include<math.h> #include<stdio.h> intmain(void) { doublenumber=123.54; doubledown,up; down=floor(number); up=ceil(...

谁能帮我设计一个C语言程序,求解方程组的,急啊,哪位高手帮下咯,万分感...
答:;exit(1);} nu++;} while(fabs(dx)>1e-6);return x;} void main(){ int i;float *x;float c[12]={5,2,1,8,2,8,-3,21,1,-3,-6,1};float *GauseSeidel(float *,int);x=GauseSeidel(c,3);for(i=0;i<=2;i++)printf("x[%d]=%f\n",i,x[i]);getch();} ...

请高手帮我编出一个c语言程序!急
答:题有点大,先问一下什么需求吧!1.无效代码用不用判断。(包括预处理部分和用注释的方式注掉的代码)还有,预处理里面的函数定义要不要算上?2.要解析的文件中的函数定义有没有什么规范。比如int main( int a, char* b[] )这样,中间肯定有或者肯定没有空格或者TAB。3.会不会出现一行中有多个...

高手用C帮我编写几个程序,我学习参考。~!!
答:冒泡法排序思路:从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使 这两个数交换位置。第一遍的(N-1)次比较后,最大的数已放在最后,第二遍只需考虑(N-1)个数,以 此类推直到第(N-1)遍比较后就可以完成排序。另外注意:c语言中的数组元素下标是从0开始...

请高手帮忙编写C语言程序,万分感谢!!
答:各个细节就不加说明了,因为你题目已经说了;本人是正在学C语言,为了帮你编这个程序用了1个小时左右,希望多多支持一下,如果发现有什么错误的地方,请留言;谢谢 ~~~include<stdio.h> void input(float *p,int n){ float a[n];int i;for(i=0;i<n;i++){ (p+i)=&(a+i);} } void outpu...

求各位高手帮忙作一下C语言作业
答:0]=min;} printf("output 10 new numbers:\n");for(i=0;i<10;i++)printf("%d ",num[i]);printf("\n");getch();return 0;} 第二题:include <stdio.h> int length(char *p) /* strlen()函数原型,求一个字符串的长度 */ { int n=0;while(*p!='\0'){ n++;p++;} ...

用C语言写一段程序,高手快来哦!
答:include <stdio.h> define RANGE 15 int get_min_id(int * x, int range){ int i = 0, j = 0, m = 99999999L;for(i = 0; i < range; i++) { if (x[i] < m) { m = x[i];j = i;} } return j;} void sort(int x[RANGE]){ int i = 0, j = 0, r = 0...

请个高手帮我写一小段C语言程序
答:我运行过的 绝对正确 顺便告诉你一些画图的函数 进入了图形模式后我们就可以用图形函数进行画图拉!在此先给大家介绍几个常用的和好理解的图形函数:bar 【功能】画出一条栏目。【原型】void far bar(int left,int top,int right,int bottom)bar3d 【功能】画出一条3-D栏目。【原型】void far ...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网