为什么for循环不能循环输入 while循环就可以 TAT
hi hi hi 大牛 帮帮小菜吧

for循环
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
char a[8];
scanf("%s",&a);
if(a[4]=='1') printf("chuanyuan %c%c%c\n",a[5],a[6],a[7]);
else printf("shie %c%c%c\n",a[5],a[6],a[7]);
}
return 0;
}
while循环
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
while(n--){
char a[8];
scanf("%s",&a);
if(a[4]=='1') printf("chuanyuan %c%c%c\n",a[5],a[6],a[7]);
else printf("shie %c%c%c\n",a[5],a[6],a[7]);
}
return 0;
}
题目
题目描述
热烈欢迎 新北航人! ggengx 是一名迎新志愿者,他需要根据学号判断出新生来自 传源书院 还是 士谔书院(当然还有很多其他学院,为了简化处理就不考虑啦)。并送上相应的开学大礼包。
已知:
25级传源书院新生的学号组成为 25371xxx,例如 25371001 、 25371271
25级士谔书院新生的学号组成为 25373xxx,例如 25373080 、 25373173
输入
共 n+1行输入
第一行输入正整数 n表示有n个学号1≤n≤1×103
后续n行,每行输入一个学号(8位)例如 25373271,保证输入的学号是 25级传源/士谔书院的合法学号
输出
共n行,对于每一个学号,需要有两样输出
输出其学院名称 :如果是传源书院的学生,输出chuanyuan;
如果是士谔书院的学生,输出shie
输出学号后三位学院名称与学号后三位之间使用一个空格分割
输入样例
3
25371001
25371498
25373211
输出样例
chuanyuan 001
chuanyuan 498
shie 211