C语言上机100套题 联系客服

发布时间 : 星期五 文章C语言上机100套题更新完毕开始阅读

void fun (char *a) {

char *p=a;

while(*p==′*′) p++;

for(;*p!=′\\0′;p++,a++) *a=*p;

*a=′\\0′; }

30◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到student.dat文件中。函数fun的功能是:从文件中找出指定学号的学生数据,读入此学生数据,对该学生的分数进行修改,使每门课的分数加3分,修改后重写文件中学生的数据,即用该学生的新数据覆盖原数据,其它学生数据指定不变;若找不到,则不做任何操作。 【答案】【1】fp 【2】== 【3】fp 【改错】下列给定程序中函数fun的功能是:用插入排序法对字符串中的字符进行升序排列。插入法的基本算法是:先对头两个字符进行排序,然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,??。待排序的字符串已在主函数中赋予。 【答案】【1】n=strlen( aa ) ; 【2】ch=aa[i];

【编程】N名学生的成绩已在主函数中放入一个带有头节点的链表结构中,h指向链表的头节点。请编写函数fun,其功能是:找出学生的最高分,并由函数值返回。 【答案】

double fun(STREC *h) {

double max=h->s; while(h!=NULL)

{ if(maxs) max=h->s; h=h->next; }

return max; }

31◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】下列给定程序中函数fun的功能是:计算下式前n项的和,并作为函数值返回。

例如,当形参n的值为10时,函数返回:-0.204491 【答案】【1】1【2】2*i 【3】(-1)

【改错】下列给定程序中函数fun的功能是:判断一个整数是否为素数,若是素数返回1,否则返回0。

在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。

【答案】【1】k++ ; 【2】if(m==k)

【编程】请编写函数fun,其功能是:找出一维整型数组元素中最大的值及其所在的下标,并通过形参传回。数组元素中的值已在主函数中赋予。

主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。 【答案】

void fun(int a[],int n, int *max, int *d) {

int i;

*max=a[0]; *d=0;

for(i=0;i

{*max=a[i];*d=i;} }

32◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】下列给定程序中函数fun的功能是计算下式 直到,并将计算结果作为函数值返回。例如,若形参e的值为1e-3,函数的返回值为2.985678。 【答案】【1】0 【2】i++ 【3】2.0*i

【改错】下列给定程序中函数fun的功能是:将s所指字符串的正序和反序进行连接,形成的新串放在t所指的数组中。

例如,当s所指字符串为:\时,t所指字符串中的内容应为:\。 【答案】

【1】void fun ( char *s , char *t ) 【2】t[d+i]=0;

【编程】编写函数fun,其功能是:将s所指字符串中除了下标为奇数同时ASCII值也为奇数的字符之外,其余的所有字符全部删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若s所指字符串的内容为:\,其中字符A的ASCII码值为奇数,但所在元素的下标为偶数,因此需要删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其它依此类推。最后t所指数组中的内容应为:\。 【答案】

void fun(char *s,char t[]) {

int i,j=0,n; n=strlen(s);

for(i=0;i

if(i%2!=0&&s[i]%2!=0) {

t[j]=s[i]; j++; }

t[j]=′\\0′; }

33◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】下列给定程序中函数fun的功能是:在形参s所指字符串中的每个数字字符之后插

入一个*号。例如,形参s所指的字符串为def35adh3kjsdf7,执行后结果为def3*5*adh3*kjsdf7* 【答案】【1】&& 【2】0 【3】s[j]

【改错】下列给定程序中函数fun的功能是:根据整型形参m,计算如下公式的值。 例如,若m的值为5,则应输出1.463611。 【答案】

【1】for(i=2;i<=m;i++) 【2】y+=1.0/(i*i);

【编程】编写函数fun,其功能是:实现B=A+A',即将矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。例如,输入下面的矩阵: 其转置矩阵为: 1 2 3 1 4 7 4 5 6 2 5 8 7 8 9 3 6 9 程序输出: 2 6 10 6 10 14 10 14 18 【答案】

void fun (int a[3][3], int b[3][3]) {

int i,j;

for(i=0;i<3;i++) for(j=0;j<3;j++)

b[i][j]=a[i][j]+a[j][i]; }

34◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】给定程序中,函数fun的功能是将不带头结点的单向链表逆置,即若原链表中从头至尾结点数据域一次为2,4,6,8,10,逆置后,从头至尾结点数据域依次为10,8,6,4,2.

【答案】【1】NODE 【2】next 【3】r 【改错】下列给定程序中,函数fun的功能是:将字符串s中的位于奇数位置的字符或ASCII码为偶数的字符依此放入字符串t中。例如,字符串中的数据为AABBCCDDEEFF,则输出应当是ABBCDDEFF。 【答案】【1】if(i%2 || s[i]%2==0) 【2】t[j]=0;

【编程】请编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按列的顺序依此放到一维数组中。一维数组中数据的个数存放在形参n所指的存储单元中。 例如,若二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55

则一维数组中的内容应是:

33 44 55 33 44 55 33 44 55 33 44 55 【答案】

void fun(int (*s)[10],int *b,int *n,int mm,int nn) {

int i,j;

for(j=0;j

b[*n]=*(*(s+i)+j); *n=*n+1; } }

35◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数fun的功能是:将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。 例如,若传给形参a的数据中学号、姓名和三门课的成绩依次是:10001、\、95、80、88,修改后的数据应为:10002、\、96、81、89。 【答案】【1】 struct student 【2】a.name 【3】a.score[i] 【改错】假定整数数列中的数不重复,并存放在数组中。下列给定程序中函数fun的功能是:删除数列中值为x的元素。变量n中存放数列中元素的个数。 【答案】【1】if(p==n) return -1; 【2】a[i]=a[i+1];

【编程】学生记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组中,请编写函数fun,其功能是:把分数最低的学生数据放入b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生人数。 【答案】

int fun(STREC *a,STREC *b) {

int i,j=0,n=0,min; min=a[0].s;

for(i=0;i

*(b+j)=a[i];j++;n++; } return j; }

36◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】给定程序中,函数fun的功能是将带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2,4,6,8,10,逆置后,从头至尾结点数据域依次为10,8,6,4,2.

【答案】【1】next【2】NULL【3】r 【改错】下列给定程序中函数fun的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。 【答案】【1】r=t;【2】r=t;