编程题:
.学生的记录由学号和成绩组成N名学生的数据已在主函数中放入结构体数组s中请编写函数fun它的功能是把指定分数范围内的学生数据放在b所指的数组中分数范围内的学生人数由函数值返回
例如输入的分数是和? 则应当把分数在到的学生数据进行输出包含分和分的学生数据主函数中将把放在low中把放在heigh中
注意部分源程序给出如下
请勿改动主函数main和其他函数中的任何内容仅在函数fun的花括号中填入所编写的
若干语句
#include? <stdioh>
#define ? N?
typedef struct
{
char? num[];
int s;
}? STREC;
int? fun ( STREC? *a STREC *b int l int h )
{
}
main ()
{
STREC? s[N]= {{;GA;} {;GA;} {;GA;} {;GA;}
{;GA;} {;GA;} {;GA;} {;GA; }
{;GA;} {;GA;} {;GA;} {;GA;}
{;GA;} {;GA;} {;GA;} {;GA;}};
STREC? h[N]tt;
FILE *out;
int? ijn low heigh t;
printf ( ;Enter integer number low & heigh :? ;);
scanf (;%d%d;? &low &heigh );
if ( heigh < low )
{
t=heigh;
heigh=low;
low=t;
}
n=fun (s h low heigh );
printf ( ;The student ;s data between %d;%d : \n; low heigh );
for (i=; i<n; i++)
printf (;%s? %d\n; h[i] num h[i] s);
printf ( ;\n; );
out=fopen (;outdat; ;w;);
fprintf ( out ;%d\n; n );
n=fun ( s h );
for (i=; i<n; i++)
for (j=i+; j<n; j++)
if(h[i]s>h[j]s)
{
tt=h[i] ;
h[i]=h[j];
h[j]=tt;
}
for(i=;i<n; i++)
fprintf (out ;%d\n; h[i] s);
fprintf ( out ;\n; );
fclose ( out );
}
.请编写函数fun该函数的功能是删去一维数组中所有相同的数使之只剩一个数组中的数已按由小到大的顺序排列函数返回删除后数组中数据的个数
例如若一维数组中的数据是
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
删除后数组中的内容应该是
? ? ? ? ? ? ? ?
注意部分源程序给出如下
请勿改动主函数main和其他函数中的任何内容仅在函数fun的花括号中填入所编写的若干语句
# include <stdioh>
# define? N?
int fun(int a[] int n)
{
}
main()
{
int a[N]={} in=;
printf(;The original data :\n;);
for(i=; i<n; i++)
printf(;%d;a[i]);
n=fun(an);
printf(;\n\nThe data after deleted :\n;);
for(i=;i<n;i++)
printf(;%d;a[i]);
printf(;\n\n;);
}
改错题:
.下列给定程序中函数fun的功能是计算n的次方的值(规定n的值大于小于)通过形参指针传回主函数并计算该值的个位十位百位上数字之和作为函数值返回例如的次方是其低位数的和值是
请改正函数fun中的错误使它能得出正确的结果
注意不要改动main函数不得增行或删行也不得更改程序的结构!
试题程序
#include <stdioh>
#include <mathh>
int fun(int n int *value)
{
int dsi;
/********found********/
d=;
/********found********/
s=;
for(i=; i<=; i++)
d=d*n;
*value=d;
for(i=; i<=; i++)
{
s=s+d%;
/********found********/
s=s/;
}
return s;
}
main()
{
int n sum v;
do
{
printf(;\nEnter n(<n<): ;);
scanf(;%d;&n);
}
while(n<= || n>=);
sum=fun(n&v);
printf(;\n\nThe result:\n value=%d sum=%d\n\n;vsum);
}
.下列给定程序中函数fun的功能是用下面的公式求π的近似值直到最后一项
的绝对值小于指定的数(参数num)为止
π? ? ? ?
-≈ - + - ; - +…
? ? ?
例如程序运行后输入则程序输出
请改正程序中的错误使它能输出正确的结果
注意不要改动main函数不得增行或删行也不得更改程序的结构!
试题程序
#include <mathh>
#include <stdioh>
float fun(float num)
{
int s;
float ntpi;
t=;
pi=;
n=;
s=;
/********found********/
while (t>=num)
{
pi=pi+t;
n=n+;
s=s;
/********found********/
t=s%n;
}
pi=pi*;
return pi;
}
main( )
{
float nn;
clrscr();
printf(;Enter a float number: ;);
scanf(;%f; &n);
n=fun(n);
printf(;%f\n; n);
}