当前位置:首页 > C语言模拟题(2014-5)答案
m=0; do { k = n / 16; // k = n % 16 if (k<=9) str[m] = '0'+k; else str[m] = 'A'+k-10; m++; n /= 16; } while (n>0);
str[m] = '/0'; // '\\0'
for (i=0;j=m-1; i { t=str[i]; str[i]=str[j]; str[j]=t; } } int main() { char str[80]; int n; scanf(\ str=decToHex(n);// decToHex(n, str); puts(str); return 0; } 第2题(16分) 上机要求:按程序功能要求编写程序,并将程序代码保存到 E:\\answer\\1-A-2.c中。 程序功能:输入2个正整数a1,a2(a1>a2),按示例格式,判断并输出两数之和与两数之差 是否为素数。(素数定义:只能被1和本身所整除的正整数(1除外),如2、3、5、7、11等是素数。) 如输入:18 7 则输出: a1+a2=25,No a1-a2=11,Yes 示例说明: 如输入:25 8 则输出: a1+a2=33,No a1-a2=17,Yes 示例说明: #include int prime(int s){ int i; for(i=2;i<=sqrt(s);i++){ if(s%i==0){ return 0; } } return 1; } 第3题(16分) 上机要求:按程序功能要求编写程序,E:\\answer\\1-A-3.c 中。 程序功能: (1)输入10个整数(存贮在一维数组中); (2)将数组元素从小到大排序; (3)排序后的数组元素按示例格式打印输出; 并将程序代码保存到 (4)按示例格式输出最小数出现次数。 如输入:1 2 3 4 5 6 7 8 1 1 则输出: 1 1 1 2 3 4 5 6 7 8 Min:1(3) 示例说明:输入10个整数,按从小到大排列,其中最小值1出现3次。 如输入: 78 90 60 95 78 60 78 95 78 60 则输出: 60 60 60 78 78 78 78 90 95 95 Min:60(3) 示例说明: 输入10个整数,按从小到大排列,其中最小值60出现3次。 #include int i,j,a[10]; int count=0; int min,tmp=1; for(i=0;i<10;i++){ scanf(\ } for(i=0;i<10;i++)//选择排序 { min=i; for(j=i+1;j<10;j++) if(a[j] for(i=0;i<10;i++){ printf(\ if(a[i]==a[0]){ count++; } } printf(\ printf(\ return 0; } 第4题(20分) 上机要求:按程序功能要求编写程序,并将程序代码保存到 E:\\answer\\1-A-4.c 中。 程序功能:按示例格式完成以下要求。 (1) 输入n和n个学生的学号和成绩(学号和成绩均为整型,且n≤30); (2) 将学号为偶数的学生组成A班,输出A班学生的学号,及A班总人数; (3) 将学号为奇数的学生组成B班,输出B班学生的学号,及B班总人数。 如输入:5 1001 50 1002 60 1003 70 1004 80 1005 90 则输出: A:1002 1004 total=2 B:1001 1003 1005 total=3 示例说明: 输入5个学生的学号和成绩,分别输出A、B班学号及总人数。 #include int stu[30][2],a[30],b[30]; int i,n,len1=0,len2=0; scanf(\ for(i=0;i scanf(\ for(i=0;i if(stu[i][0]%2==0){ a[len1]=stu[i][0]; len1 ++; }else{ b[len2]=stu[i][0]; len2++;
共分享92篇相关文档