活动设计题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
#include<string.h>
#define N 16
typedef struct
{char num[10];
int s;
}STREC;
STREC fun(STREC *a. char *b)
{
}
main()
{STREC s[N]={{'GA005', 85}, {'GA003', 76},
{'GA002', 69}, {'GA004', 85}, {'GA001', 91},
{'GA007', 72}, {'GA008', 64}, {'GA006', 87},
{'GA015', 85}, {'GA013', 91}, {'GA012', 64},
{'GA014', 91}, {'GA011', 77}, {'GA017', 64},
{'GA018', 64}, {'GA016', 72}};
STREC h;
char m[10];
int i; FTTE *out;
printf('The original data:\n');
for(i=0; i<N; i++)
{ if(i%4==0) printf('\n');
printf('%s %3d', s[i].num, s[i].s);
}
printf('\n\nEnter the number:'); gets(m);
h=fun(s, m);
printf('The data:');
printf('\n%s %4d\n', h.num, h.s);
printf('\n');
out=fopen('out.dat', 'w');
h=fun(s, 'GA013');
fprintf(out, '%s %4d\n', h.num, h.s);
fclose(out);
}
活动设计题
请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。
例如:若有5门课程的成绩是:90.5,72,80,61.5,55。则函数的值为:71.80。
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
float fun (float *a, int n)
{
}
main()
{ float score [30]={90.5,72, 80,61.5,55},aver;
void NONO();
aver=fun(score, 5);
printf('\nAverage score is: %5.2f\n',aver);
NONO();
}
void NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf;
int i, j;
float aver, score[5];
fp=fopen('in.dat','r');
wf=fopen('out.dat','w');
for(i=0; i<10; i++) {
for(j=0; j<5; j++) fscanf(fp,'%f,',score[j]);
aver=fun(score, 5);
fprintf(wf, '%5.2f\n', aver);
}
fclose(fp);
fclose(wf);
}
活动设计题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。
例如,字符串中的内容为:****A*BC*DEF*G******,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为:****A*BC*DEF*G*******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。提示:建议从字符串尾统计*的个数。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include <stdio.h>
void fun(char*a,int n)
{
}
main()
{ char s[81]; int n;
printf('Enter a string:\n');gets(s);
printf('Enter n:');scanf('%d',n);
fun(s,n);
printf('The string after deleted:\n');puts(s);
}
活动设计题
请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。
例如:若有5门课程的成绩是:90.5,72,80,61.5,55。则函数的值为:71.80。
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
float fun (float *a, int n)
{
}
main()
{ float score [30]={90.5,72, 80,61.5,55},aver;
void NONO();
aver=fun(score, 5);
printf('\nAverage score is: %5.2f\n',aver);
NONO();
}
void NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf;
int i, j;
float aver, score[5];
fp=fopen('in.dat','r');
wf=fopen('out.dat','w');
for(i=0; i<10; i++) {
for(j=0; j<5; j++) fscanf(fp,'%f,',score[j]);
aver=fun(score, 5);
fprintf(wf, '%5.2f\n', aver);
}
fclose(fp);
fclose(wf);
}
活动设计题 函数fun的功能是:将a、b中的两个正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。
例如,当a=45,b=12。调用该函数后,c=5241。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
void fun(int a,int b,long*c)
{
}
main()
{inc a,b;long c;
printf('Input a,b:');
scanf('%d%d',&a,&b);
fun(a,b,&c);
printf('The result is:%ld\n',c);
}
活动设计题下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(inta[][N],intm),该函数的功能是使数组右上半三角元素中的值乘以m。例如,若m的值为2,a数组中的值为:则返回主程序后a数组中的值应为:注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<conio.h>#include<stdio.h>#include<stdlib.h>#include<string.h>#defineN5voidfun(inta[][N],intm){}main(){inta[N][N],m,i,j;FILE*out;printf('***Thearray***\n');for(i=0;i<N;i++){for(j=0;j<N;j++){a[i][j]=rand()%20;printf('%4d',a[i][j]);}printf('\n');}m=rand()%4;printf('m=%4d\n',m);fun(a,m);printf('THERESULT\n');for(i=0;i<N;i++){for(j=0;j<N;j++)printf('%4d',a[i][j]);printf('\n');}/*********found*********/out=fopen('out.dat','w');for(i=0;i<N;i++)for(j=0;j<N;j++)a[i][j]=i*j;fun(a,8);for(i=0;i<N;i++){for(j=0;j<N;j++)fprintf(out,'%4d',a[i][j]);fprintf(out,'\n');}fclose(out);/*********found*********/}
活动设计题 学生记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组中,请编写函数fun,其功能是:把分数最低的学生数据放入b所指的数组中。注意:分数最低的学生可能不止一个,函数返回分数最低的学生人数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#define N 16
typedef struct
{char num[10];
int s;
}STREC;
int fun(STREC *a,STREC *b)
{
}
main()
{
STREC s[N]={{'GA05',85},{'GA03',76},{'GA02',59},{'GA04',85},
{'GA01',91},{'GA07',72},{'GA08',64},{'GA06',87},
{'GA015',85},{'GA013',91},{'GA012',64},{'GA014',91},
{'GA011',91},{'GA017',64},{'GA018',64},{'GA016',72}};
STREC h[N];
int i, n; FILE *out;
int i,n;
n=fun(s,h);
printf('The %d lowest score:\n',n);
for(i=0;i<n;i++)
printf('%s %4d\n',h[i].num,h[i].s);
printf('\n');
out=fopen('out,dat','w');
fprintf out, '%drn',n);
forli=0;i(n;i++)
fprintf(out,'%40||n',h[i],s);
fclose(out);
}
活动设计题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其它*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****ABCDEFG。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include<stdio.h>
void fun(char*a)
{
/*以下代码仅供参考*/
int i=0,k;
while(a[i]=='*')i++;
k=i;
while(a[i]!='\0')/*以下程序段实现非*字符前移*/
{
}
a[k]='\0';
}
main()
{char s[81];
printf('Enter a string:\n');gets(s);
fun(s);
printf('The string after deleted:\n');puts(s);
}
活动设计题 函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12时,调用该函数后,c=5142。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入要编写的若干语句。
#include<stdio.h>
void fun(int a,int b,long*c)
{
}
main()
{int a,b;long c;
void NONO();
printf('Input a,b:');
scanf('%d,%d',a,b);
fun(a,b,c);
printf('The result is:%1d\n',c);
NONO();
}
voidNONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*rf,*wf;
int i,a,b;long c;
rf=fopen('in.dat','r');
wf=fopen('out.dat','w');
for(i=0;i<10;i++){
fscanf(rf'%d,%d',a,b);
fun(a,b,c);
fprintf(wf,'a=%d,b=%d,c=%1d\n',a,b,c);
}
fclose(rf);
fclose(wf);
}
活动设计题程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(inta[][N]),函数的功能是:使数组左下三角元素中的值全部置成0。例如:a数组中的值为则返回主程序后a数组中的值应为请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。给定源程序:#include<stdio.h>#include<stdlib.h>#defineN5voidfun(inta[][N]){}main(){inta[N][N],i,j;printf('*****Thearray*****\n');for(i=0;i<N;i++){for(j=0;j<N;j++){a[i][j]=rand()%10;printf('%4d',a[i][j]);}printf('\n');}fun(a);printf('THERESULT\n');for(i=0;i<N;i++){for(j=0;j<N;j++)printf('%4d',a[i][j]);printf('\n');}}
活动设计题 编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和干位上,b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12时,调用该函数后,c=5142。
注意:部分源程序给出如下。数据文件INDAT中的数据不得修改。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。
试题程序:
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
void fun(int a ,int b,long *c)
{
}
void main()
{
int a,b;
long c;
system('CLS');
printf('Input a,b:');
scanf('%d%d',a,b);
fun(a,b,c);
printf('The result is:%ld\n',c);
}
活动设计题 学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数proc(),它的功能是:把指定分数范围之外的学生数据放在b所指的数组中,分数范围之外的学生人数由函数值返回。
例如,输入的分数是70和79,则应当把分数低于70和高于79的学生数据输出,不包含70分和79分的学生数据。主函数中把70放在low中,把79放在heigh中。
注意:部分源程序如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#define M 16
typedef struct
{
char num[10];
int s;
}
STREC;
int proc(STREC*a,STREC*b,int l,int h)
{
}
void main()
{
STREC stu[M]={{'GA005',55},{'GA003',96},
{'GA002',80},{'GA004',68},
{'GA001',88},{'GA007',74},
{'GA008',85},{'GA006',89},
{'GA015',90},{'GA013',53},
{'GA012',66},{'GA014',82},
{'GA011',73},{'GA017',69},
{'GA018',64},{'GA016',86}};
STREC h[M];
int i,n,low,heigh,t;
printf('Enter 2 integer number low
heigh:');
scanf('%d%d',low,heigh);
if(heigh<low)
{
t=heigh;
heigh=low;
low=t;
}
n=proc(stu,h,low,heigh);
printf('The student's data out
%d--%d:\n',low,heigh);
for(i=0;i<n;i++)
printf('%s%4d\n',h[i].num,h[i].s);
//输出指定分数范围内的学生记录
printf('\n');
}
活动设计题 请编写函数fun,该函数的功能是:计算并输出n(包括n)以内所有能被5或9整除的自然数的倒数之和。
例如,若主函数中从键盘给n输入20后,则输出为S=0.583333。
注意:n的值要求不大于100。部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
double fun(int n)
{
}
main()
{
int n;
double s;
printf('\nInput n:');
scanf('%d',n);
s=fun(n);
printf('\n\n S=%f\n',s);
}
活动设计题 请编写函数fun,其功能是:判断形参n中的正整数是几位数(输入数据的位数不超过4位),并将结果通过函数值返回。例如:若输入的数据为123,则输出结果为:输入的数字是3位。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中
填入所编写的若干语句。
试题程序:
#include <stdio.h>
void NONO();
int fun(int n)
{
}
main()
{ int n,place;
do{ printf('请输入一个4位以内的正整数: ');
scanf('%d',n);
}while(n<0||n>9999);
place=fun(n);
printf('输入的数字是%d位\n',place);
NONO();
}
void NONO() /*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件*/
{ FILE *fp,*wf;
int i,n,place;
fp=fopen('c:\\test\\in.dat','r');
wf=fopen('c:\\test\\out.dat','w');
for(i=0;i<10;i++)
{ fscanf(fp,'%d',n);
place=fun(n);
fprintf(wf,'%d\n',place);
}
fclose(fp);
fclose(wf);
}
活动设计题 编写函数fun,它的功能是:求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。
例如,若n为1000时,程序输出应为:s=153.909064。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include <math.h>
#include <stdio.h>
double fun( int n)
{
}
main()/* 主函数 */
{ void NONO();
printf('s=%f\n', fun(1000));
NONO();
void NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE* fp,* wf;
int i,n;
double s;
fp = fopen('in.dat','r');
wf=fopen('out.dat','w');
for(i = 0; i<10 ; i++) {
fscanf(fp,'%d',n) ;
s = fun(n) ;
fprintf(wf,'%f\n',s) ;
}
fclose(fp) ;
fclose(wf) ;
}
选择题 有如下程序:
#include <stdio.h>
main()
{
int i,*ptr;
int array[5] = {5,3,1};
for(ptr=array, i=0; i<5; i++, ptr++)
{
if (*ptr == 0)
putchar('X');
else
putchar('A'+*ptr);
}
printf('\n');
}
程序运行后的输出结果是______。
选择题 已定义以下函数:
int fun(int *p)
{ return *p; }
fun函数返回值是______。
选择题 下列描述错误的是______。
选择题 有如下程序:
#include <stdio.h>
struct person
{
char name[10];
int age;
};
main( )
{
struct person room[2] = {{'Wang',19},{'Li',20}};
printf('%s:%d\n',(room+1)->name,room->age);
{
程序运行后的输出结果是______。
选择题 有以下程序:
# include <stdio.h>
int f(int t[],int n);
main()
{ int a[4]={1,2,3,4},s;
s=f(a,4);printf('%d\n',s);
int f(int t[],int n)
{if(n>0) return t[n-l]+f(t,n-1);
else return 0;
}
程序运行后的输出结果是______。
