新手问题比较多,这个问题麻烦大家看下怎么回事

hippo502 2008-04-08 10:49:45
我要求出1至10之间所有非质数的因子,编了程序,但是编译器总提示错误,程序如下
include<stdio.h>
int i,c;
int count() \*此函数用来计算一个非质数的因子的个数*\
{int num=0;
for(c=1;c<=i;c++)
{if(i%c==0)
num++;
}
return(num);
}

print(int k) \*此函数用来输出一个非质数的所有因子*\
{int a[k];
int j=0;
for(c=1;c<=i;c++)
{if(i%c==0)
{a[j]=c;
j++;
}
for(j=0;j<=k-1;j++)
printf(" %d:%d ",i,a[j];
}

int main()
{int n;
for(i=4;i<=10;i++) \*直接从4开始了*\
{n=count();
print(n);
}
retune(0);}
程序完了,我用的GCC编译器,最后一行提示说"expected declaration or statement at end of input"
...全文
118 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
acaubjbx 2008-04-09
  • 打赏
  • 举报
回复
mark~
hippo502 2008-04-09
  • 打赏
  • 举报
回复
不过还是谢谢8楼了,指点了些,我就是有些问题不清楚但是你都给指点了,哈哈,咱这论坛真好
hippo502 2008-04-09
  • 打赏
  • 举报
回复
呵呵,要是书上抄的,那说明我的本事真大,自己写的
qiuqiu173 2008-04-09
  • 打赏
  • 举报
回复
楼主估计是从书上抄的,可没抄对
都帮你改了


#include <stdio.h> // 漏了#
int i,c;

int count() /*此函数用来计算一个非质数的因子的个数*/ // 是 /* */ 不是 \*
{
int num=0;
for(c=1;c <=i;c++)
{
if(i%c==0)
num++;
}
return(num);
}

print(int k) /*此函数用来输出一个非质数的所有因子*/ // 是 /* */ 不是 \*
{
//int a[k]; //K还没确定 不能int a[k] ,可以 int *a = (int *)malloc(sizeof(int)*k);
int *a = (int *)malloc(sizeof(int)*k);

int j=0;
for(c=1;c <=i;c++)
{
if(i%c==0)
{
//Aa[j]=c; //是a[j]
a[j]=c;

j++;
}
for(j=0;j <=k-1;j++)
printf(" %d:%d ",i,a[j]); //漏了半边 )
}
} //漏了 }

int main()
{
int n;
for(i=4;i <=10;i++) /*直接从4开始了*/ // 是 /* */ 不是 \*
{
n=count();
print(n);
}
//retune(0); // 写错了是return 0;
return 0;
}
hippo502 2008-04-09
  • 打赏
  • 举报
回复
恩,int a[k]貌似不对,但是为什么啊?参数k是从实参传递过来的
chuengchuenghq 2008-04-09
  • 打赏
  • 举报
回复
int a[k]; 这样不对吧
hippo502 2008-04-09
  • 打赏
  • 举报
回复
我就是纳闷了,按你说的还是出不来,不过编译已经不出错了啊,但是运行程序的时候,提示"Floating point exception (core dumped)" 奇怪啊,谁能指点下,再次谢谢了
csdn5211 2008-04-09
  • 打赏
  • 举报
回复
还多个void呢。
hippo502 2008-04-09
  • 打赏
  • 举报
回复
有什么错误啊?我看了你的程序,和我的基本一样啊,只不过你用malloc开辟了一个新的存储区存放因子,存储区的数目也是有主函数传递过来的,而我使用数组的意思和你一样啊!还没有解决问题
Treazy 2008-04-08
  • 打赏
  • 举报
回复
程序错误实在太多了

能运行的如下:

#include <stdio.h>
#include <stdlib.h>
int i,c;
int count(void)
{
int num=0;
for( c=1; c <= i; c++)
{
if(i%c==0)
num++;
}
return(num);
}

void print(int k)
{
int *a =(int *)malloc(k*sizeof(int));
int j=0;
for(c=1;c <=i;c++)
{
if(i%c==0)
{
a[j]=c;
j++;
}
}
for(j=0;j <=k-1;j++)
printf(" %d:%d ", i, a[j]);
free(a);
}

int main()
{
int n;
for(i=4;i <=10;i++)
{
n=count();
print(n);
}
return(0);
}
Rocky_ 2008-04-08
  • 打赏
  • 举报
回复
retune(0);}
笔误 应为
return(0);}
课程基础概述本门课程,大喵将会打着大家从零打造一款属于大家自己的 CLI命令行脚手架工具,本课程主要面向新手同学,对命令行工具开发,前端工具开发感兴趣的同学,可以通过本门课程学习到如何使用Node.JS开发一款适配自身项目特色的脚手架命令行工具。并且也会带着大家推送自己开发完成的CLI工具到NPM线上仓库,供所有人下载安装使用。整个课程,大喵会详细讲解所需要依赖的第三方模块包的具体使用,让同学们可以举一反三开发具备自身特色的CLI工具,最终大喵会运用到前面所讲解的基础内容,独立自主开发一个具备 damiao [ add | delete | list | init ] 四种子命令的CLI脚手架工具。CLI命令行工具命令行工具(Cmmand Line Interface)简称cli,顾名思义就是在命令行终端中使用的工具。我们常用的 git 、npm、vim 等都是 cli 工具,比如我们可以通过 git clone 等命令简单把远程代码复制到本地。在目前前端工程大流行的环境下,vue-cli、create-reate-app、angular-cli 等等方便快捷的命令行脚手架工具诞生,极大的提升了我们的开发效率与质量,我们可以通过这些脚手架工具在本地快速构建我们的开发项目。 课程目录结构1、CLI课程介绍   2、CLI课程纲领和讲师介绍3、CLI课程内容概述    4、CLI命令行工具及场景应用5、CLI课程准备工具和技术   6、CLI课程收获和收益  7、CLI课程实战案例介绍   8、npm CLI 命令行工具发展现状9、创建第一个命令行自定义命令   10、process.argv 接收命令行参数11、commander 工具使用介绍一   12、commander 工具使用介绍二13、inquirer 工具使用介绍   14、ora 加载工具使用介绍15、chalk 颜色工具使用介绍   16、download-git-repo 仓库工具介绍17、创建脚手架命令   18、创建命令可执行文件19、damiao add 命令行指令开发   20、damiao add 模板录入校验21、damiao delete 命令行指令开发   22、damiao list 命令行指令开发23、damiao init 初始化项目指令开发   24、damiao init 指令参数输入校验25、damiao 命令行指令测试.mp4  26、创建npm个人账号及发布npm仓库27、全局安装脚手架工具

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