C语言 中提示error C2061: syntax error : identifier 'printf'

#include<stdio.h>intmain(){inti=100,a,b,c;printf("水仙花数为:");do{while(i<=1000);a=i/100;... # include<stdio.h>
int main()
{
int i=100,a,b,c;
printf("水仙花数为:");
do
{
while(i<=1000);
a=i/100;
b=i/10-i*10;
c=i%10;
i++;
if(i=a*a*a+b*b*b+c*c*c)
printf("%d ",i);
}
printf("\n");
return 0;
}
展开
 我来答
jackou20057
推荐于2017-09-23 · TA获得超过998个赞
知道小有建树答主
回答量:199
采纳率:100%
帮助的人:275万
展开全部
你这里报错的原因是 :
do
{
}while(i<=1000); 这里while应该写在后边且必须加分号,你当中写的do while 循环是错误的写法,故而会报一个语法错误,另外就是你的程序逻辑 控制 还有几处错误
具体修改程序后为:

# include<stdio.h>
int main()
{
int i=100,a,b,c;
printf("水仙花数为:");
do
{

a=i/100;
b=(i/10)%10;
c=i%10;

if(i==a*a*a+b*b*b+c*c*c) //此处应该是(等号)== ,而不是赋值符号 =
printf("%d ",i);
i++; //需要先判断是否相等后 才能对i 进行+1 操作,否则就不是求水仙花数
}while(i<=1000);

printf("\n");
return 0;
}

//注意 比较运算符 等号 == 与 赋值运算符 = 的差别
//另外就是要注意 while 循环 与do{}while(); 循环的区别
lgao622
2015-09-16 · 知道合伙人软件行家
lgao622
知道合伙人软件行家
采纳数:1137 获赞数:6550
毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。

向TA提问 私信TA
展开全部
  1. 在源代码头部添加 #include <stdio.h>, printf 是标准输出函数,就定义在stdio.h中。

  2. int printf (const char *__format, ...)
    printf()函数根据format(格式)给出的格式打印输出到STDOUT(标准输出)和其它参数中.

    字符串format(格式)由两类项目组成 - 显示到屏幕上的字符和定义printf()显示的其它参数. 基本上,
    你可以指定一个包含文本在内的format(格式)字符串,也可以是映射到printf()其它参数的"特殊"字符. 

Code    
格式    

%c    
字符    

%d    
带符号整数    

%i    
带符号整数    

%e    
科学计数法, 使用小写"e"    

%E    
科学计数法, 使用大写"E"    

%f    
浮点数    

%g    
使用%e或%f中较短的一个    

%G    
使用%E或%f中较短的一个    

%o    
八进制    

%s    
一串字符    

%u    
无符号整数    

%x    
无符号十六进制数, 用小写字母    

%X    
无符号十六进制数, 用大写字母    

%p    
一个指针    

%n    
参数应该是一个指向一个整数的指针指向的是字符数放置的位置
   

%%    
一个'%'符号    

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lphaff
推荐于2017-09-06 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1565
采纳率:72%
帮助的人:628万
展开全部
添加头文件#include<stdio.h>即可。
这是一种非常常见的语法错误,即printf这个函数没有定义。
一般情况下,我们的printf函数是属于内部函数,在stdio.h文件里面已经被系统定义过的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TXY552015422
2012-11-13
知道答主
回答量:7
采纳率:0%
帮助的人:1.1万
展开全部
if(i=a*a*a+b*b*b+c*c*c)改为if(i==a*a*a+b*b*b+c*c*c)
如果是if(i=a*a*a+b*b*b+c*c*c)那么就是死循环了。所以错了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宽厚还漂亮的桃花adc7
2012-11-13 · TA获得超过333个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:133万
展开全部
if(i=a*a*a+b*b*b+c*c*c)//应该是这里出错了吧 你这是直接赋值了 不是在判断
printf("%d ",i);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式