OJ2010水仙花
#include<stdio.h>
#include<math.h>
int main()
{
int n,m;
while(scanf("%d %d",&m,&n)!=EOF){
int scase = 0;
for(int i = m;i<=n;i++){
if(i == pow((i%10),3) + pow((i/10)%10,3) + pow((i/100)%10 ,3)&&scase){
printf(" %d",i);
scase++;
}
if(i == pow((i%10),3) + pow((i/10%10),3) + pow((i/100)%10 ,3)&&scase==0){
printf("%d",i);
scase++;
}
}
if(scase==0) printf("no");
printf("\n");
}
}
这里要注意一点的是,要注意pow方法在定义中是属于double类型的。
OJ2091(空三角形)
#include<stdio.h>
int main()
{
int n;
int scase = 0;
char a;
while(scanf("%s",&a)!=EOF&&a!='@'){ //注意,当此处为%c时,
scanf("%d",&n); //会将空格符读入
if(scase!=0&&a!='@') printf("\n");
for(int i = 1;i<=n;i++){
for(int j = 1;j<=2*n-1;j++){
if(i!=n)
{
if(j==n-(i-1))
{
printf("%c",a);
if(i==1) break;
}
else if(j==n+(i-1))
{
printf("%c",a);
break;
}
else printf(" ");
}
if(i==n) printf("%c",a);
}
printf("\n");
}
scase++;
}
}
特别注意的一点是,在输入字符时,如果scanf中显示的为%c,那么可能会将空格符传入,所以用%s;%s是以空格为中断
的传入字符串的方法。
1.注意读题,在题中已说明,在每一行的最后一个字母后是没有空格符的。
2.注意如何使两个输出间有空行,首尾无空行的方法。