很多新手都曾遇到用循环控制输入n组测试字符的问题,当然我也是菜鸟一枚。请耐心看完示例,拷贝代码调试,相信能解决困扰你很久的问题。请看示例:
#include <stdio.h>
int main()
{
int n, m, data, k, i = 0, j = 1;
int arr[101];
printf("请输入要测试的组数n:");
scanf("%d", &n);
while (i < n)
{
i++;
j = 1;
// 输入m和m个整数
scanf("%d", &m);
arr[0] = m;
while ((j <= m) && scanf("%d", &data) ) //正常运行
while (scanf("%d", &data) && (j <= m) )//由于scanf()在“&&”前面,程序就会多读取一个用来判断条件的数字;
// 由于最后一个字符不满足条件,所以多读取了一个数字而不会输出。
{
arr[j] = data;
j++;
}
printf("Case %d:", i);
for (k = 1; k <= m; k++)
printf("%d ", arr[k]);
printf("\n");
}
return 0;
}
问题可能描述得不明确,但是相信遇到过同样问题的童鞋认真看看示例是可以解决问题的。