全国计算机等级考试题库二级C操作题100套(第69套)
第69套:
給定程序中,函數(shù)fun的功能是將a和b所指的兩個(gè)字符串轉(zhuǎn)換成面值相同的整數(shù),并進(jìn)行相加作為函數(shù)值返回,規(guī)定字符串中只含9個(gè)以下數(shù)字字符。
例如,主函數(shù)中輸入字符串:32486和12345,在主函數(shù)中輸出的函數(shù)值為:44831。 請?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除, 使程序得出正確的結(jié)果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
給定源程序:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define N 9
long ctod( char *s )
{ long d=0;
while(*s)
if(isdigit( s)) {
d=d10+*s-1;
2; }
return d;
}
long fun( char *a, char *b )
{
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) );
}
解題思路:
第一處:數(shù)字字符與其對應(yīng)的數(shù)值相差48,所以應(yīng)填:48。
第二處:到字符串下一個(gè)位置,所以應(yīng)填:s++。
第三處:返回兩個(gè)數(shù)字字符串經(jīng)轉(zhuǎn)換成數(shù)值的和,所以應(yīng)填:ctod(a)+ctod(b)。
給定程序MODI1.C中 fun 函數(shù)的功能是:分別統(tǒng)計(jì)字符串中大寫字母和小寫字母的個(gè)數(shù)。
例如, 給字符串 s 輸入:AAaaBBb123CCccccd,則應(yīng)輸出結(jié)果:
upper = 6, lower = 8。
請改正程序中的錯誤,使它能計(jì)算出正確的結(jié)果。
注意:不要改動 main 函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
給定源程序:
#include <stdio.h>
void fun ( char *s, int a, int b )
{
while ( *s )
{ if ( *s >= ‘A’ && *s <= ‘Z’ )
*a=a+1 ;
if ( *s >= ‘a(chǎn)’ && s <= ‘z’ )
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 );
}
解題思路:
第一處:在等式右邊應(yīng)寫a。
第二處:在等式右邊應(yīng)寫b。
請編一個(gè)函數(shù)fun,函數(shù)的功能是使實(shí)型數(shù)保留2位小數(shù),并對第三位進(jìn)行四舍五入 (規(guī)定實(shí)型數(shù)為正數(shù))。
例如:實(shí)型數(shù)為 1234.567, 則函數(shù)返回 1234.570000;
實(shí)型數(shù)為 1234.564, 則函數(shù)返回 1234.560000。
注意: 部分源程序存在文件PROG1.C文件中。
請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入
你編寫的若干語句。
給定源程序:
#include <stdio.h>
float fun ( float h )
{
}
main( )
{ float a;
printf ("Enter a: "); scanf ( “%f”, &a );
printf ( "The original data is : " );
printf ( “%f \n\n”, a );
printf ( “The result : %f\n”, fun ( a ) );
NONO( );
}
解題思路:
本題主要是考察考生保留小數(shù)點(diǎn)后兩位數(shù)并對第三位進(jìn)行四舍五入。方法是先把這個(gè)數(shù)乘以100,然后再加0.5(實(shí)現(xiàn)四舍五入),再把這個(gè)數(shù)存放到一個(gè)長整型變量中,目的是把小數(shù)點(diǎn)后的小數(shù)去除,最后把這個(gè)數(shù)轉(zhuǎn)換成浮點(diǎn)型數(shù)除以100,即可得出所的結(jié)果。
參考答案:
float fun ( float h )
{
long w ;
w = h * 100 + 0.5 ;
return (float) w / 100 ;
}
總結(jié)
以上是生活随笔為你收集整理的全国计算机等级考试题库二级C操作题100套(第69套)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [BZOJ 1085] [SCOI200
- 下一篇: bzoj 3196/tyvj p1730