黑马程序员技术交流社区

标题: 为什么能运行但是是错的? [打印本页]

作者: ★彬★卍囧神    时间: 2014-5-10 19:31
标题: 为什么能运行但是是错的?
本帖最后由 ★彬★卍囧神 于 2014-5-11 20:33 编辑

/*
题目:提示用户输入一个小于10的正整数n,如果n是5,就输出下列图形,其他n值以此类推
54321
5432
543
54
5
*/

#include <stdio.h>
int main()
{
   int n=0;
   while (n>0 || n<10){
                printf("请输入1---10的数:\n");
                scanf("%d",n);
   }
        for(int i=1 ; i<=n; i++)
        {        for(int j=0;j<=n-i; j++)
                        printf("n-j");
                        printf("\n");
}
        return 0;

}

作者: 兰WX    时间: 2014-5-10 19:46
错误1:while (n>0 || n<10),输入符合要求的数返回会一直进入循环,改为while (n<=0 || n>=10)
错误2:    scanf("%d",n);,注意scanf用法,改为scanf("%d",&n)
错误3: printf("n-j"),改为printf("%d", n-j)
作者: UT丶    时间: 2014-5-10 20:03
scanf("%d",n);   接收的为变量内存地址要加上&
printf("n-j");   输出要加占位符  printf("%d",n-j);
作者: ★彬★卍囧神    时间: 2014-5-10 20:40
兰WX 发表于 2014-5-10 19:46
错误1:while (n>0 || n

恩谢了,我太马虎了
作者: ★彬★卍囧神    时间: 2014-5-10 20:41
UT丶 发表于 2014-5-10 20:03
scanf("%d",n);   接收的为变量内存地址要加上&
printf("n-j");   输出要加占位符  printf("%d",n-j); ...

谢谢,懂了!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2