该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1. 程序填空
给定程序中,函数fun的功能是将a和b所指的两字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串只含9个以下数字字符。
例如,主函数输入字符串:32486和12345,在主函数中输出的函数值为:44831。
#include
#include
#include
#define N 9
long ctod(char *s)
{long d=0;
while(*s)
if(isdigit(*s)) {
/**********found**********/
d=d*10+*s-__1__;
/**********found**********/
__2__;}
return d;
}
long fun(char *a, char *b)
{
/**********found**********/
return __3__;
}
main()
{char s1[N],s2[N];
do
{printf("Input string s1 : "); gets(s1);}
while(strlen(s1)>N);
do
{printf("Input string s2 : "); gets(s2);}
while(strlen(s2)>N);
printf("The result is: %ld\n", fun(s1,s2));
}
2. 程序修改
给定程序MODI1.C中函数fun的功能是:分别统计字符串大写字母和小写字母的个数。
例如,给字符串s输入:AAaaBBb123CCccccd,则应输出结果:upper=6,lower=8。
#include
/**********found**********/
void fun (char *s, int a, int b)
{
while (*s)
{if (*s >= 'A' && *s <= 'Z')
/**********found**********/
*a=a+1 ;
if (*s >= 'a' && *s <= 'z')
/**********found**********/
*b=b+1;
s++;
}
}
main()
{char s[100]; int upper = 0, lower = 0 ;
printf("\nPlease a string : "); gets (s);
fun (s, & upper, &lower);
printf("\n upper = %d lower = %d\n", upper, lower);
}
3. 程序设计
请编写一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)。
例如: 实型数为1234.567,则函数返回1234.572000;实型数为1234.564,函数返回1234.56200。
#include
float fun (float h)
{
}
main()
{float a;void NONO ();
printf ("Enter a: "); scanf ("%f", &a);
printf ("The original data is : ");
printf ("%f \n\n", a);
printf ("The result : %f\n", fun (a));
NONO();
}
void NONO ()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
int i ;
float a ;
FILE *rf, *wf ;
rf = fopen("in.dat","r");
wf = fopen("out.dat","w");
for(i = 0 ; i < 20 ; i++) {
fscanf(rf, "%f", &a);
fprintf(wf, "%f\n", fun(a));
}
fclose(rf);
fclose(wf);
}