该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
描述
请判断一个数是不是水仙花数。
其中水仙花数定义各个位数立方和等于它本身的三位数。
输入
有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
输入0表示程序输入结束。
输出
如果n是水仙花数就输出Yes
否则输出No
我想写一个可以返回字符串类型的函数,可以写么?
#include
string shuixianhua(int x){
int i,j,k;
i=x/100;
j=x/10%10;
k=x%100;
if(x==i*i*i+j*j*j+k*k*k) return "Yes";
else return "No";
}
int main(){
int i;
int x;
scanf("%d",&x);
while(x!=0)
{
shuixianhua(x);
scanf("%d",&x);
}
return 0;
}
我写的这个:
我想写一个可以返回字符串类型的函数,很明显我写的是错误的。写一个可以返回字符串类型的函数、应该怎么写?
如果用指针,这个函数这样写还是没反应:
char *shuixianhua(int x){
int i,j,k;
i=x/100;
j=x/10%10;
k=x%100;
char a[4]="Yes";
char b[3]="No";
char c[4];
if(x==i*i*i+j*j*j+k*k*k) return a;
else return b;
}
用最原始方法:成功了:
#include
void shuixianhua(int x){
int i,j,k;
i=x/100;
j=x%100/10;
k=x%100%10;
char a[4]="Yes";
char b[3]="No";
char c[4];
if(x==i*i*i+j*j*j+k*k*k) printf("Yes\n");
else printf("No\n");
}
int main(){
int i;
int x;
scanf("%d",&x);
while(x!=0)
{
shuixianhua(x);
scanf("%d",&x);
}
return 0;
}
我主要想试试返回字符串的函数怎么写的。
用一种简单的方法写:成功了,这是简单的方法的代码。