C语言问题,要求输出T组数据,可这个只能输入一组, #include<stdio.h> int

C语言问题,要求输出T组数据,可这个只能输入一组,

#include<stdio.h>
int main ()
{
int T,n,m,i,t,a,b;
scanf("%d%d",&n,&T);
int q[n];
for (i=0;i<=n-1;i++)q[i]=i+1;
for (i=1;i<=T;i++)
{
if (scanf("%d",&m) == 1)
{for(b=1;b<=m;b++)
for(a=n-1;a>=1;a--)
{t=q[a]; q[a]=q[a-1];q[a-1]=t;}
for (i=0;i<=n-2;i++)
printf("%d ",q[i]);
printf("%d\n",q[n-1]);
}
}
return 0;
}

第1个回答  2013-11-07
您好,你的数组定义有错,你首先要定义好q【】的大小的,不然会编译出错的,你的应该跟排序有关的吧,你定好数组大小就好办了,望采纳追问

编译没错啊,定义数组不能是变量么。

追答

不能的,你应该注意数组的定义是不可以这样的,要是你想动态分配存贮空间,你可以用结构类型来实现

第2个回答  2013-11-07
C语言定义数组必须放在逻辑代码之前
for(a=n-1;a>=1;a--) 这里是否a应该初始=n比较好
代码逻辑上好像少了1次循环追问

已经解决了,谢谢

本回答被提问者采纳

c语言中输入数组的问题
逐个输入数组中的数,是要用&的,但是如果是字符数组,以字符串形式整体输入,就不用,示例:include<stdio.h>int main(){int n;int t=0;scanf(“%d”,&n);char arr[n];int i;for(i=0;i<n;i++){scanf(“%c”,&arr[i]);}printf(“%c\\n”,arr[0]);for(i=...

c语言怎么输入一个正整数T,表示接下来有T组数据,每组数据输入两个正整数...
include<stdio.h> int main(){ int T,i,j;int a[100][2]; \/\/ 开一个大的2维数组,例如 可以存放 100 组数据,每组2 个 scanf("%d",&T); \/\/ 输入 T for (j=0;j<T;j++) scanf("%d %d",&a[j][0],&a[j][1]); \/\/ 读入 T 组 数据 printf("I read:\\n")...

C语言 多组数据输入,每次输入多行怎么实现?
在这个示例中,首先输入一个整数 numCases 表示数据的组数。然后使用一个 for 循环,从 1 到 numCases 迭代处理每组数据。对于每组数据,首先输入一个整数 numLines 表示该组数据的行数。然后使用另一个 for 循环,从 0 到 numLines-1 迭代读取每行数据。你可以根据具体的需求,修改内层循环中的代码...

#include<stdio.h> int main() {int a,b,c,t; printf
include<stdio.h> int main(){int a,b,c,t,p;for(p=0;p<3;p++){ printf("enter a:\\n");printf("enter b:\\n");printf("enter c:\\n");scanf("%d,%d,%d",&a,&b,&c);if(a>b){ t=a;a=b;b=t;} if (b>c){ t=b;b=c;c=t;} if(a>c){ t=a;a=c;c=t;}...

C语言编程问题?
include<stdio.h> include<string.h> include<ctype.h> int main(){ char s[1000],s1[100],*p,*q,*q1,*t,s2[100];int n;gets(s);q=s+strlen(s);while(1){ gets(s1);if(strcmp(s1,"#")==0)break;for(q=s+strlen(s)-1; isalpha(*q); q--)if(islower(*q))*q-=32;...

c语言题输出超限
主要问题我认为在你写了个死循环(循环输入),你应该在输出结果后break,跳出这个循环即可。改后的代码如下:include <stdio.h>#include <stdlib.h>int main(){int a[10];int b[10000];int m, n, sum=0, t=0;while (scanf("%d", &m) != EOF) {if (m>0 && m<10000) {for (...

C语言中如何实现多组数据输入输出?
include <stdlib.h> using namespace std;int main(){ int n;int a[50000];while (cin>>n) \/\/当没有n输入的时候结束循环,可以按 ctrl+z 来输入结束符EOF { for (int i=0;i<50000;i++)a[i]=0;for (int i=0;i<n;i++){ int temp;cin>>temp;a[temp]=temp;} for (int ...

c语言多组数据输入,输出。。。
include<stdio.h>#include<math.h>int main(){size_t T = 0;int i = 0,j = 0,x = 1;printf(""); \/\/提示输入测试数据的组数(即T),懒得写内容了,自己加上去吧233scanf("%d",&T);int n[T],k[T];int sum[T];for(; i<T; i++){scanf("%d %d",&n[i],&k[i]);if(...

C语言数据多组输入
include <stdio.h>int main(void){int a,b,t;char ch;scanf("%d",&t);while(t!=0){scanf("%d",&a);ch=getchar();scanf("%d",&b);switch(ch){case '+':printf("%d\\n",a+b);break;case '-':printf("%d\\n",a-b);break;case '*':printf("%d\\n",a*b);break;...

c语言。。。
前面的0自动省略了,用printf ("%02d\\n", t);就可以了,另外如果是输入数据原样输出,需要定义字符串形式的变量进行操作:include<stdio.h>int main(){ char t[32]; scanf ("%s", t); printf("%s\\n", t); return 0;} ...

相似回答
大家正在搜