公司介绍
| 教育学论述题… | 2009-05-28 |
| 教育学简述题… | 2009-05-28 |
| 教育学填空题部分… | 2009-05-28 |
| 教育学试题简答题… | 2009-05-28 |
| ATA证书介绍… | 2009-04-22 |
| 高级办公自动化测试题样题… | 2009-04-19 |
| 高级办公自动化测试题样题… | 2009-04-18 |
| 高级办公自动化测试题样题… | 2009-04-18 |
知识改变命运
科技创造价值!
计算机等级考试C语言上机题
日期:2009-05-29
1.填空题
请补充main函数,该函数的功能是:把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存原来的字符串中。
例如:当str[N]="123 abcdef ABCDEF!",结果输出:"123 ABCDEF ABCDEF!"。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define N 80
void main()
{
int j;
char str[N]=" 123abcdef ABCDEF!";
char *pf=str;
system("CLS");
printf("***original string ***\n");
puts(str);
【1】;
while(*(pf+j))
{
if(*(pf+j)>='a'&&*(pf+j)<='z')
{
*(pf+j)=【2】;
j++;
}
else
【3】;
}
printf("******new string******\n");
puts(str);
system("pause");
}
【1】j=0
【2】*(pf+j)-32
【3】j++
2. 改错题
下列给定程序中,函数fun()的功能是逐个比较a,b两个字符串对应位置中的字符,把ASCII值小或相等的字符依次存放到c数组中,形成一个新的字符串。
例如:a中的字符串为fshADfg,b中的字符串为sdAEdi,则c中的字符串应为fdAADf。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
#include <string.h>
void fun(char *p,char *q,char *c)
{ int k=0;
while(*p||*q)
/**********************found***********************/
{ if (*p<=*q)
c[k]=*q;
else c[k]=*p;
if(*p) p++;
if(*q) q++ ;
/**********************found***********************/
k++
}
}
void main()
{ char a[10]="fshADfg",b[10]="sdAEdi",c[80]={'\0'};
fun(a,b,c);
printf("The string a:"); puts(a);
printf("The string b:"); puts(b);
printf("The result :"); puts(c);
}
(1)错误: { if (*p<=*q)
正确:{ if (*p>=*q)
(2)错误:k++
正确:k++;
3. 编程题
请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。
例如,当a=16,b=35,调用该函数后,c=5361。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdlid.h>
#include<stdio.h>
void fun(int a ,int b,long *c)
{
}
void main()
{
int a,b;
long c;
system("CLS");
printf("Input a,b;");
scanf("%d%d",&a, &b);
fun(a,b,&c);
printf("The result is:%ld\n",c);
}
void fun(int a ,int b,long *c)
{
*c=(b%10)*1000+(b/10)*100+(a%1
}