请补充函数fun(),该函数的功能是:把ASCⅡ码为偶数的字符从字符串s打中删除,结果仍然保存在字符串srt中,字符串str从键盘输入,其长度作为参数传入函数fun()。
例如,输入“abcdef”,输出“ace”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
inc lude< stdio, h>
define N 80
【 】
{
int i, j;
【 】
for (i=0;i<n;i++)
{
if (s [i] %2!=0)
s [j++]=s [i];
}
【 】;
}
main ()
{
int i=0, strlen=0;
char str[N];
clrscr ();
printf ("\nInput a string:\n");
gets (str);
while (str [i] !=' \0' )
{
strlen++;
i++;
}
fun (str, strlen);
printf("\n*** display string ***\n");
puts (str);
}
第1题
组中,该函数返回所求出的素数的个数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<conio.h>
include<stdio.h>
define MAX 100
int fun(int lim, int se[MAX])
{
}
main()
{
int limit,i,sum;
int aa[MAX];
clrscr();
printf("输入一个整数");
scanf("%d",&limit);
sum=fun(limit,aa);
for(i=0;i<sum;i++)
{
if(i%10==0&&i!=0) /*每行输出10个数*/
printf("\n");
printf("%5d ",aa[i]);
}
}
第3题
A,z转换为a),其他字符不变。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
第5题
请编写函数fun,其功能是:计算并输出下列多项式的值:
例如,在主函数中从键盘给n输入50后,输出为:s=1.718282。
注意:要求n的值大于1但不大于100。部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
第6题
的字符串为:def35adh3kjsdf7。执行结果为:def3*5*adh3*kjsdf7*。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
第7题
数。结果保存在数组bb中,函数fun()返回数组比元素的个数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
include <stdio.h>
define N 100
int fun (int bb [] )
{
int i, j;
for(【 】;i<100; i++)
if ((i%1!=0&&i%5==0)|| (i%2==0&&i%5 !=0)
【 】;
【 】;
}
main()
{
int i, n;
int bb [N];
clrscr ();
n=fun (bb);
for(i=0; i<n; i++)
{
if (i%10==0)
printf ("\n");
printf ("% 4d", bb [i]);
}
}
第8题
项的累计和。在累加过程中把那些被4除后余2的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回主函数里。如,当n的值为20时,该数列为3,8,13,18,23,28,…, 93,98。符合此条件的累加值应为42,126,366,570,1010。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <stdio. h>
define N 20
int fun(iht n, int *a)
/*************found*************/
{ int i, j, k, sum;
sum=0;
for(k=3, i=0;i<n; i++, k+=5)
{ sum=sum+ k;
/************found***************/
if (sum%4=2)
a [j++] =sum;
}
/*************found**************/
return j;
}
main ( )
{ int a[N],d, n, i;
printf("\nEnter n(4<=n<=50): ");
scanf("%d", &n);
d=fun(n, a);
printf("\n\n The result :\n ");
for(i=0;i<d; i++) printf("%6d ",a[i]);
printf("\n\n ");
}
第9题
求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <stdio.h>
include <conio.h>
include <stdlib.h>
typedef struct aa
{ int data;
struct aa *next;
} NODE;
/*************found**************/
fun (NODE *h)
{ int max=-1;
NODE *p;
p=h->next;
while(p)
{ if(p->data>max)
max=p->data;
/*************found**************/
p=h->next;
}
return max;
}
outresult(int s, FILE *pf)
{ fprintf(pf, "\nThe max in link :%d\n
",s);}
NODE *creatlink(int n, int m)
{ NODE *h,*p,*s,*q;
int i, x;
h=p=(NODE *)malloc(sizeof(NODE));
h->data=9999;
for(i=1;i<=n;i++)
{ s=(NODE *) malloc(sizeof(NODE));
s->data=rand()%m; s->next=p->next;
p->next=s; p=p->next;
}
p->next=NULL;
return h;
}
outlink(NODE *h,FILE *pf)
{ NODE *p;
p=h->next;
fprintf(pf, "\n The LIST :\n\n HEAD");
while(p)
{ fprintf(pf, "->%d",p->data);
p=p->next;}
fprintf(pf, "\n");
}
main ( )
{ NODE *head; int m;
clrscr();
head=creatlink(12,100);
outlink(head,stdout);
m=fun(head);
printf("\nThe RESULT :\n"); outresult
(m, stdout);
}
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!