当前位置:首页 » 编程语言 » c语言题目求改错
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言题目求改错

发布时间: 2023-02-11 08:04:44

c语言改错题

改错,并经实际运行,结果如下图:

#include<conio.h>
#include<stdio.h>

//intfound(inta[10][30],intn)//错误,弹出错误[Error]
intfound(inta[10][30],intn)//改错
{
inti,j,s,k,x;

//for(i=0,k=1;k<=n;k++)//修改
i=0;//此处修改,但不算错误
for(k=1;k<=n;k++)
{
//s=1;//错误
s=0;//改错,累加器,初始值为0
x=k;
for(;x<n;x++)
{
s+=x;
if(s>=n)break;
}

if(s==n)
{
//for(j=0;k+j<=x;j++)//错误,丢失最后1个元素
for(j=0;k+j<=x;j++)//改错
a[i][j]=k+j;
i++;
}

}
returni;
}

intmain()
{
inta[10][30]={0};
inti,j,n,m;

printf("n=");
//scanf("%d",&n);错误
scanf("%d",&n);//改错:n-->&n

m=found(a,n);

if(m>0)
{
printf("%dserials ",m);
for(i=0;i<m;i++)
{
for(j=0;a[i][j]!=0;j++)
printf("%4d",a[i][j]);
printf(" ");
}
}
else
printf("notfound ");

getch();
return0;
}

Ⅱ 求C语言改错题

