用的VC6.0,这是编译器问题,还是代码问题,在其他编译器可以运行
代码:#include<stdio.h>
#define N 100
#include<stdlib.h>
#include<time.h>
int main()
{
srand((unsigned)time(NULL));
int a;
int i,j,t;
printf("排序前的随机数为:\n");
for(i=0;i<=9;i++){
a=rand()%31+70;
printf("%d\t",a);
}
putchar('\n');
printf("排序后为:\n");
for(i=0;i<=9;i++){
for(j=i+1;j<=9;j++)
if(a<a){
t=a;
a=a;
a=t;}
printf("%d\t",a);
}
putchar('\n');
return 0;
}
static/image/hrline/line7.png
错误信息:
Compiling...
wenda.c
D:\VC6.0\CCC\wenda.c(8) : error C2143: syntax error : missing ';' before 'type'
D:\VC6.0\CCC\wenda.c(9) : error C2143: syntax error : missing ';' before 'type'
D:\VC6.0\CCC\wenda.c(11) : error C2065: 'i' : undeclared identifier
D:\VC6.0\CCC\wenda.c(12) : error C2065: 'a' : undeclared identifier
D:\VC6.0\CCC\wenda.c(12) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(12) : error C2106: '=' : left operand must be l-value
D:\VC6.0\CCC\wenda.c(13) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(18) : error C2065: 'j' : undeclared identifier
D:\VC6.0\CCC\wenda.c(19) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(19) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(20) : error C2065: 't' : undeclared identifier
D:\VC6.0\CCC\wenda.c(20) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(21) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(21) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(21) : error C2106: '=' : left operand must be l-value
D:\VC6.0\CCC\wenda.c(22) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(22) : error C2106: '=' : left operand must be l-value
D:\VC6.0\CCC\wenda.c(23) : error C2109: subscript requires array or pointer type
执行 cl.exe 时出错.
wenda.obj - 1 error(s), 0 warning(s)
应该是编译器的问题,现在不建议用 VC 了 编译器问题。
这里下载 VS2019 #include<stdio.h>
#define N 100
#include<stdlib.h>
#include<time.h>
int main()
{
int a;
int i,j,t;
srand((unsigned)time(NULL)); // 从第7行调到第9行来
printf("排序前的随机数为:\n");
for(i=0;i<=9;i++)
{
a=rand()%31+70;
printf("%d\t",a);
}
putchar('\n');
printf("排序后为:\n");
for(i=0;i<=9;i++)
{
for(j=i+1;j<=9;j++)
{
if(a<a)
{
t=a;
a=a;
a=t;
}
printf("%d\t",a);
}
} //少一个括号
putchar('\n');
return 0;
}
倒数第四行,少了一个括号,将第8行、第9行置于第7行之前。这样改动,你的程序就能正常运行
风过无痕1989 发表于 2020-8-19 17:44
倒数第四行,少了一个括号,将第8行、第9行置于第7行之前。这样改动,你的程序就能正常运行
这样可以运行了,但结果是这样 风过无痕1989 发表于 2020-8-19 17:44
倒数第四行,少了一个括号,将第8行、第9行置于第7行之前。这样改动,你的程序就能正常运行
诶,我自己输了一遍又行了,,,谢谢大佬 风过无痕1989 发表于 2020-8-19 17:44
倒数第四行,少了一个括号,将第8行、第9行置于第7行之前。这样改动,你的程序就能正常运行
第二个for语句加{}后,就是我回复你的那个图片,不加{}只是把8、9行放前面可以正常运行,结果也是对的 2350595389 发表于 2020-8-19 19:20
第二个for语句加{}后,就是我回复你的那个图片,不加{}只是把8、9行放前面可以正常运行,结果也是对的
我不知道,你想达到什么样的效果,也就只能检查程序能否正常运行 风过无痕1989 发表于 2020-8-19 19:38
我不知道,你想达到什么样的效果,也就只能检查程序能否正常运行
嗯,忘了说了,随机产生是个70~100的数,并从大到小排序
页:
[1]