康宇的OJ愚人手账1
STDU 1582 排序
 Problem Description
給你N(N<=100)個數(shù),請你按照從小到大的順序輸出。
 Input
輸入數(shù)據(jù)第一行是一個正整數(shù)N,第二行有N個整數(shù)。
 Output
輸出一行,從小到大輸出這N個數(shù),中間用空格隔開。
 Sample Input
5
 1 4 3 2 5
Sample Output
1 2 3 4 5
#include <stdio.h>int main(){int a[101];int n,m,i,j,t;scanf("%d",&n);for(int i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;} }}for(int i=0;i<n;i++)printf("%d ",a[i]);return 0; }錯因:交換兩數(shù)部分,把所有的i寫成了j
#include <stdio.h>int main(){int a[101];int n,m,i,j,t;scanf("%d",&n);for(int i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} }}for(int i=0;i<n;i++)printf("%d ",a[i]);return 0; }STDU 1244 數(shù)列有序!
 Problem Description
有n(n<=100)個整數(shù),已經(jīng)按照從小到大順序排列好,現(xiàn)在另外給一個整數(shù)m,請將該數(shù)插入到序列中,并使新的序列仍然有序。
 Input
輸入數(shù)據(jù)包含多個測試實例,每組數(shù)據(jù)由兩行組成,第一行是n和m,第二行是已經(jīng)有序的n個數(shù)的數(shù)列。n和m同時為0表示輸入數(shù)據(jù)的結(jié)束,本行不做處理。
 Output
對于每個測試實例,輸出插入新的元素后的數(shù)列。
 Sample Input
3 3
 1 2 4
 0 0
Sample Output
1 2 3 4
#include <stdio.h> int main(){int n,m,t,x;while(scanf("%d%d",&n,&m),m||n){t=1;//記錄m是否輸出 for(int i=0;i<n;i++){ scanf("%d",&x);//插空輸出m if(t&&m<=x){t=0;printf("%d ",m);}printf("%d",x);if(i!=n-1) putchar(' ');}if(n==0) printf(" %d",m);//n=0且m!=0時的特殊情況puts(""); }return 0; }錯因:參考https://blog.csdn.net/love_acm_love_mm/article/details/8991197后發(fā)現(xiàn)忘記討論m為最大值的情況。同時發(fā)現(xiàn)只要在判斷n=0且m!=0處修改一下判斷條件即可.
#include <stdio.h> int main(){int n,m,t,x;while(scanf("%d%d",&n,&m),m||n){t=1;//記錄m是否輸出 for(int i=0;i<n;i++){ scanf("%d",&x);//插空輸出m if(t&&m<=x){t=0;printf("%d ",m);}printf("%d",x);if(i!=n-1) putchar(' ');}if(t) printf(" %d",m);//n=0且m!=0時或者m為最大值的特殊情況puts(""); }return 0; }總結(jié)
以上是生活随笔為你收集整理的康宇的OJ愚人手账1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: SOC 时钟源PLL锁相环详细介绍——I
- 下一篇: BCJC:62:计算机体系之灵魂→OS→
