C语言-错在哪?

来源:百度知道 编辑:UC知道 时间:2024/05/06 13:14:41
#include "stdio.h"
void main()
{
int n,i,a[100];
scanf("%d",&n);
for(i=0,i<n,i++;);
scanf("%d",&a[i]);
int s=0,j;
for(i=0,i<n,i++;);
{for(j=i+1,j<n,j++;);
{if(a[i]>a[j]) s++;}
}
print("逆序数=%d",s);
}

for循环语句里用分号";"而不是逗号","分隔,比如:
for(i=0,i<n,i++;); 是错的,应该是for(i=0;i<n;i++); for语句后面直接加分号就什么都不做,不会进入循环体,我想你的第一个for语句本应该这样写的:
for(i=0;i<n;i++)
scanf("%d",&a[i]);
还有打印函数是printf,不是print,还有就是要注意代码风格,你这样的代码不太好看。

你那for语句怎么搞的?那么多分号,最好看下书
还有printf,少写了个f,改正后:
#include "stdio.h"
void main()
{
int n,i,a[100];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
int s=0,j;
for(i=0;i<n;i++)
{for(j=i+1;j<n;j++)
{if(a[i]>a[j]) s++;}
}
printf("逆序数=%d",s);
}

#include <stdio.h>
void main()
{

int n,i,a[100];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
int s=0,j;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{if(a[i]>a[j]) s++;}
}
printf("逆序数=%d",s);
}<