首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载 | ||
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试 MPA考试 | 中科院 |
||
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT 新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语 |
||
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 华为认证 | Java认证 |
||
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格 报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师 人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平 驾驶员 | 网络编辑 |
||
卫生资格 | 执业医师 | 执业药师 | 执业护士 | ||
会计从业资格考试(会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师 注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师 |
||
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师 质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师 设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师 城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师 |
||
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏 |
6.输入一个字符串,将其中的所有大写字母改为小写字母,而所有小写字母全部改为大写字母,然后输出。
【解】程序先输入字符率,然后顺序考察输入字符串中的字符,当发现是大写字母时,将它改写成对应的小写字母,而当它是小写字母时,就将它改写成对应的大写字母。若变量ch中的字符是大写字母,则与它对应的小写字母的表达式可以写成ch- ’A’+’a’ ;类似地,若变量ch中的字符是小写字母,则与它对应的大写字母的表达式可以写成ch-’a’+’A’ 。完整程序如下:
# include
# define N 200
main()
{ char s[N] ;
int i;
printf(" Enter string! \n");
scanf ("%s" ,s);
for(i=0; s[i]!=’\0’;i++)
if(s[i] >=’A’&&s[i] <=’Z’ )
s[i]=s[i] -’x’+’a’ ;
else if(s[i] >=’a’&& s[i] <=’z’)
s[i]= s[i]-’a’ +’A’ ;
printf("s=%s\n", s);
}
7.设某班50名学生的三科成绩表如下:
课程一 课程二 课程三
... ... ...
试编一个程序,输入这50个学生的三科成绩,计算并输出每科成绩的平均分。
【解】程序定义一个50行3列的二维数组,用于存储全班学生的成绩。程序顺序输入各个学生的三科成绩,然后按列的顺序,累计各科总分,并计算平均分。完整程序如下:
# include
# define N 50
# define M 3
main()
{int score[N][M], i,j,t;
double a[M];
printf("Enter scores!\n");
for(i=0;i< N; i++)
for(j=0;j
}
for(j=0;j
for(i=0;i< N; i++)
a[j]+= score[i][j];
a[j]/= N;
}
for(j=0;j
}
8.编一个程序,输入一个整型数据,输出每位数字,其间用远号分隔。例如,输入整数为2345,则输出应为: 2, 3, 4, 5。
【解】程序的主要工作是从输入整数分拆出它的十进制整数的各位数字,将分拆出来的各位数字存于数组中,然后将这些数字自高位到低位的顺序逐位输出。要将一个整数按十进制数的要求分拆,需用一个循环,每次循环求出被分拆数除以10的余数的办法来求出它的个位,每分拆出一位就将被分拆的数除以10。循环过程直至被分拆的数为0结束。完整程序如下:
# include
main()
{int a[20],i,base=10;
int n;
printf("Enter a number! \n");
scanf("%d", &n);/*整数输入*/
i=0;/*对n进行分拆,各位数字自低位到高位存于数组 a*/
do{
a[i++]=n% base;
n/= base;
} while(n) ;
for(i--;i>=0;i--)/*自高位到低位输出*/
printf("%d%c",a[i], i? ’,’ :’\n’);
}
9.编一个程序,输入一个字符串,将其中所有的大写英文字母的代码+3,小写英文字母的代码-3。然后输出加密后的字符串。
【解】程序的主要工作是输入字符串,并顺序考察输入字符率中的字符,分别对其中大小写英文字母完成问题要求的更改,而跳过不是英文字母的字符。完整程序如下:
# include
# define N 200
main()
{char s[N]; int i;
printf("Enter string! \n");
scanf("%s", s);
for(i=0;s[i] !=’\0’; i++)
if(s[i] >=’A’ && s[i]=’Z’)
s[i]=3;
else if(s[i]=’a’&& s[i]=’z’ )
s[i]=3;
printf("s=%s\n",s);
}
10.编一个程序,将按第9题中加密的字符率(从键盘输入)解密后输出。
【解】本问题编写的程序是完成上一程序的逆操作。同样是顺序考察输入字符串,对满足要求的字符作恢复更改。要求是当字符减3后是大写英文字母时,则对其作减3处理的替换;当字符加3后是小写英文字母时,则对它作加3的处理。如此做法是有错误的,程序未考虑原
先不是英文字母,而未被加3或减3处理,但对它减3或加3后是英文字母时,将被下面的程序转换成英文字母。所以下面的程序不是完成上题程序的逆操作。但没有简单的办法能避免这个错误。完整程序如下:
# include
# define N 200
main()
{char s[N]; int i;
printf("Enter string!\n");
scanf("%s",s);
for(i=0;s[i] !=’\0’;i++)
if(s[i]-3>=’A’&&s[i]-3<=’Z’)
s[i]-=3;
else if(s[i]+3>=’a’ && s[i]+3<= ’Z’)
s[i]+=3;
printf("s=%s\n",s);
}
更多软考资料请访问:考试吧软件水平考试栏目
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |