请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#include
#define M 5
#define N 20
void fun(char (*ss)[N])
{int i, j, k=0, n, m, len;
for(i=0; i
{len=strlen(ss[i]);
if(i==0) n=len;
if(len>n) {
/**********found**********/
n=len; ___1___=i;
}
}
for(i=0; i
if (i!=k)
{m=n;
len=strlen(ss[i]);
/**********found**********/
for(j=___2___; j>=0; j--)
ss[i][m--]=ss[i][j];
for(j=0; j
/**********found**********/
___3___='*';
}
}
main()
{char ss[M][N]={"shanghai","guangzhou","beijing", "tianjing","cchongqing"};
int i;
printf("\nThe original strings are :\n");
for(i=0; i
printf("\n");
fun(ss);
printf("\nThe result:\n");
for(i=0; i
}
解题答案:
/**********第一空**********/
n=len; k=i;
/**********第二空**********/
for(j=len; j>=0; j--)
/**********第三空**********/
ss[i][j]='*';
****************************************** [NextPage] 二、改错题:给定程序MODI1.C中函数fun的功能是: 计算整数n的阶乘。请改正程序中的错误或在下划线处填上适当的内容并把下划线删除,使它能计算出正确的结果。
注意: 不要改动 main 函数, 不得增行或删行, 也不得更改程序的结构!
给定源程序:
#include
double fun(int n)
{
double result=1.0;
while (n>1 && n<170)
/*********found*********/
result*=--n;
/*********found*********/
return _____;
}
main()
{
int n;
printf("Enter an integer: ");
scanf("%d",&n);
printf("\n\n%d!=%lg\n\n",n,fun(n));
}
解题答案:
/*********found*********/
result*=n--;
/*********found*********/
return result;
******************************************
[NextPage] 三、程序题:编写函数fun,函数的功能是: 从s所指的字符串中删除给定的字符。同一字母的大、小写按不同字符处理。若程序执行时输入字符串为: turbo c and borland c++ 从键盘上输入字符:n, 则输出后变为: turbo c ad borlad c++ 如果输入的字符在字符串中不存在, 则字符串照原样输出。
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入
你编写的若干语句。
给定源程序:
#include
#include
void fun(char s[],char c)
{
}
NONO()
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
FILE *rf, *wf ;
char s[81], ch, w ;
int len ;
rf = fopen("in.dat","r");
wf = fopen("out.dat","w");
fgets(s, 80, rf);
fscanf(rf, "%c", &ch);
len = strlen(s) - 1 ;
w = s[len] ;
if(w == '\n' || w == 0x1a) s[len] = 0 ;
fun(s, ch);
fprintf(wf, "%s", s);
fclose(rf);
fclose(wf);
}
main()
{
static char str[]="turbo c and borland c++";
char ch;
printf("原始字符串:%s\n", str);
printf("输入一个字符:");
scanf("%c",&ch);
fun(str,ch);
printf("str[]=%s\n",str);
NONO();
参考答案:
int fun(char s[],char c)
{
char *p = s ;
int i = 0 ;
while(*p) {
if(*p != c) s[i++] = *p ;
p++ ;
}
s[i] = 0 ;
}
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|