c++程序改错了 谢谢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++程序改错了 谢谢相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
#include <stdlib.h>
void fun(int *a,int n)
int i,j,cnt=0;
for(i=0;i<n;i++)
for(j=2;j<=i/2;j++)
if(i%j==0) continue;
if(j>a[i]/2) cnt++;
return cnt;
void main( )
int a[10],i,cnt;
file *fp;
if((fp=fopen("test2-1.txt","r"))==NULL)
printf("Cannot open the file.\n");
exit(0);
for(i=0;i<10;i++)
scanf(fp,"%d",a+i);
printf("%5d",a[i]);
cnt=fun(a,10);
printf("\ncnt=%d\n",cnt);
fclose(fp);
#include <stdlib.h>
int fun(int *a,int n)
int i,j,cnt=0;
for(i=0;i<n;i++)
for(j=2;j<=i/2;j++)
if(i%j==0) continue;
if(j>a[i]/2) cnt++;
return cnt;
void main( )
int a[10],i,cnt;
FILE *fp;
if((fp=fopen("test2.txt","w"))==NULL)
printf("Cannot open the file.\n");
exit(0);
for(i=0;i<10;i++)
fscanf(fp,"%d",a + i);
printf("%5d",a[i]);
cnt=fun(a,10);
printf("\ncnt=%d\n",cnt);
fclose(fp);
保证编译通过,但是你的逻辑我没检查,想实现什么功能啊追问
我看到了 您找到了 4个 ??对不?
追答你在考我们还是? 数组自己初始化
追问没有考谁的 是老师考我 !!说有5个错误 我就想知道明白点
谢谢你了
FILE *fp追问
谢谢 不过 有五个呢 !!还差3个哈
追答还有那个主函数里面的cnt跟fun里面的cnt别写一样。fun里面的换个名字。int main(),额不用换了,我编译器的问题。必须要int,其他的地方没什么了。把你scanf改好了就行
参考技术B scanf应是fscanf吧?C语言程序改错
(十一)功能:求1到10的阶乘的和。
#include "stdio.h"
main()
{
int i;
float t,s=0;
float fac(int n);
/**********ERROR**********/
for(i=1;i<10;i++)
/**********ERROR**********/
s=fac(i);
printf("%f\n",s);
}
float fac(int n)
{
/**********ERROR**********/
int y=1;
int i;
for(i=1 ;i<=n;i++)
y=y*i;
/**********ERROR**********/
return;
}
【参考答案】
for(i=1;i<=10;i++)
for(i=1;10>=i;i++)
for(i=1;i<11;i++)
for(i=1;11>i;i++)
【参考答案】
s=s+fac(i);
s+=fac(i);
s=fac(i)+s;
【参考答案】
float y=1.0;
float y=1;
(十二)
功能:打印出杨辉三角形(要求打印出10行).
#include "stdio.h"
main()
{
int i,j;
int a[10][10];
printf("\n");
/**********ERROR**********/
for(i=1;i<10;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for(i=1;i<10;i++)
/**********ERROR**********/
for(j=1;j<10;j++)
/**********ERROR**********/
a[i][i]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
【参考答案】
for(i=0;i<10;i++)
for(i=0;i<=9;i++)
【参考答案】
for(j=1;j<i;j++)
【参考答案】
a[i][j]=a[i-1][j-1]+a[i-1][j];
(十三)功能:编写函数fun求20以内所有5的倍数之积。
#define N 20
#include "stdio.h"
main()
{
int sum;
sum=fun(5);
printf("%d以内所有%d的倍数之积为:%d\n",N,5,sum);
}
int fun(int m)
{
/**********ERROR**********/
int s=0,i;
for(i=1;i<N;i++)
/**********ERROR**********/
if(i%m=0)
/**********ERROR**********/
s=*i;
return s;
}
【参考答案】
int s=1,i;
【参考答案】
if(i%m==0)
【参考答案】
s=s*i
s=i*s
s*=i
(十四)功能:从键盘输入十个学生的成绩,统计最高分,最低分和平均分。
max代表最高分,min代表最低分,avg代表平均分。
#include "stdio.h"
main( )
{
int i;
/***********ERROR***********/
float a[8],min,max,avg;
printf("input 10 score:");
for(i=0;i<=9;i++)
{
printf("input a score ofstudent:");
/***********ERROR***********/
scanf("%f",a);
}
/***********ERROR***********/
max=min=avg=a[1];
for(i=1;i<=9;i++)
{
/***********ERROR***********/
if(min<a[i])
min=a[i];
if(max<a[i])
max=a[i];
avg=avg+a[i];
}
avg=avg/10;
printf("max:%f\nmin:%f\navg:%f\n",max,min,avg);
}
【参考答案】
floata[10],min,max,avg;
【参考答案】
scanf("%f",&a[i]);
scanf("%f",a+i);
【参考答案】
max=min=avg=a[0];
【参考答案】
if (min>a[i])
if (a[i]<min)
(十五)功能:编写函数fun计算下列分段函数的值:
x*20 x<0且x≠-3
f(x)= sin(x) 0≤x<10且x≠2及x≠3
x*x+x-1 其它
#include "math.h"
#include "stdio.h"
float fun(float x)
{
/**********ERROR**********/
float y
/**********ERROR**********/
if (x<0 || x!=-3.0)
y=x*20;
else if(x>=0 && x<10.0 && x!=2.0 &&x!=3.0)
y=sin(x);
else y=x*x+x-1;
/**********ERROR**********/
return x;
}
main()
{
float x,f;
printf("Input x=");
scanf("%f",&x);
f=fun(x);
printf("x=%f,f(x)=%f\n",x,f);
}
【参考答案】
float y;
【参考答案】
if (x<0&& x!=-3.0)
【参考答案】
return y;
以上是关于c++程序改错了 谢谢的主要内容,如果未能解决你的问题,请参考以下文章
怎么查看用C++ builder编写的程序都调用了哪些dll文件,谢谢!
怎么用C++实现在一个程序启动另一个程序?知道的告诉下,谢谢啦
我用 Microsoft Visual Studio 2010 新建一个 C++ 的对话框窗口程序的时候 该如何设置它的窗口类名?谢谢!