1.首先输入一个n,表示将有n个输入输出,例如:
#include <stdio.h>
int main()
{
int n,a
scanf("%d",&n)
while(n--){
scanf("%d",&a)
printf("输出:%d\n",a)
}
return 0
}
/*
运行结果:
3
255
输出:255
156
输出:156
125
输出:125
*/2.使用while(scanf("%d",&n)!=EOF){}语句,直达输入ctrl+z,结束输入,例如:
#include <stdio.h>
int main()
{
int a
while(scanf("%d",&a)!=EOF){
printf("输出:%d\n",a)
}
return 0
}
/*
运行结果:
54
输出:54
5156
输出:5156
21
输出:21
^Z
*/
如下就可以——void main(void){
int i,q,g//增加g计组数.
printf("How many group?\ng=")
scanf("%d",&g)//输入测试组数.
while(g--){//控制组数.
for(i=0i<5i++)
scanf("%d",&a[i])
if(a[1]*2==a[0]+a[2] &&a[2]*2==a[1]+a[3] &&a[3]*2==a[2]+a[4]){
for(i=5i<10i++){
a[i]=(a[2]-a[1])*(i-1)+a[1]
printf("%d\n",a[i])
}
//return//0
}
if(a[1]*a[1]==a[0]*a[2]&&a[2]*a[2]==a[1]*a[3]&&a[3]*a[3]==a[2]*a[4]){
for(i=5i<10i++){
q=(a[2]/a[1])
a[i]=a[0]*pow(q,i)
printf("%d\n",a[i])
}
//return//0
}
if(a[2]==a[1]+a[0]&&a[3]==a[2]+a[1]&&a[4]==a[3]+a[2])
for(i=5i<10i++){
a[i]=a[i-2]+a[i-1]
printf("%d\n",a[i])
}
else printf("None\n")
}//while end.
}
多组数据与单个数据的输入的区别在于多组数据的逻辑组成,这不是输入函数能解决的问题。简单的说,多组数据可以通过添加循环来实现,即在循环中放入单个输入,并设定循环次数。此方法可以解决一个数组的输入;如果再外加一层循环,则可解决一个矩阵中所有数据的输入。
要实现你所想的功能,需要对输入流程进行处理,即定义某个输入为内层循环的终止值,当输入此值时表明本行数据输入完成。而外层循环处理所需要的行数。
希望能给你提供帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)