printf(\
printf(\ puts(a); }
第 1 处填空:n--或--n 或 n-=1 或 n=n-1 第 2 处填空:s[i]=s[n]或*(s+i)=*(s+n) 第 3 处填空:s[n]=t 或*(s+n)=t
改错题
下列给定的程序中,函数 fun 的功能是:依次取出字符串中 所以数字字符,形成新的字符串,并取代原字符串。
请改正函数 fun 中的错误,使程序能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改 程序的结构!
试题程序:#include
#include
{
int i, j;
/********found********/ for (i=0, j=0; s[i]!='\\0'; i++) if (s[j]>='0' && s[i]<='9') s[j] = s[i]; /********found********/
s[j] = \ } main()
{
char item[80]; printf(\ gets(item);
printf(\string is : %s\\n\item); fun(item);
printf(\ }
第 1 处:s[ j]=s[i];应改为 s[ j++]=s[i] 第 2 处:s[ j]=”/0”;应改为 s[ j]=’\\0’;
编程题
请编写函数 void fun(int x,int pp[],int *n),它的功能是:求出 能整除 x 且不是偶数的各整数,并按从小到大的顺序放在 pp 所 指的数组中,这些除数的个数通过形参 n 返回.
例如 , 若 x 中的值为 30, 则有 4 个数 符合要求, 它们是 1,3,5,15.
注意:部分源程序给出如下。
请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。 试题程序:#include
#include
void fun(int x, int pp[], int *n) { }
main() {
int x, aa[1000], n, i; FILE *out;
printf(\ scanf(\ fun(x,aa,&n); for(i=0;i out = fopen(\ for (i = 0; i < n; i++) fprintf(out, \ fclose(out); } 答案是: void fun(int x,int pp[],int *n) { int i=1,j=0,k=0,*t=pp; for(i=0;i<=x;i++) if(i%2!=0) { t[ j]=i; j++; } for(i=0;i pp[k]=t[i]; k++; } *n=k; } 第 4 套 填空题 请补充函数 FUN,它的功能是:计算并输出 N(包括 N) 以内能被 3 或 7 整除的所有自然数的倒数之和。 例 如 , 在主 函数 中 从键 盘 给 N 输入 30 后 , 输出 为 : S=1.226323。 请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。 试题程序: #include double fun(int n) { int i; double sum = 0.0; for (i=1; 1 ; i++) if (i%3==0 sum += return sum; 2 i%7==0) 3 /i; } main() { int n; double s; printf(\n: \ scanf(\&n); s = fun(n); printf(\s); } 第 1 处填空:i<=n 或 n>=i 第 2 处填空:|| 第 3 处填空:1.0 或(double)1 改错题 下列给定程序中,fun 函数的功能是:分别统计字符串中大写 字 母 和 小 写 字 母 的 个 数 。 例 如 , 给 字 符 串 s 输 入 : AaaaBBb123CCccccd,则应输出结果:upper=6,lower=8 请改正程序中的错误,使程序能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改 程序的结构! 试题程序: #include void fun(char *s, int a, int b) {