生活随笔
收集整理的這篇文章主要介紹了
全国计算机等级考试题库二级C操作题100套(第82套)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第82套:
給定程序中,函數fun的功能是:找出100~999之間(含100和999)所有整數中各位上數字之和為x(x為一正整數)的整數,然后輸出;符合條件的整數個數作為函數值返回。 例如,當x值為5時,100~999之間各位上數字之和為5的整數有:104、113、122、131、140、203、212、221、230、302、311、320、401、410、500。共有15 個。當x值為27時,各位數字之和為27的整數是:999。只有1個。請在程序的下劃線處填入正確的內容并把下劃線刪除, 使程序得出正確的結果。 注意:源程序存放在考生文件夾下的BLANK1.C中。 不得增行或刪行,也不得更改程序的結構! 給定源程序:
#include <stdio.h>
fun ( int x
)
{ int n
, s1
, s2
, s3
, t
;
n
= 0 ;
t
= 100 ;
while ( t
<= __1__
) {
s1
= t
% 10 ; s2
= ( __2__
) % 10 ; s3
= t
/ 100 ;
if ( s1
+ s2
+ s3
== __3__
)
{ printf ( "%d " , t
) ;
n
++ ;
}
t
++ ;
}
return n
;
}
main ( )
{ int x
= - 1 ;
while ( x
< 0 )
{ printf ( "Please input(x>0): " ) ; scanf ( "%d" , & x
) ; }
printf ( "\nThe result is: %d\n" , fun ( x
) ) ;
}
解題思路: 第一處:使用while循環找出100~999之間所有整數,所以應填:999。 第二處:s2是求十位數字,所以應填:t/10。 第三處:各位數字之和為x,所以應填:x。
給定程序MODI1.C中函數fun的功能是:從低位開始取出長整型變量s中偶數位上的數,依次構成一個新數放在t中。高位仍在高位,低位仍在低位。 例如,當s中的數為:7654321時,t中的數為:642。 請改正程序中的錯誤,使它能得出正確的結果。 注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構! 給定源程序:
#include <stdio.h>
void fun
( long s
, long t
)
{ long sl
= 10 ;
s
/ = 10 ;
* t
= s
% 10 ;
while ( s
< 0 )
{ s
= s
/ 100 ;
* t
= s
% 10 * sl
+ * t
;
sl
= sl
* 10 ;
}
}
main ( )
{ long s
, t
;
printf ( "\nPlease enter s:" ) ; scanf ( "%ld" , & s
) ;
fun ( s
, & t
) ;
printf ( "The result is: %ld\n" , t
) ;
}
解題思路: 第一處:在函數fun體中,t是一個指針型變量,因此定義形參時也應定義指針。 第二處:條件應該s>0,所以應改為:while(s>0)。
學生的記錄由學號和成績組成,N名學生的數據已在主函數中放入結構體數組 s中,請編寫函數fun,它的功能是:按分數的高低排列學生的記錄,高分在前。 注意: 部分源程序在文件PROG1.C文件中。 請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。 給定源程序:
#include <stdio.h>
#define N 16
typedef struct
{ char num
[ 10 ] ;
int s
;
} STREC
;
int fun ( STREC a
[ ] )
{
}
main ( )
{ STREC s
[ N
] = { { "GA005" , 85 } , { "GA003" , 76 } , { "GA002" , 69 } , { "GA004" , 85 } , { "GA001" , 91 } , { "GA007" , 72 } , { "GA008" , 64 } , { "GA006" , 87 } , { "GA015" , 85 } , { "GA013" , 91 } , { "GA012" , 64 } , { "GA014" , 91 } , { "GA011" , 66 } , { "GA017" , 64 } , { "GA018" , 64 } , { "GA016" , 72 } } ;
int i
; FILE
* out
;
fun ( s
) ;
printf ( "The data after sorted :\n" ) ;
for ( i
= 0 ; i
< N
; i
++ )
{ if ( ( i
) % 4 == 0 ) printf ( "\n" ) ;
printf ( "%s %4d " , s
[ i
] . num
, s
[ i
] . s
) ;
}
printf ( "\n" ) ;
out
= fopen ( "c:\\test\\out.dat" , "w" ) ;
for ( i
= 0 ; i
< N
; i
++ )
{ if ( ( i
) % 4 == 0 && i
) fprintf ( out
, "\n" ) ;
fprintf ( out
, "%4d " , s
[ i
] . s
) ;
}
fprintf ( out
, "\n" ) ;
fclose ( out
) ;
}
解題思路: 本題是按結構體中成績s進行降序排列,其結果仍存入當前結構體中。 參考答案:
#include <stdio.h>
#define N 16
typedef struct
{ char num
[ 10 ] ;
int s
;
} STREC
;
int fun ( STREC a
[ ] )
{
STREC tmp
;
int i
, j
;
for ( i
= 0 ; i
< N
; i
++ )
for ( j
= i
+ 1 ; j
< N
; j
++ )
if ( a
[ i
] . s
< a
[ j
] . s
) {
tmp
= a
[ i
] ;
a
[ i
] = a
[ j
] ;
a
[ j
] = tmp
;
}
}
總結
以上是生活随笔 為你收集整理的全国计算机等级考试题库二级C操作题100套(第82套) 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。