赞
踩
7-9 sdut-C语言实验- 排序
分数 16
全屏浏览题目
切换布局
作者 马新娟
单位 山东理工大学
给你N(N<=100)个数,请你按照从小到大的顺序输出。
输入数据第一行是一个正整数N,第二行有N个整数。
输出一行,从小到大输出这N个数,中间用空格隔开。
第九题和第十题基本上一样,都是一个思想。
- #include <stdio.h>
- #include <stdlib.h>
-
- int main()
- {
- int n;
- int a[105];
- scanf("%d",&n);
- for(int i=1;i<=n;i++)
- {
- scanf("%d",&a[i]);
- }
- for(int i=1;i<=n;i++)
- {
- for(int j=n;j>i;j--)
- {
- if(a[j]<a[j-1])
- {
- int t=a[j-1];
- a[j-1]=a[j];
- a[j]=t;
- }
- }
- }
- for(int i=1;i<=n;i++)
- {
- printf("%d",a[i]);
- if(i<n)
- {
- printf(" ");
- }
- }
-
-
- return 0;
- }

7-10 sdut-C语言实验-排序问题
分数 15
全屏浏览题目
切换布局
作者 马新娟
单位 山东理工大学
输入10个整数,将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置。
输入数据有一行,包含10个整数,用空格分开。
输出数据有两行,第一行为排序后的序列,第二行为排序后各个元素在原来序列中的位置。
- #include <stdio.h>
- #include <stdlib.h>
-
- int main()
- {
- int a[15],b[99];
- int n=10;
- for(int i=1;i<11;i++)
- {
- scanf("%d",&a[i]);
- b[i]=i;
- }
- for(int i=1;i<11;i++)
- {
- for(int j=10;j>i;j--)
- {
- if(a[j]<a[j-1])
- {
- int t=a[j];
- a[j]=a[j-1];
- a[j-1]=t;
- t=b[j];
- b[j]=b[j-1];
- b[j-1]=t;
- }
- }
- }
- for(int i=1;i<11;i++)
- {
- printf("%d",a[i]);
- if(i<10)
- printf(" ");
- }
- printf("\n");
- for(int i=1;i<11;i++)
- {
- printf("%d",b[i]);
- if(i<10)
- printf(" ");
- }
- return 0;
- }

赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。