C语言问题:一道题的问题.

来源:百度知道 编辑:UC知道 时间:2024/06/05 08:56:56
#include <stdio.h>
void main()
{
int a[11]={1,4,6,9,13,16,19,28,40,100};
int num,i,j;
printf("array a:\n");
for (i=0;i<10;i++)
{printf("%5d",a[i]);}
printf("\n");
printf("input data:");
scanf("%d",num);
if (num>a[9])
a[10]=num;
else for (i=0;i<10;i++)
{
if (a[i]>num)
{for (j=9;j>=i;j--)
a[j+1]=a[j];
a[i]=num;
break;}
}
printf("New array a:\n");
for (i=0;i<11;i++)
printf("%5d",a[i]);
printf("\n");
}

问题是我是照书写的可是怎么应用到电脑上就不好使了呢?
每次运行时,它会显示
array a:
1,4,6,9,13,16,19,28,40,100
input data:_
但是当输入了一个输后就会显示
这个程序遇到问题需要关闭.我们对此引起的不便表示抱歉.
编译显示了error0,warning1,再次编译error0,warning0
然后运行了,就是不行啊,哪位会C的帮我一下好么?
原题让将一个数插入到一个已经排列好的序列之中,按照原数列的顺序模式排序.

scanf("%d",num); 应为scanf("%d",&num);
还有个小细节吧,else for (i=0;i<10;i++) 应该是i<9吧,a[9]前面已经比过了

你的第十一行有问题,应该是scanf("%d",&num); &的意思是将输入的数存入num;
我想你第一次按的是编译吧,第二次按的是构建吧!

scanf("%d",num);
打错了:
scanf("%d",&num);

你想要程序实现什么功能!!

scanf("%d",&num);
你注意到没有?你漏了一个&,这个很关键,注意scanf的用法,跟printf不一样的.

我试了一下,是那个scanf("%d",num); 应为scanf("%d",&num);
楼主自己试一下哦!