C语言上海大学考前重点题
- 格式:doc
- 大小:44.00 KB
- 文档页数:5
【问题描述】
编写程序,从键盘输入n(n<10)本书的名称和定价并存入结构数组中,从中查找定价最高和最低的书的名称和定价,并输出。
【输入输出样例】(带下划线部分为输入)
Input n:3
Input the name,price of the 1 book:C 21.5
Input the name,price of the 2 book:VB 18.5
Input the name,price of the 3 book:Delphi 25.0
The book with the max price:Delphi,price is:25.0
The book with the min price:VB,price is:18.5
【问题描述】
编程,统计当前目录下文本文件 f5.txt 中各英文字母的个数,统计时不区分大小写,然后对至少有一个的字母,按字母顺序依次输出其个数,每个字母的输出样式为:大写的该字母=个数,各字母间用空格隔开。
如果该文件中没有英文字母,则输出none。
【输入形式】
文本文件:f5.txt
【输入样例1】
f5.txt 文件的内容为:
Gain new knowledge by reviewing old.
【输出样例1】
A=1 B=1 D=2 E=5 G=3 I=3 K=1 L=2 N=4 O=2 R=1 V=1 W=3 Y=1
【输入样例2】
f5.txt 文件的内容为:
1234567890
【输出样例2】
none
关于用Guide编C程序的调试方法:
1 设断点(F9)然后开始调试(F5),这种情况程序将运行跳到断点处停止等待用户继续下一步动作。
2 逐过程调试(F10),这种限于在main函数中逐行调试。
3 逐语句调试(F11),如果程序有子函数时,可深入到子函数进行调试。
【问题描述】
下列程序包含4个错误,请输入该程序的代码,找出并更正程序错误,在修改行代码后增加“/***/”注释,程序改错时不允许改变大的程序结构(如函数调用关系与循环结构等)。
【程序功能】
以下函数delup将字符串src复制到dst中(大写字母除外)。
主函数输入一行字符串,调用delup删除字符串中的大写字母,再输出删除后的字符串。
【样例输入】
FUNCf=EQU2x+ADD5y
【样例输出】
f=2x+5y
【带错误原程序】
/* 函数delup含3个错误,主函数含1个错误 */
#include <stdio.h>
void delup(char dst[],char src[])
{
int i,j;
for (i=j=0;src[i]!=='\0';i++)
if (src[i]>'A' && src[i]<'Z')
dst[j++] = src[i];
dst[j]='\n';
}
main()
{
char a[80], b[80];
gets(a);
b=delup(a);
puts(b);
}
下列程序包含4个错误,请输入该程序的代码,找出并更正程序错误,在修改行代码后增加“/***/”注释,程序改错时不允许改变大的程序结构(如函数调用关系与循环结构等)。
【程序功能】
从键盘上输入一个16进制串,转换为10进制整数并输出。
如输入:5A
则输出:90
再如输入:4D2
则输出:1234
【函数说明】
函数hex2dec将16进制字符串str转换为10进制的整数并返回。
主函数main输入一个字符串,调用hex2dec函数转换16进制串,然后输出整数。
【带错误原程序】
(函数hex2dec包含3个错误点,main包含1个错误点)
#include <stdio.h>
int hex2dec(char *str)
{
int m,i,k;
m=1;
for (i=0,str[i]!='\0';i++)
{
if (str[i]>='0' && str[i]<='9')
k=str[i]-'0';
else if (str[i]>='A' && str[i]<='F')
k=str[i]-'A'+10;
else if (str[i]>='a' && str[i]<='f')
k=str[i]-a+10;
else
return m;
m=16*m+k;
}
return m;
}
main()
{
char str[80];
int n;
gets(str[80]);
n=hex2dec(str);
printf("%d\n",n);
}
【问题描述】编程,从键盘输入整数n(n<=9),求出100到1000之间有多少个其数字之和为n的整数。
【输入形式】输入一个整数
【输出形式】按5个一行的形式输出到屏幕
【样例输入】
input n:5
【样例输出】
104 113 122 131 140
203 212 221 230 302
311 320 401 410 500
【样例说明】下划线部分为输入
【评分标准】
【问题描述】
从键盘上输入一不多于10个字符的字符串,按样例格式,分两种形式依次输出该字符串的各子串,每种形式的各行包含行号和子串,两种形式之间用一行等号分隔,其宽度与其后输出的0行等宽。
【样例输入】
Abcdefg
【样例输出】
0:Abcdefg
1: Abcdef
2: Abcde
3: Abcd
4: Abc
5: Ab
6: A
//查找替代逆序拆分拼装字符串加密字符串统计
【问题描述】从键盘输入一个整数n(n>1000),输出这个整数的最大三位数约数。
【输入形式】
【输出形式】
【样例输入】input n:555555
【样例输出】Max cd:777
【样例说明】下划线部分为输入,冒号后面没有空格
【评分标准】
【问题描述】输入个、十、百、千不全相等的四位数整数,由个、十、百、千上的四个数字分别组成最大数和最小数,然后将它俩相减,得到新4位数,再反复作以上运算,最后总是得6174。
【输入形式】一个个、十、百、千不全相等的四位数整数
【输出形式】参见样例
【样例输入】1234
【样例输出】
step 1:max is 4321,min is 1234,max-min=3087
step 2:max is 8730,min is 378,max-min=8352
step 3:max is 8532,min is 2358,max-min=6174
【样例说明】
【评分标准】
====================================================
【问题描述】键盘输入某地某年12个月的降雨量,然后计算每月的降雨量在年降雨量中所占的百分比(四舍五入为整数,且不会超过全年的70%),再以下面例图所示的直方图形式打印出来,其中:第一部分为月份,占2列;第二部分为百分比,占5列;第三部分从第9列开始,为用#号图示比例,1个#号为1%。
【输入形式】12个月的实数型降雨量,
【样例输入】10 20.7 20.3 40 60.6 80 130 120 110 65 35 15 【样例输出】
1( 1%) #
2( 3%) ###
3( 3%) ###
4( 6%) ######
5( 9%) #########
6(11%) ###########
7(18%) ##################
8(17%) #################
9(16%) ################
10( 9%) #########
11( 5%) #####
12( 2%) ##
=========================================================================。