1,给定程序MODI1.C中函数fun的功能是:根据整型形参m,计算如下公式的值。
1
1
1
1
y
=
-------
+
---------
+
---------
+
……
+
-------
100*100
200*200
300*300
m*m
例如,若m
=
2000,则应输出:
0.000160。
请改正程序中的语法错误,使它能计算出正确的结果。
注意:不要改动
main
函数,不得增行或删行,也不得更改程序的结构!
#include
<stdio.h>
/************found************/
fun
(
int
m
)/*改为double
fun
(int
m)*/
{
double
y
=
0,
d
;
int
i
;
/************found************/
for(
i
=
100,
i
<=
m,
i
+=
100
)/*改为for(
i
=
100;i
<=
m,;i
+=
100
)*/
{
d
=
(double)i
*
(double)i
;
y
+=
1.0
/
d
;
}
return(
y
)
;
}
main(
)
{
int
n
=
2000
;
printf(
"\nThe
result
is
%lf\n",
fun
(
n
)
)
;
}
2,给定程序MODI1.C中
fun
函数的功能是:分别统计字符串中大写字母和小写字母的个数。
例如,
给字符串
s
输入:AAaaBBb123CCccccd,则应输出结果:upper
=
6,
lower
=
8。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动
main
函数,不得增行或删行,也不得更改程序的结构!
#include
<stdio.h>
/**********found**********/
void
fun
(
char
*s,
int
a,
int
b
)/*改为void
fun
(
char
*s,
int
*a,
int
*b
*/)
{
while
(
*s
)
{
if
(
*s
>=
'A'
&&
*s
<=
'Z'
)
/**********found**********/
*a=a+1
;/*改为*a=*a+1
;*/
if
(
*s
>=
'a'
&&
*s
<=
'z'
)
/**********found**********/
*b=b+1;/*改为
*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,给定程序MODI1.C中函数fun的功能是:根据整型形参m的值,计算如下公式的值。
1
1
1
t
=
1
-
-----
-
-----
-
……
-
-----
2*2
3*3
m*m
例如,若
m
中的值为:
5,则应输出:
0.536389。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
<stdio.h>
double
fun
(
int
m
)
{
double
y
=
1.0
;
int
i
;
/**************found**************/
for(i
=
2
;
i
<
m
;
i++)/*for(i
=
2
;
i
<=
m
;
i++)
*/
/**************found**************/
y
-=
1
/(i
*
i)
;/*
y
-=
1.0
/(i
*
i)
;
*/
return(
y
)
;
}
main(
)
{
int
n
=
5
;
printf(
"\nThe
result
is
%lf\n",
fun
(
n
)
)
;
}
4,给定程序MODI1.C中函数fun的功能是:从s所指字符串中删除所有小写字母c。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动
main
函数,不得增行或删行,也不得更改程序的结构!
#include
<stdio.h>
void
fun(
char
*s
)
{
int
i,j;
for(i=j=0;
s[i]!='\0';
i++)
if(s[i]!='c')
/************found************/
s[j]=s[i];/*
s[j++]=s[i];*/
/************found************/
s[i]='\0';/*
s[j]='\0';*/
}
main()
{
char
s[80];
printf("Enter
a
string:
");
gets(s);
printf("The
original
string:
");
puts(s);
fun(s);
printf("The
string
after
deleted
:
");
puts(s);printf("\n\n");
}
可以了吧

Ⅲ c语言题目求改错

#define Count 100

#include<stdio.h>

int getmaxlocation(int arr[],int n)
{
int loc=0,i;

for(i=1;i<n;i++)
{
if(arr[i]>arr[loc])
loc=i;
}
return loc;
}

void sort(int arr[],int n)
{
int i,j,t;

for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(arr[j]<arr[j+1])
{
t=arr[j+1];
arr[j+1]=arr[j];
arr[j]=t;
}
}
}
}

int main()
{
int arr[Count],n,i,loc;

printf("请输入数组元素个数(<=%d)",Count);
scanf("%d",&n);
printf("请输入%d个整数:",n);
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
loc=getmaxlocation(arr,n);
printf("数组最大值位于下标%d处\n",loc);
sort(arr,n);
printf("降序排序后的数组:");
for(i=0;i<n-1;i++)
printf("%d ",arr[i]);
printf("%d\n",arr[n-1]);
return 0;
}

Ⅳ c语言习题改错

#include<stdio.h>
#include<math.h>
intmain()
{
doublex1,x0,i;
scanf("%lf",&x1);
x0=x1;
x1=cos(x0);
for(i=x0-x1;fabs(i)>0.0000001;)
{
x0=x1;
x1=cos(x0);
i=x0-x1;
}
printf("x=%lf",x0);
}

Ⅳ C语言求改错

#include"stdio.h"
intmain(intargc,char*argv[]){
inti=0,k=0;
chara[80];
while((a[i]=getchar())!=' '&&i<80)
i++;
a[i]='';
for(k=i=0;a[i];i++)
if(a[i]>='0'&&a[i]<='9')
if(((k*=10)+=a[i]-'0')<0){
printf("Numberoutofrange,exit... ");
return0;
}
printf("Theresultis%d ",k);
return0;
}

运行样例:

Ⅵ 求解一道C语言改错题

#include<stdio.h>

structbook

{

floatprice;//价格

charname[20];//名字

};

intmain(void)

{

structbookmyBook={5.6,"theworldisflat"};

printf("bookname=%s,bookprice=%f",myBook.name,myBook.price);

return0;

}


Ⅶ C语言改错题大神求解

voidfun(chars[],chart[])
{
inti,k,n;
chartemp;
n=0;
for(i=0;s[i]!='';++i)
if(i%2==1)//修改2,考常识,了解==和=区别
for(k=0;k<i;++k)
{
t[n]=s[i];
n++;
}
else
t[n++]=s[i];//修改3,考逻辑,n没有自加
t[n]='';
for(i=0;i<(n+1)/2;i++)//修改4,考数学,n-1改成n+1取整奇数会少1
{
temp=t[i];
t[i]=t[n-1-i];
t[n-1-i]=temp;
}
}
voidmain(void)//这个地方不一定要改,老编译器允许这种不好的风格
{
chars[20],t[100];
printf(" Pleaseenterstrings:");
gets(s);
fun(s,t);//修改1,考基础,用时不要加[]
printf("Theresultis:%s ",t);
}

Ⅷ C语言程序改错题

#include <stdio.h>

int main (void){

int a,b,c,max;

int t;

printf (""请输人3个整数: ");

scanf ("%d%d%d" , &a ,&b,&c);

if (a<b);

{t=a; a=b; b=t; }/*t没有定义*/

if (a<c)

{t=a; a=c; c=t; }

if(b<c)

{ t=b; b=c; c=t;}

printf("由大到小顺序为:%d %d %d " ,a,b,c);

return 0;

}

注意黑体

#include <stdio.h>

int main (void){

int a,b,c,max;

printf (""请输人3个整数: ");

scanf ("%d%d%d" , &a ,&b,&c);

if (a<b);

{max=a; a=b; b=max; }

if (a<c)

{max=a; a=c; c=max; }

if(b<c)

{ max=b; b=c; c=max;}

printf("由大到小顺序为:%d %d %d " ,a,b,c);

return 0;

}

注意黑体

后一个更精简

Ⅸ c语言题目求改错

#include<stdio.h>
intfun(inta[][4],intn)//<==========
{
intk,i,j;
for(i=0;i<n;i++)
for(j=0;j<=i;j++)
{
k=a[i][j];
a[i][j]=a[j][i];
a[j][i]=k;
}
}
main()
{
inta[4][4],i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
}
fun(a,4);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("%d",a[i][j]);
}
printf(" ");
}
}

Ⅹ c语言改错题

这个c语言问题原因是旧C编译器中,要求函数max必须先声明才能定义和使用,可是在上文先使用max函数而在下文才定义,就和先使用变量再定义一样会报错error。

原代码在新编译器中是可以用的,但是会报警告warning

#include <stdio.h>

int max(int x,int y);

void main()

{

int a,b,c;

scanf("%d,%d",&a ,&b);

c=max(a,b);

printf("max=%d ",c);

}

int max(x,y)

int x,y;

{int z;

z=y;

if(x>9) z=x;

return (z);

}