赞
踩
1最大与次大值。(20分)
题目内容:编写程序,找出给定的n个数中的最大值及次大值。
输入格式:在第一行中输入一个正整数n(1<n≤10)。第二行输入n个整数,用英文逗号,隔开。
输出格式:在一行中输出最大值及次大值,中间用英文逗号,隔开。
输入样例:7
12,1,2,5,4,7,3
输出样例:12,7
时间限制:500ms 内存限制:31kb
代码:
#include<stdio.h> int main() { int A[10]; int len; scanf("%d",&len); for(int k=0;k<len;k++) scanf("%d,",&A[k]); for(int i=0;i<len;i++) for(int j=i;j<len;j++) { if(A[i]>A[j]) { int t=A[i]; A[i]=A[j]; A[j]=t ; } } printf("%d,%d",A[len-1],A[len-2]); }
2数组逆序。(20分)
题目内容:编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放并输出元素值。
输入格式:在第一行中输入一个正整数n(1≤n≤10)。第二行输入n个整数,用英文逗号,分开。
输出格式:在一行中输出这n个整数的处理结果,相邻数字中间英文逗号,分开,行末不得有多余空格。
输入样例: 8
12,24,8,1,3,2,5,7
输出样例: 7,5,2,3,1,8,24,12
时间限制:500ms 内存限制:32000kb
代码:
#include<stdio.h> int main() { int n; scanf("%d",&n); int a[n]; scanf("%d",&a[0]); for( int i=1;i<n;i++) { scanf(",%d",&a[i]); } printf("%d",a[n-1]); for(int i=n-2;i>=0;i--) { printf(",%d",a[i]); } return 0; }
3素数排序。(30分)
题目内容:输入10个正整数到a数组中,对a[10]数组中的素数升序排序。
输入格式:在一行中输入10个用英文逗号,隔开的正整数。
输出格式:在一行中输出升序的素数序列,每个数之间用英文逗号,隔开,末尾没有多余的空格。
输入样例:10,3,1,5,4,8,7,2,9,11
输出样例:2,3,5,7,11
输入样例:16,12,1,6,4,8,14,18,24,21
输出样例:Not found!
时间限制:500ms 内存限制:32000kb
代码:
#include<stdio.h> int main() { int a[10]; int b[10]={0}; int i,j=0,k; int *p ; int count=0; scanf("%d",&a[0]); for( i=1;i<10;i++) { scanf(",%d",&a[i]); } //=============================== while (j<10) { for(i=0;i<9;i++) { if(i<9) { if(a[i]>a[i+1]) { b[i]=a[i+1]; a[i+1]=a[i]; a[i]=b[i]; } } } j++; } // ============================== int c[10]={0}; for(i=0;i<10;i++) { if(a[i]==2||a[i]==3||a[i]==5||a[i]==7||a[i]==11) { count++; c[i]=a[i]; } if(a[i]%2!=0&&a[i]%3!=0&&a[i]%5!=0&&a[i]%7!=0&&a[i]%9!=0&&a[i]%11!=0) { count++ ; c[i]=a[i]; } if(a[i]==1) { count--; c[i]=0; } } //============================= int d[count]; if(count==0) { printf("Not found!"); } j=0; for(i=0;i<10;i++) { if(c[i]!=0) { d[j]=c[i]; j++; } } for(k=0;k<count;k++) { if(k<count-1) { printf("%d,",d[k]); } else { printf("%d",d[k]); } } }
分析:前半部分是输入—>排序—>判断素数后,存储(count为计数器,由于样例给的数比较小,所以没有考虑过大的素数)—>遍历后判断输出
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。