C Keil u vision4的乱码文本

C Keil u vision4的乱码文本,c,for-loop,scanf,keil,C,For Loop,Scanf,Keil,我想写一个程序对分数进行排序 这是我的尝试: int i,j,s[5][2],tmp,p; for(i=0;i<5;i++) { printf("plz input student numder:\n"); scanf("%d",&s[i][0]); printf("score:\n"); scanf("%d",&s[i][1]); } for(p=0;p<5;p++) {

我想写一个程序对分数进行排序 这是我的尝试:

int i,j,s[5][2],tmp,p;
for(i=0;i<5;i++)
{
    printf("plz input student numder:\n");
    scanf("%d",&s[i][0]);
    printf("score:\n");
    scanf("%d",&s[i][1]);
}
for(p=0;p<5;p++)  
{                         
        for(i=p+1;i<5;i++)
   {
            if(s[i][1]>s[p][1])
             {
                tmp=s[p][1];
                s[p][1]=s[i][1];
                s[i][1]=tmp;
                j=s[p][0];
                s[p][0]=s[i][0];
                s[i][0]=j;
           } 
     }
      }
for(i=0;i<5;i++)
   {
    printf("rank%d %d %d\n",i+1,s[i][0],s[i][1]);
    }
    return 0;    
inti,j,s[5][2],tmp,p;

对于(i=0;i您在学生id中输入了大量信息

plz输入学生人数: 123202033

与整数的有效范围不对应的


这就是它以负数给出输出的原因

那么…如何扩展整数@賴言厚: 您正在使用什么编译器和操作系统?short int和int:-32767到32767无符号短int和无符号int:0到65535长int:-2147483647到2147483647无符号长int:0到4294967295
int i,j,s[5][2],tmp,p;
更改为
long int i,j,s[5][2],tmp,p;?
谢谢。我解决了范围问题,但输出的结尾仍然显示如下乱码:鼢 Dt???0??????"屪?@ ? @ ? ? ?  9英寸x噈惄U v0??~ "?