首页 新闻 搜索 专区 学院

求c语言编程大神们帮一个小忙!谢谢了!

0
[已解决问题] 解决于 2013-12-14 20:30

题目描述

输入n个整数,输出由这些整数组成的n行矩阵。

输入

第一行输入一个正整数N(N<=20),表示后面要输入的整数个数。 
下面依次输入N个整数。

输出

以输入的整数为基础,输出有规律的n行数据。

示例输入

5
3 6 2 5 8

示例输出

3 6 2 5 8
8 3 6 2 5
5 8 3 6 2
2 5 8 3 6
6 2 5 8 3
sylvia2121的主页 sylvia2121 | 菜鸟二级 | 园豆:204
提问于:2013-12-13 20:36
< >
分享
最佳答案
0

你是语法不会还是算法不会?总不能张口要代码吧。。。

奖励园豆:5
谦行 | 菜鸟二级 |园豆:473 | 2013-12-13 21:03

#include <stdio.h>
int main()
{      
 int a[20];      
 int n,i;      
 scanf("%d",&n);             
 for(i=0;i<n;i++)        
  scanf("%d",&a[i]);   
 for(i=0;i<n;i++)         
  printf("%d ",a[i]);   
 printf("\n");     
 for(i=0;i<n-1;i++)
 {                      
  int j, k=a[n-1];           
  for(j=n-1;j>=1;j--)           
  {                
   a[j]=a[j-1];          
  }           
  a[0]=k;       
  for(int m=0;m<n;m++)             
   printf("%d ",a[m]);          
  printf("\n");      
 }
}

那麻烦您看看这个程序有什么问题好了?

sylvia2121 | 园豆:204 (菜鸟二级) | 2013-12-13 21:18

@sylvia2121: 不好意思,刚刚看到,觉得你这个问题用单向循环链表解决最好了,看看下面代码能不能帮到你,好久没用C了,生疏了

 

#include <stdio.h>
#include <stdlib.h>
typedef struct list
{
    int data;
    struct list* next;
}List;

List* create(n)
{
    List *head, *s,*r;
    r=head=(List*)malloc(sizeof(List));
    int i=0;

    while(i<n){
        s=(List*)malloc(sizeof(List));
        scanf("%d",&s->data);
        r->next=s;
        r=s;
        i++;
    }
    r->next=head->next;
    return head;    
}

int main (int argc, char *argv[])
{
    printf("数据个数:");
    int n=0,i=1;
    scanf("%d",&n);
    List* head=create(n);
    
    for(head=head->next;i<=n*n;i++)
    {
        printf("%d\t",head->data);
        if(i%n==0)
        {
            printf("\n");
        }
        else
        {
            head=head->next;
        }
    }
    return 0;
}
谦行 | 园豆:473 (菜鸟二级) | 2013-12-14 09:30

谢谢了,麻烦你了

sylvia2121 | 园豆:204 (菜鸟二级) | 2013-12-14 20:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册