第一场 程序设计竞赛试题(初赛)
注意事项:1. 请先用DOS的EDIT文本编辑器在考盘上建一个文件,文件名为: TEST.TXT
2. 上述TEST.TXT文件的内容应有2行:
第一行是:你的学号及姓名的汉语拼音码。如:01123456 zhangsan
第二行是:场次-考场号-座机号-考卷类。如:2-D317-10-B 表示第二场,D317考场,10号机,B卷。
座机号末位是单数,考A卷; 座机号末位是双数,考B卷。
3. 源程序必须存入考盘。文件名为:场次-卷类-题号.C。如:2-B-3.C 是第二场B卷第3题的源程序。
4. 必须严格按题目要求的输出格式来输出。
5. 阅卷时以程序的运行结果为准。
A 卷
1.编一个程序,输入一个字符串,内容依次是学号(8位)和姓名的汉语拼音码。经处理后,输出一个字符串,内容依次为,姓名,一个空格,学号。(30分)
2.求0~1000中能同时被7和13整除的那些数之和。打印输出这个和,不要有其它字符。(30分)
3.用两分法解函数方程 x2-sinx=0 在(0, 3.1416) 中的一个根,精度高于10 -4,输入初始边界值用空格隔开。打印输出这根,不要有其它字符。(40分)
B 卷
1.编一个程序,输入一个字符串,其内容依次是姓名的汉语拼音码和学号(8位)。输出一个字符串,内容依次为,学号,两个*号,姓名。(30分)
2.编程序,输入10个正整数,输出其中的素数之和,不要有其它字符。(30分)
3.用牛顿法解代数方程 x3-2x+1=0 在 0 附近的一个根,精度高于10 -4。打印输出这根,不要有其它字符。(40分)
程序设计竞赛(初赛)(参考答案)
/*1-A-1*/
void my_strcat(char *str1,char *str2)
{ char *p=str1;
while(*p) p++;
while(*p++=*str2++);
}
main()
{ char a[80],b[80],*p=a;
int i=0;
gets(a);
while(*p) p++;
*p=' ';
*(p+1)='\0';
p=a;
/*while(*p>='0'&&*p<='9') */
while(i<8)
{ b[i]=*p;
p++; i++;
}
b[i]='\0';
my_strcat(p,b);
puts(p);
}
/*1-A-1*/
main()
{ char a[80],b[80];
int i,j=0;
gets(a);
for(i=8;a[i];i++)
b[j++]=a[i];
b[j++]=’ ’;
for(i=0;i<8;i++)
b[j++]=a[i];
b[j]=’\0’;
puts(b);
}
/*1-A-2*/
下载更新
推荐下载