C语言abc输出最小值改错题,C语言练习材料(2014)及选择题解答

C语言补充材料(2014.6)

则枚举常量c和e的值分别是( )。 A)11和16 B)14和16 C)11和13 D)2和4

94. 若已定义:

enum colors {red,green=2,blue, black}x,a[3]; 以下语句()。

/ * 语句 1 */ a[1]=black ; / * 语句 2 */ red = 1 ; / * 语句 3 */ x= green ;

A) 语句1 与语句2正确 ,语句3错误 B) 语句1与语句3正确,语句2错误

C) 语句2 与语句3正确,语句1错误 D) 语句1正确,语句2和语句3错误

七、文件

95. 以下程序的运行结果是( )。 #include void main( ) { FILE *fp;

int a=3, b=5, x=0, y=0, z; fp=fopen(“test.txt”,”w”); fprintf(fp, “%d\\n%d”, a, b); fclose(fp);

fp=fopen(“test.txt”,”r”);

fscanf(fp, “%d%d”, &x, &y); z=x+y;

printf(“%d\\n”, z); fclose(fp); }

A)8 B)3 C)5 D)0

96. 若文本文件data.txt的内容为hotel, 以下程序段的进行结果是( )。 FILE *fp; char str[10];

fp=fopen(“data.txt”, “r”); fgets(str, 4, fp); printf(“%s”, str);

A)Hote B)Hotel C)Ho D)Hot

97. fscanf( )函数的正确调用形式是( )。 A) fscanf( 文件指针,输入表列,格式字符串) B) fscanf(文件指针,格式字符串,输入表

列)

C) fscanf(格式字符串,文件指针,输入表

列)

D) fscanf(格式字符串,输入表列,文件指

针)

98. 以下程序后,文件test.txt的内容是( )。 #include void main( ) {FILE *fp;

fp=fopen(“test.txt”,”w”); fprintf(fp, “%s”,”How ”); fclose(fp);

fp=fopen(“test.txt”,”a”); fprintf(fp, “%s”,”are you!”); fclose(fp); }

A) How are you! B) How

C) are you! D) you!

99. 对已打开的文件操作完成后,应使用( )将文件关闭。

A) close()函数 B) closefile( )函数

C) openfile ( ) 函数 D) fclose( )函数

9

改错题

1) 修改程序cmody591.c,按每行10个数的形式输出[10,99]区间内满足“个位数与十位数之积大于它们之和”的所有整数。例如:

整数38, 个位数与十位数之积24(3×8)大于它们之和11(3+8)

#include #include void main() { int i,j,k,s,n=0;

for(i=10;i<100;i++) { /**/ k=0; /**/ s=0; j=i; while(j)

{ k*=j; s+=j;

/**/ j=j /**/; }

if(/**/ k

{ if(n==0) printf(\ n++;

printf(\ } }

printf(\ getch(); }

2) 修改程序cmody592.c,使函数pnt(int a[M][M], int n), 根据参数n(1当n=6时, 输出:

11 13 15 17 19 21 22 23 24 25 26 27 33 35 37 39 41 43 44 45 46 47 48 49 55 57 59 61 63 65 66 67 68 69 70 71 当n=3时, 输出: 11 13 15 22 23 24 33 35 37

#include #include #define M 9

void pnt(int a[M][M],int n) { int /**/i,j /**/; for(i=0;ifor(j=0;ja[i][j]=s+2*j; else

a[i][j]=/**/ s+j+1 /**/; } }

printf(\ for(i=0;iprintf(\ printf(\ } }

void main() { int a[M][M]; int n; do { printf(\input n(1scanf(\ }while(n<=1 || n>=10); pnt(/**/ a[ ]/**/,n); getch(); }

3) 修改程序cmody601.c,使字符串中所有大写的英文字母转换为小写英文字母(其它字符不变)。例如:

原字符串:g@O355o6D LuCk! 被转换成:g@o35506d luck! #include #include #include void main() {

char src[80],tag[80]; int i;

10

C语言补充材料(2014.6)

/**/ i='0'; /**/

printf(\ gets(src);

strcpy(tag,src);

while(/**/ tag[i]=='\\0' /**/) {

if(tag[i]>='A' && tag[i]<='Z') /**/ tag[i]-=32; /**/ i++; }

printf(\source string: %s\\n\

printf(\ getch(); }

(4)修改程序cmody602.c,使函数p_swap( )利用指针变量实现函数main( )中两个变量值的交换。例如:

输入:23, 78

显示:Original a=23, b=78 Now a=78, b=23

#include #include

void p_swap(int *x,int *y) {

int /**/ t /**/; temp=*y;

*y=/**/ x /**/; *x=temp; }

void main() {

int a,b;

printf(\

scanf(\ printf(\a=%d, b=%d\\n\

p_swap(&a,/**/ b /**/);

printf(\ getch(); }

(5)修改程序cmody611.c,已知圆柱体底面圆的半径r,从键盘输入圆柱体的高h, 若h>=0,则根据以下公式求圆柱体

的体积, 否则提示出错信息。

result=PI*r2*h , 其中,

PI?3.14

#include #include

#define /**/ PI=3.14 /**/ void main() {

float r=5.0,h,result;

printf(\ scanf(\ if(/**/ h<0 /**/) {

result = PI*r*r*h; printf(\result is:%.2f\\n\ } else

printf(\ getch(); }

6)改错题cmody612.c,使函数arrayclass(int a[ ])完成如下功能:

(1)遍历数组a,找出其中做大值max和最小值min;

(2)再次遍历数组a 进行元素归类, 若元素与max差值的绝对值小于其与min差值的绝对值,则将该元素存入数组max_class中,否则存入数组min_class中;

(3)变量n_max和n_min分别表示存入数组max_class和min_class的元素个数。

#include #include #include #define N 15

void arrayclass(int a[ ]) {

int max_class[N], min_class[N]; int i, max, min, n_max, n_min; /**/ n_max=0 /**/; max=min=a[0];

11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值