Chinaunix首页 | 论坛 | 博客
  • 博客访问: 149811
  • 博文数量: 91
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 970
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-09 11:40
文章分类
文章存档

2011年(1)

2010年(4)

2009年(86)

我的朋友
最近访客

分类: C/C++

2009-06-16 18:49:03

全国计算机等级二级C语言上机编程题题型
第1题
??函数fun的功能是:将n个人员的考试成绩进行分段统计,考试成绩放在a数组中,各分数段的人数存到b数组中:成绩为60到69的人数存到b[0]中,成绩为70到79的人数存到b[1],成绩为80到89的人数存到b[2], 成绩为90到99的人数存到b[3],成绩为100的人数存到b[4], 成绩为60分以下的人数存到b[5]中。
??例如,当a数组中的数据是:
?? 93、85、77、68、59、43、94、75、98。
?? 调用该函数后,b数组中存放的数据应是:
?? 1、2、1、3、0、2。
??注意:部分源程序存在文件PROG1.C中。
??请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
?? Prog1.c
??#include
??#include
??
??void fun(int a[], int b[], int n)
??{
??
??}
??
??main()
??{ int i, a[100]={ 93, 85, 77, 68, 59, 43, 94, 75, 98}, b[6];
?? clrscr();
?? fun(a, b, 9);
?? printf("the result is: ");
?? for (i=0; i<6; i++) printf("%d ", b[i]);
?? printf("\n");
?? NONO();
??}
??
??NONO( )
??{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
?? FILE *rf, *wf ;
?? int a[100], b[6], i, j ;
?? rf = fopen("in1.dat", "r") ;
?? wf = fopen("bc01.dat","w") ;
?? for(i = 0 ; i < 10 ; i++) {
?? for(j = 0 ; j < 10 ; j++) fscanf(rf, "%d,", &a[j]) ;
?? fun(a, b, 9) ;
?? for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;
?? fprintf(wf, "\n") ;
?? }
?? fclose(rf) ;
?? fclose(wf) ;
??}
??
??程序参考答案
??void fun(int a[], int b[], int n)
??{
??int i;
??for (i=0; i<6; i++) b[i] = 0;
??for (i=0; i
??if (a[i] < 60) b[5]++;
??else b[(a[i]- 60)/10]++;
??}
??
?? 第2题
??函数fun的功能是:统计各年龄段的人数并存到b数组中,n个人员的年龄放在a数组中。年龄为1到9的人数存到b[0]中,年龄为10到19的人数存到b[1],年龄为20到29的人数存到b[2], 年龄为30到39的人数存到b[3],年龄为40到49的人数存到b[4], 年龄为50岁以上的人数存到b[5]中。
??例如,当a数组中的数据为:
?? 9、18、27、38、59、33、14、75、38。
?? 调用该函数后,b数组中存放的数据应是:
?? 1、2、1、3、0、2。
??注意:部分源程序存在文件PROG1.C中。
??请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
?? #include
??#include
??
??void fun(int a[], int b[], int n)
??{
??
??}
??
??main()
??{ int i, a[100]={ 9, 18, 27, 38, 59, 33, 14, 75, 38}, b[6];
?? clrscr();
?? fun(a, b, 9);
?? printf("The result is: ");
?? for (i=0; i<6; i++) printf("%d ", b[i]);
?? printf("\n");
?? NONO();
??}
??
??NONO( )
??{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
?? FILE *rf, *wf ;
?? int a[100], b[6], i, j ;
?? rf = fopen("in2.dat", "r") ;
?? wf = fopen("bc02.dat","w") ;
?? for(i = 0 ; i < 10 ; i++) {
?? for(j = 0 ; j < 10 ; j++) fscanf(rf, "%d,", &a[j]) ;
?? fun(a, b, 9) ;
?? for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;
?? fprintf(wf, "\n") ;
?? }
?? fclose(rf) ;
?? fclose(wf) ;
??}
?? 程序参考答案
??void fun(int a[], int b[], int n)
??{
??int i;
??for (i=0; i<6; i++) b[i] = 0;
??for (i=0; i
??if (a[i] >= 50) b[5]++;
??else b[a[i]/10]++;
??}
??
?? 第3题
??函数fun的功能是:统计在字符串a中,以下指定字符出现的次数,并存到b数组中,其中:字符'+'出现的次数存到b[0]中,字符'-'出现的次数存到b[1], 字符'*'出现的次数存到b[2],字符'/'出现的次数存到b[3], 字符'&'出现的次数存到b[4],其它字符出现的次数存到b[5]中。
??例如,当a字符串中的字符串为:"-+*1-a/&b"时,
?? 调用该函数后,b中存放的数据应是:1、2、1、2、1、3。
??注意:部分源程序存在文件PROG1.C中。
??请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
??
??#include
??#include
??#include
??
??void fun(char *a, int b[])
??{
??
??
??
??
??}
??
??main()
??{ int i, b[6]; char a[100] = "-+*1/-a/&b";
?? clrscr();
?? fun(a, b);
?? printf("The result is: ");
?? for (i=0; i<6; i++) printf("%d ", b[i]);
?? printf("\n");
?? NONO();
??}
??
??NONO( )
??{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
?? FILE *rf, *wf ;
?? char a[100], *p ;
?? int b[6], i, j ;
?? rf = fopen("in6.dat", "r") ;
?? wf = fopen("bc06.dat","w") ;
?? for(i = 0 ; i < 10 ; i++) {
?? fgets(a, 99, rf) ;
?? p = strchr(a, '\n') ;
?? if(p) *p = 0 ;
?? fun(a, b) ;
?? for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;
?? fprintf(wf, "\n") ;
?? }
?? fclose(rf) ;
?? fclose(wf) ;
??}
??
??程序参考答案
?? void fun(char *a, int b[])
??{
??int i;
??for (i=0; i<6; i++) b[i] = 0;
??for (i=0; i< strlen(a); i++)
??switch(a[i])
??{ case '+': b[0]++; break;
??case '-': b[1]++; break;
??case '*': b[2]++; break;
??case '/': b[3]++; break;
??case '&': b[4]++; break;
??default: b[5]++;
??}
??}
第4题
??函数fun的功能是:把a数组中的n个数和b数组中逆序的n个数一一对应相加,结果存在c数组中。
??例如:当a数组中的值是:1、3、5、7、8
??b数组中的值是:2、3、4、5、8
??调用该函数后,c数组中存放的数据是9、8、9、10、10
??注意:部分源程序存在文件PROG1.C中。
??请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
??
??#include
??#include
??
??void fun(int a[], int b[], int c[], int n)
??{
?? ??
??}
??
??main()
??{ int i, a[100]={1,3,5,7,8}, b[100]={2,3,4,5,8}, c[100];
?? clrscr();
?? fun(a, b, c, 5);
?? printf("The result is: ");
?? for (i=0; i<5; i++) printf("%d ", c[i]);
?? printf("\n");
?? NONO();
??}
??
??NONO( )
??{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
?? FILE *rf, *wf ;
?? int a[100], b[100], c[100], i, j ;
?? rf = fopen("in.dat", "r") ;
?? wf = fopen("bc01.dat","w") ;
?? for(i = 0 ; i < 5 ; i++) {
?? for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &a[j]) ;
?? for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &b[j]) ;
?? fun(a, b, c, 5) ;
?? for(j = 0 ; j < 5 ; j++) fprintf(wf, "%d ", c[j]) ;
?? fprintf(wf, "\n") ;
?? }
?? fclose(rf) ;
?? fclose(wf) ;
??}
??
??程序参考答案
??
??void fun(int a[], int b[], int c[], int n)
??{
??int i;
??for (i=0; i
??}
??
??第5题
??函数fun的功能是:把a数组中的n个数和b数组中逆序的n个数一一相减,结果存在c数组中。
??例如:当a数组中的值是:1、3、5、7、8
??b数组中的值是:2、3、4、5、8
??调用该函数后,c数组中存放的数据是-7、-2、1、4、6
??注意:部分源程序存在文件PROG1.C中。
??请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
??Prog1.c
??#include
??#include
??
??void fun(int a[], int b[], int c[], int n)
??{
??
??
??
??}
??
??main()
??{ int i, a[100]={1,3,5,7,8}, b[100]={2,3,4,5,8}, c[100];
?? clrscr();
?? fun(a, b, c, 5);
?? printf("The result is: ");
?? for (i=0; i<5; i++) printf("%d ", c[i]);
?? printf("\n");
?? NONO();
??}
??
??NONO ( )
??{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
?? FILE *rf, *wf ;
?? int a[100], b[100], c[100], i, j ;
?? rf = fopen("in.dat", "r") ;
?? wf = fopen("bc02.dat","w") ;
?? for(i = 0 ; i < 5 ; i++) {
?? for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &a[j]) ;
?? for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &b[j]) ;
?? fun(a, b, c, 5) ;
?? for(j = 0 ; j < 5 ; j++) fprintf(wf, "%d ", c[j]) ;
?? fprintf(wf, "\n") ;
?? }
?? fclose(rf) ;
?? fclose(wf) ;
??}
??
??程序参考答案
??void fun(int a[], int b[], int c[], int n)
??{
??int i;
??for (i=0; i
??}
阅读(685) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~