齐齐哈尔大学C语言题库 程序改错(部分)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.【程序改错】

题目:在一个一维整型数组中找出其中最大的数及其下标。

程序中共有4条错误语句,请改正错误。

#define N 10

/**********FOUND**********/

float fun(int *a,int *b,int n) int fun(int *a,int *b,int n)

{ int *c,max=*a;

for(c=a+1;c

if(*c>max)

{ max=*c;

/**********FOUND**********/

b=c-a;} *b=c-a;}

return max; }

main()

{ int a[N],i,max,p=0;

printf("please enter 10 integers:\n");

for(i=0;i

/**********FOUND**********/

get("%d",a[i]); scanf("%d",a[i]);

/**********FOUND**********/

m=fun(a,p,N); max=fun(a,p,N);

printf("max=%d,position=%d",max,p); }

29.【程序改错】

题目:fun函数的功能是:实现两个字符串的连接。

例如:输入dfdfqe和12345时,则输出dfdfqe12345.

请改正程序中的错误,使它能得出正确的结果。

#include"stdio.h"

main()

{ char s1[80],s2[80];

void scat(char s1[],char s2[]);

gets(s1);

gets(s2);

scat(s1,s2);

puts(s1); }

void scat (char s1[],char s2[])

{ int i=0,j=0;

/**********FOUND**********/

while(s1[i]= ='\0') i++; while(s1[i]!='\0')i++;

/**********FOUND**********/

while(s2[j]= ='\0') while(s2[i]!='\0')

{/**********FOUND**********/

s2[j]=s1[i]; s1[i]=s2[j];

i++;

j++; }

/**********FOUND**********/

s2[j]='\0'; s1[i]='\0';}

414.【程序改错】

题目:输入一行字符,分别统计出其中英文字母、空

格、数字和其它字符的个数。

#include "stdio.h"

main()

{char c;

int letters=0,space=0,digit=0,others=0;

printf("please input some characters\n");

/**********FOUND**********/

while((c=getchar())=='\n') while((c=getchar())!='\n')

{/**********FOUND**********/

if(c>='a'&&c<='z'&&c>='A'&&c<='Z')

if(c>='a'&&c<='z'||c>='A'&&c<='Z')

letters++;

/**********FOUND**********/

else if(c=!' ') else if(c==' ')

space++;

else if(c>='0'&&c<='9')

digit++;

else

others++;}

printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,

space,digit,others); }

364.【程序改错】

题目:给定程序MODI1.C中函数fun 的功能是:计算正整数num 的

各位上的数字之积。例如,若输入:252,则输出应该是:20。若

输入:202,则输出应该是:0。

#include

#include

long fun (long num)

/**********FOUND**********/

{long k=1 {lon k=1;

do

{ k*=num%10 ;

/**********FOUND**********/

num\=10; num/=10;

/**********FOUND**********/

} while(!num) ; } while(num);

return (k) ; }

main( )

{ long n ;

clrscr() ;

printf("\Please enter a number:") ; scanf("%ld",&n) ;

printf("\n%ld\n",fun(n)) ;

getch();}

433.【程序改错】

题目:编写一个函数,输入n为偶数时,调用函数求

1/2+1/4+...+1/n,当输入n为奇数时,调用函

数1/1+1/3+...+1/n(利用指针函数)

#include "stdio.h"

main()

{float peven(),podd(),dcall();

float sum;

int n;

while (1)

相关文档
最新文档