C语言int输出数问题
这是程序源代码,里面的学号是11位,但输出的程序就不是11为了。
输出后的位数
这是什么原因呢?怎么修改?
追问:我修改了半天还是搞不定,给你看下源代码,该怎么改
void add2()
{int c[5];int i,t,j,m,w,e,v;
int a[5]={10604222014,1060422223,1060422236,1060422251,1060422265};
char n[5][18]={"小明","小敏","小华","小丽","小梅"};
int b[5][4]={{65,70,90,65},
{78,84,60,70},
{50,69,78,80},
{70,67,89,75},
{68,79,84,90}};
clrscr();
for(i=0;i<5;i++)
{ c[i]=0;
for(j=0;j<4;j++)
c[i]=c[i]+b[i][j];}
for(i=0;i<4;i++)
{ for(j=i+1;j<5;j++)
if(c[i]<c[j])
{t=c[i];c[i]=c[j];c[j]=t;
t=a[i];a[i]=a[j];a[j]=t;
for(e=0;e<18;e++)
{t=n[i][e];n[i][e]=n[j][e];n[j][e]=t;}
for(w=0;w<4;w++)
{t=b[i][w];b[i][w]=b[j][w];b[j][w]=t;}} }
for(v=0;v<5;v++)
printf("\n");
printf(" # 成绩表 # \n");
printf("\n");
printf(" ┌───┬───┬───┬───┬───┬───┬───┬───┐\n");
printf(" │ 学号 │ 姓名 │ 数学 │ 英语 │计算机│ 哲学 │ 总分 │ 名次 │\n");
for(i=0;i<5;i++)
{ printf(" ├───┼───┼───┼───┼───┼───┼───┼───┤\n");
printf(" │%6d│",a[i]);
for(m=0;m<18;m++)
printf("%c",n[i][m]);
printf("\b\b\b\b\b\b\b\b\b\b\b\b");
for(t=0;t<4;t++)
printf("│%5d ",b[i][t]);
printf("│%5d │%5d │\n",c[i],i+1); }
printf(" └───┴───┴───┴───┴───┴───┴───┴───┘\n");
getch();
}