浙江理工c语言模拟 (6)
- 格式:doc
- 大小:59.00 KB
- 文档页数:7
浙⼤版《C语⾔程序设计(第3版)》题⽬集练习5-3数字⾦字塔本题要求实现函数输出n⾏数字⾦字塔。
函数接⼝定义:
void pyramid( int n );
其中n是⽤户传⼊的参数,为[1, 9]的正整数。
要求函数按照如样例所⽰的格式打印出n⾏数字⾦字塔。
注
意每个数字后⾯跟⼀个空格。
裁判测试程序样例:
#include <stdio.h>
void pyramid( int n );
int main()
{
int n;
scanf("%d", &n);
pyramid(n);
return 0;
}
/* 你的代码将被嵌在这⾥ */
输⼊样例:
5
输出样例:
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
看不懂没关系,画图理解很简单的
void pyramid(int n)
{
int line,kong,imp;
for (line = 1;line<=n;line++)
{
for (kong = n-line;kong>0;kong--)//打印第⼀个⼤空格,等待imp打印完补充
printf("");
for (imp = 1;imp <=line;imp++)//优先级相同
{
printf("%d ",line);
}
printf("\n");
}
}。
浙大c程题库答案20011求华氏温度100°F对应的摄氏温度。
220012求华氏温度150°F对应的摄氏温度。
320013求摄氏温度26°C对应的华氏温度。
320015当n为152时,分别求出n的个位数字(digit1)、十位数字(digit2)和百位数字(digit3)的值。
320026输入2个整数num1和num2,计算并输出它们的和、差、积、商与余数。
4第3周(M3)520031求1+2+3+......+100(调试示例error02_5)520032求m+(m+1)+(m+2)+......+100520033求1/m+1/(m+1)+1/(m+2)+......+1/n620034求1+1/3+1/5+......的前n项和720035求1-1/4+1/7-1/10+……的前n项之和720036输出华氏-摄氏温度转换表(改错题error02_6)820038求某的n次幂920041生成3的乘方表1020044求100^0.5+101^0.5+……+1000^0.51020053计算物体自由下落的距离1120056计算分段函数1120061阶梯电价1220062求m某m+1/m+(m+1)某(m+1)+1/(m+1)+(m+2)某(m+2)+1/(m+2)+......+n某n+1/n1320063求1-2/3+3/5-4/7+5/9-6/11+ (14)20064求2^1+2^2+2^3+……+2^n15第4周(M4)1510007显示图案(复习printf()的字符串输出)1520042生成阶乘表1620043使用函数求n!/(m!某(n-m)!)1620054求平均值1720057求1+1/2+1/3+......+1/n1820065求0!+1!+2!+……+n!1840015求最小值1940018求a+aa+aaa+aa…a20第5周(M5)2130001求一元二次方程的根2130002求分段函数的值2330003分类统计字符2330004显示五级记分制成绩所对应的百分制成绩区间(使用witch)24 30005显示水果的价格(使用witch)2530007求三角形的面积和周长2730008计算个人所得税2830051判断闰年2930052统计学生平均成绩与及格人数3030053分段计算水费(使用嵌套的if-ele语句)31浙大c程序语言设计(第2版)题库答案40011求最小公倍数和最大公约数(调试示例error04_1)32 40012求1-1/4+1/7-1/10+1/13-1/16+ (33)40014求整数的位数3440023换硬币3540024找出各位数字的立方和等于它本身的数3640025找完数(改错题error04_2)3840027从高位开始逐位输出一个整数的各位数字(选作)39 40052判断素数4040053逆序输出整数4140054输出斐波那契序列42第7周(M7)4250002使用函数判断数的符号4250003使用函数求奇数和4350005使用函数统计素数并求和4450006使用函数统计一个整数中数字的个数4550007使用函数找水仙花数4650009使用函数求余弦函数的近似值4850052使用函数找最大值4950062使用函数输出指定范围内的Fibonacci数50 50063使用函数找出指定范围内的完数51第8周(M8)5240013求奇数和5240062求某+某某某/2!+某某某某某/3!+某某某某某某某/4!+……的值5350004使用函数计算两点间的距离5450061使用函数求a+aa+aaa+aa…a5560002整数的十进制、八进制和十六进制表现形式5660003分类统计字符5760006验证歌德巴赫猜想5860007使用函数输出整数的逆序数5960009统计单词6060062简单计算器61第2周(M2)20011求华氏温度100°F对应的摄氏温度。
2003 年秋浙江省高校非计算机专业学生计算机等级考试试卷 (二级C)试题一、计算机基础题 ( 本题共 15 分 )(一)单选题 ( 每小题 1 分 , 共 10 分 )(1) 计算机网络最突出的优点是(1)。
A 、运算速度快B 、精度高C 、共享硬件、软件和数据资源D 、内存容量大(2) 在微型计算机的设备中 , 访问速度最快的是 (2 )A 、软盘B 、硬盘C 、内存储器 D、CD-ROM(3) 操作系统的主要功能是 (3)A 、对计算机系统的所有资源进行控制与管理B 、实现多用户及分布式处理C 、扩充计算机的功能D 、对硬件资源进行分配、控制、调度和回收(4)Internet 与 WW 的关系是 (4 〉A 、都是因特网 , 只是名称不同B 、 Internet 就是 WWC 、 Internet 与 WW 完全没有关系D 、附 W 是 Internet 上的一个应用(5 )在 Windows 98 环境下 , 下面关于附件中应用程序的说法,(5 )是不正确的。
A 、写字板可以编辑文本文件B 、写字板的缺省扩展名为 .DOCC 、计算器中的计算结果 , 可以粘贴到文档文件中D 、记事本中设置的显示字体 , 将保存在文本文件中 , 当使用 Word 读入该文件时,仍具有所设置的字体(6) 在 Word 编辑文本时 , 将文档中所有的 "memory" 都改成 " 存储器 ", 最快捷的方法是采用 (6 ) 操作。
A 、中英文转换B 、替换C 、改写 D、翻译(7) 以下几种关于消除计算机病毒的说法中 , 正确的是。
A、专门的杀毒软件并非总是有效的B 、删除所有带毒文件能消除所有病毒C 、对感染上病毒的软盘 , 格式化既能消除病毒 , 又能使数据不受破坏D 、耍一劳永逸地使计算机不感染病毒 , 最好的方法是装上防病毒卡(8) 实现汉字字形表示的方法 , 一般可分为 (8 )两大类。
目录2)一元二次方程求解............................................3)1-100之间所有整数的和,能被某数整除的所有整数的和,积......4)闰年的判断..................................................5)水仙花数....................................................6)简单计算器..................................................7)一维数组的声明、初始化、赋值、遍历(求数组所有元素的和,积,最大值,最小值等统计数值)...................................................8)二维数组的声明、初始化、赋值、遍历(求数组所有元素的和,积,最大值,最小值等统计数值)...................................................9)圆台的体积..................................................10)三角形的三边,求三角形的面积...............................11)乘法口诀表.................................................12)字符串的统计(大写,小写字母,数字的个数).................13)数值类型的转换:数值-字符串,字符串-数字,数值类型之间的显示转换,隐式转换.............................................................14)遍历窗体上的组件...........................................15)随机数发生器的用法.........................................16)用判断成绩等级,改变窗体的背景颜色.........................17)用和求1-100之间所有整数的和,积等.........................18)类的创建和使用(类的声明,字段,属性和方法的添加,生成类的实例和使用其成员)...........................................................19)的用法.....................................................1)1( , e)s = (1());(s >= 90 s <= 100)("优秀");(s >= 80 s < 90)("良好");(s >= 70 s < 80)("中");(s >= 60 s < 70)("与格");("不与格");2)一元二次方程求解1( , e)a = (),b = (),c = ();(a 0)("方程的根是: " + ( / b)());= (b, 2) - 4 * a * c;( >= 0)X1 = ( + (, 0.5)) / 2 * a;X2 = ( - (, 0.5)) / 2 * a;= "X1="1()+"\r\2="2();("没有实数根!");3)1-100之间所有整数的和,能被某数整除的所有整数的和,积 1( , e)= 0;( i = 0; i <= 100; i = i + 1)= + i;1 = ();求1~100之内所有偶数的和= 0;( i = 0; i <= 100; i = i + 2)= + i;1 = ();1( , e)= 0;a;( i = 0; i <= 100; )a = i % 7;(a 0)= + i;1 = ();4)闰年的判断1( , e)a = 32(1);((a %40 a %1000) a %400 0)("是闰年");("不是闰年");或办法a = (1 );s = (a % 4 0 ? "该年份是闰年 ": "该年份是平年 " );(s )5)水仙花数1( , e)s = "水仙花数:"+"\r\n";( i = 100; i < 1000; )= i % 10;= i / 10 % 10;= i / 100;(i * * + * * + * * )s () + "\r\n";(s,"你好漂亮");6)简单计算器1( , e)1 = 32(1);2 = 32(3);(2 ("+"))((12)());(2 ("-"))((12)());(2 ("*"))((1*2)());(2 ("/"))((12)());(2 ("%"))((12)());("运算符出错");或办法a = (1);b = (3);s = 2;c = (s "+" ? a + b : (s "-" ? a - b : (s "*" ? a * b : (s "/" ? a / b :a % b))));7)一维数组的声明、初始化、赋值、遍历(求数组所有元素的和,积,最大值,最小值等统计数值)1( , e)1 "原数组为:" + "\r\n";[] a = [5];( i = 0; i < ; )a[i] = (0, 100);1 a[i]() + " ";= a[0], = a[0]; s = 0; = 0;( i = 0; i < ; )(a[i] > )= a[i];(a[i] < )= a[i];s a[i]; = s / ;1 ("\r\n最大值为{0}\r\n最小值为{1}\r\n均值为{2}\r\n和为{3}", , , , s);8)二维数组的声明、初始化、赋值、遍历(求数组所有元素的和,积,最大值,最小值等统计数值)2( , e)2 "原数组为:" + "\r\n";[,] b = [3, 4];( i = 0; i < 3; )( j = 0; j < 4; )b[i, j] = (-100,100);2 b[i, j]() + " , ";= b[0, 0], = b[0, 0]; s = 0; = 0;( i = 0; i < 3; )( j = 0; j < 4; )b[i, j] = (-100, 100);(b[i, j] > ) = b[i, j];(b[i, j] < ) = b[i, j];s b[i, j];= s / (3 * 4);2 ("\r\n最大值为{0}\r\n最小值为a{1}\r\n平均值为{2}\r\n和为{3}", , , , s);9)圆台的体积圆台体积计算公式V=π*h*(R^2 + ^2)/3即:v = *h*(R*R + R* r *r)/31( , e)R = (1),r = (2),h = (3);π = 3.14;X1 = π * h * ((R, 2) + (r, 2) + R * r) / 3;v = "圆台体积是:" + X1();(v);10)三角形的三边,求三角形的面积1( , e)A = (1);B = (2);C = (3);d; f; s;(A + B > C & A + C > B & B + C > A & A - B < C & A - C < B &B -C < A)d = (A * A + C * C - B * B) / (2 * A * C);f = ((1 - d * d), 0.5);s = 0.5 * A * C * f;("三角形面积是:"());("输入数据有误");11)乘法口诀表1( , e)= ""; = 0;199 = "";( i = 1; i < 10; )( j = 1; j <= i; )= i * j;( >= 10)199 + "\n";12)字符串的统计(大写,小写字母,数字的个数)1( , e)a = 1;( t a)(t >= '0' t <='9')(t >= 'a' t <= 'z')(t >= 'A' t <= 'Z')3 = ();4 = ();5 = ();13)数值类型的转换:数值-字符串,字符串-数字,数值类型之间的显示转换,隐式转换类型转换、隐式转换、显示转换、类的用法、方法主要以隐式转换为例(其他的类似求解)补充:1)何时使用隐式和显示转换?答:隐式转换一般发生在数据进行混合运算的情况下,是编译系统自动进行的,不需要加以声明;显示转换,又称为强制类型转换,该方式需要用户明确的指定转换的目标类型,该类型一般形式为: (类型说明符) (需要转换的表达式)二、类型转换隐式转换a; b; c; d; f; g; h; y;1( , e)b = 1;c = b;d = c; f = d; g = f;((), "转换1");2( , e)a = 2; c = a; d = c; f = d; g = f;((), "转换2");显示转换a; b; c; d; f; g; h; y;1( , e)a; b;a = 1.1111f;b = ()a;((), "郭浩);2( , e)a; b;a = 2.3m;b = ()a;3( , e)a; b;a = 1;b = ()a;31( , e)a; b;a = 94;b = (a);类的用法1( , e)a = "123";b = 32(a);2( , e)a = "456";3( , e)a = "789";b = (a);4( , e)a = "0";b = (a);方法a (1)(() );14)遍历窗体上的组件遍历组件代码如下= 0;= 0;= 0;= 0;( c )(c )= + 1;(c )= + 1;(c )= + 1;(c )= + 1;= "的数量:" + + "\r\n"+ "的数量:" + + "\r\n"+ "的数量:" + + "\r\n"+ "的数量:" + + "\r\n";(, "遍历组件", , , 1);运行截图15)随机数发生器的用法求浮点型数组最大元素1 = "生成数组:" + "\r\n";[] a = [5];r = ();( i = 0; i < ; )a[i] = (0, 1000);1 a[i]() + " ";= a[0], = a[0];( i = 0; i < ; )(a[i] > )= a[i];(a[i] < )= a[i];2 "最大值" + ();16)用判断成绩等级,改变窗体的背景颜色 1( , e)(s >= 0 s <= 100)(s / 10)0:1:2:3:4:5:("不与格");6:( "与格");10:( "优秀");("请输入正确的分数"); ( "请输入正确的分数");1( , e)s = 1;(s)"红":"黄":"蓝":"黑":"白":"绿":。
浙江大学“程序设计基础-C”试题卷2001-2002学年春季学期考试时间: 2002年6月30日下午2:00-4:00注意:答题内容必须写在答题卷上,写在本试题卷上无效一.单项选择题(每题2分,共20分)1. C 语言程序的三种基本结构是顺序结构、选择结构和______结构。
A.递归B.转移C.循环D.嵌套2. 下列运算符中,优先级最高的是_____。
A.->B.++C.&&D.=3. 表达式!(x>0&&y>0) 等价于_____。
A.!(x>0)||!(y>0)B.!x>0||!y>0C.!x>0&&!y>0D.!(x>0)&&!(y>0) 4. 表达式sizeof("\nsum=%d\n") 的值是______。
A.8B.9C.10D.115. 以下选项中不正确的实型常量是_____。
A.0.23E B.2.3e-1 C.1E3.2 D.2.3e06. 表达式______的值不是1。
A.0?0:1B.5%4C.!EOF D.!NULL7. 数组定义为int a[11][11],则数组a 有_____个数组元素。
A.12B.144C.100D.1218. 对于以下的变量定义,表达式______是不正确的。
struct node {int j, k;} x, *p=&x;A.p->k=2B.(*p).k=2C.x.k=2D.x->k=29. 不正确的赋值或赋初值的方式是______。
A.char str[ ]="string";B.char str[10]; str="string";C.char *p="string";D.char *p; p="string";10. 设程序中不再定义新的变量,写出在函数main中可以使用的所有变量______。
蓝桥杯第六届c语言试题及答案蓝桥杯第六届C语言试题及答案1. 选择题1.1. 以下哪个选项是C语言中的关键字?A. intB. integerC. varD. string答案: A1.2. C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案: A2. 填空题2.1. 在C语言中,用于定义一个整型变量的关键字是____。
答案: int2.2. C语言中,用于数组定义的关键字是____。
答案: array3. 编程题3.1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```3.2. 编写一个C语言程序,实现字符串反转。
答案:```c#include <stdio.h>#include <string.h>void reverseString(char* str) {int length = strlen(str);for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```4. 简答题4.1. 简述C语言中指针的概念及其用途。
浙江理工大学04-05级c语言期末试卷b卷(含答案)浙江理工大学2004/2005学年第二学期期末考试BC程序设计试题一、判断题(判断下列各小题,正确的在题后括号内打"√",错的打"×"。
每小题1分,共10分)1. 结构体变量可以被整体赋值.2. 字符型数组中可以存放字符串3. 可以对整型数组进行整体输入、输出4. 在C语言程序中,在函数内部定义的变量称为静态局部变量。
5. 语句“b=+3;”和“b+=3;”运行后的结果是不一样的。
6.…\f?是不正确的字符常量。
7. 运算符“+”不能作为单目运算符。
8. (a*x*x+b+c)/(2*a)是合法的C语言表达式。
9.表达式!!3的值是1。
10.表达式~(2<<1)的值是-5。
二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题2分,共20分)1.在C语言中,不正确的unsigned char类型的常数是________A 32768B 0C 037D 0xDF2.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是______A c=b=a;B (a=c)‖(b=c);C (a=c)&(b=c);D a=c=b;3.在C语言类型中,int ,char, short等类型的长度是_________A.固定的B.由用户自己定义C.任意的D.与机器字长有关4.以下程序的输出结果是________main( ){int a= -1,b=1,k;if((++a<0) | | ! (b-- <=0))printf("%d-- %d\n",a,b);elseprintf("%d-- %d\n",b,a);}A -1--1B 0--1C 1--0D 0--05.设有程序段: t=6;a=7;b=8; if(a=b)t=a;,这段程序执行后,t的结果是______A. 6B.7C.8D.06.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c>d?a:d的结果为___________A 4B 3C 2D 17.若a为二维数组,它有m列,则a[i][j]在数组中的位置是_________A. i*m+jB. j*m+iC. i*m+j-1D. i*m+j+18.设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是____A 1B 0C -1D 29.下面程序段不是死循环的是_____________A.int j=100;while(1){j=j%100+2;if(j>100)break;}B.for( ; ; );C.int k=0; do{ ++k;}while(k>=0);D.int s=36; while(s);--s;10.下列表达式中,错误的是______.A.2>1 ? a:bB.ijC.4.0%++2.0D.x*=y+8三、程序填空题(阅读以下程序说明和相应程序(段),在每小题提供的若干可选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
浙江理工大学C程序设计试题(十三)一、单选题(每题2分,共20分)1、若有定义:int x,y;char a,b,c;并有以下输入数据(此处<CR>代表换行符,u代表空格):1u2<CR>AuBuC<CR>则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C 的正确程序段是:_(1)__[A]scanf(“x=%d y=%d”,&x,&y);a=getchar();b=getchar();c=getchar();[B]scanf(“%d %d”,&x,&y);a=getchar();b=getchar();c=getchar();[C]scanf(“%d%d%c%c%c”,&x,&y,&a,&b,&c);[D]scanf(“%d%d%c%c%c%c%c%c”,&x,&y,&a,&a,&b,&b,&c,&c);2、若有以下定义和语句:double r=99,*p=&r;*p=r;则以下正确的叙述是:(2)[A]以上两处的*p含义相同,都说明给指针变量p赋值[B]在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元[C]语句“*p=r;”把变量r的值赋给指针变量p[D]语句“*p=r;”取变量r的值放回r中3、以下说法正确的是:(3)[A]输入项可以是一个实型常量,如:scanf(“%f”,3.5);[B]只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(“a=%d ,b=%d”);[C]当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(“%4.2f”,&d);[D]当输入数据时,必须指明变量地址,例如:scanf(“%f”,&f);4、以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为:(4)[A]5 [B]6 [C]7 [D]8#include <stdio.h>int func (char str[ ]){ int num =0;while (*(str+num )!='\0')num++ ;return(num );}void main( ){ char str[10],*p=str ;gets(p);printf("%d\n",func(p)); }5、若有以下定义:char a;int b; float c;double d; 则表达式a*b/d-c值的类型为:(5)[A]float [B]int [C]double [D]char6、下列可作为C语言赋值语句的是:(6)[A]x=3, y=5 [B]a=b=6[C]i--; [D]y=int(x);7、给出以下定义:char x[]=“abcdefg”;char y[]={'a','b','c','d','e','f','g'};则正确的叙述为:(7)[A]数组x和数组y等价[B]数组x和数组y的长度相同[C]数组x的长度大于数组y的长度[D]数组x的长度小于数组y的长度8、以下叙述中不正确的是:(8)[A]在不同的函数中可以使用相同名字的变量[B]函数中的形式参数是局部变量[C]在一个函数内定义的变量只在本函数范围内有效[D]在一个函数内的复合语句中定义的变量在本函数范围内有效9、设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是:(9)[A]k=P1-P2;[B]P2=k;[C]P1=P2;[D]k=*P1 *(*P2);10、非法的转义字符是:(10)[A] ‘\t’ [B] ‘\018’ [C] ‘\n’ [D] ‘\xaa’二、程序填空题(阅读以下程序说明和相应程序,将空格补充完整。
单片机c语言程序设计实训100例——基于arduino+proteus仿真单片机C语言程序设计是电子信息类专业中的一门重要课程,通过学习这门课程可以掌握基本的嵌入式系统开发技术。
为了提高学生对于单片机编程能力和实践操作能力的培养,通常会进行相关实训。
在这篇文章中,我将介绍一个基于Arduino+Proteus仿真环境下的100个例题来帮助大家更好地理解和掌握单片机C语言程序设计。
每个例题都包含详细说明、代码示例以及相应功能模块在Proteus上面运行效果图等内容。
1. 闪烁LED灯:使用延时函数使得连接到Arduino引脚13上面的LED灯周期性地闪烁。
2. 控制舵机角度:根据输入信号改变舵机转动角度,并且利用串口监视器显示当前角度值。
3. 温湿度传感器读取数据并显示:通过DHT11温湿度传感器获取周围环境温湿度数值,并将其显示出来。
4. 数码管计数器: 使用74HC595芯片驱动四位共阳极数字管,在7段数码管上循环从0-9递增或者递减展示数字5. 蜂鸣器播放音调: 通过PWM信号控制蜂鸣器发出不同频率的声音。
6. 红外遥控LED灯: 使用红外接收模块读取来自红外遥控器发送的指令,并根据指令点亮或者熄灭连接到Arduino引脚上面的LED灯。
这些例题涵盖了单片机C语言程序设计中常见且基础性较强的内容,可以帮助学生逐步提高编程能力和实践操作技巧。
在Proteus仿真环境下进行实验也有以下几个优点:1. 安全可靠:在环境下进行实验,不存在电路元件损坏、线路错误等问题,保证了安全性和稳定性。
2. 节约成本:无需购买昂贵而易损耗品(如传感器、舵机等),只需要使用软件即可完成相关功能测试。
3. 方便快速:Proteus具备图形化界面以及大量现成组建库文件, 只要简单地将所需元素放入画布并连好线就可以开始调试代码4.多样化场景设置: Proteus支持各种设备与芯片之间相互联动关系搭配总结起来说,“100例——基于arduino+proteus仿真”这个实训项目是一个非常有价值的单片机C语言程序设计学习资源。
浙江省计算机等级二级考试C语言机考题库二级考试(C语言)上机部分试题1.三个数比较大小。
输入三个整数,按由大到小的顺序输出这三个数。
#includevoid swap(int *pa,int *pb){ /*交换两个数的位置*/int temp; temp = *pa; *pa = *pb; *pb = temp; } void main() { int a,b,c,temp;scanf("%d%d%d",&a,&b,&c);if(a>b) swap(&a,&b);if(b>c) swap(&b,&c);if(a>b)swap(&a,&b);printf("%d,%d,%d",a,b,c); }2.表达式求和。
将计算结果以格式“%。
6f”写入到考生文件夹中#include #includevoid main(){ FILE *fp;float n=1,t=1,pi=0;int i;i=1;while(fabs(t)>=1e-6){ pi=pi+t; i=-i; n=n+2; t=i/n; }fp=fopen("Design1.dat","w");fprintf(fp,"%.6f",4*pi);fclose(fp); }运行结果:3.1415943.字母后移循环输出。
输入的一个小写字母,将字母循环后移5个位置后输出。
#includevoid main(){ char c; c=getchar();If(c>='a' && c<'v')c=c+5;elseif (c>='v' && c<='z')c=c-21;putchar(c); }4.求满足条件的数。
PTA浙⼤版《C语⾔程序设计》编程题,练习2-1到习题2-6答案个⼈建议初学者还是把格式规范起来,⾃⼰读起来既⽅便⼜美观PTA对结果的格式要求很严格,答题的时候注意题⽬要求练习2-1 Programming in C is fun! (5 分)本题要求编写程序,输出⼀个短句“Programming in C is fun!”。
输⼊格式:本题⽬没有输⼊。
输出格式:在⼀⾏中输出短句“Programming in C is fun!”。
#include<stdio.h>//调⽤库int main(void){printf("Programming in C is fun!");//stdio.h库中的输出函数return0;//程序结束}练习2-3 输出倒三⾓图案 (5 分)本题要求编写程序,输出指定的由“*”组成的倒三⾓图案。
输⼊格式:本题⽬没有输⼊。
输出格式:按照下列格式输出由“*”组成的倒三⾓图案。
#include<stdio.h>int main(void){printf("* * * *\n");printf(" * * *\n");printf(" * *\n");printf(" *");return0;}练习2-4 温度转换 (5 分)本题要求编写程序,计算华⽒温度150°F对应的摄⽒温度。
计算公式:C=5×(F−32)/9,式中:C表⽰摄⽒温度,F表⽰华⽒温度,输出数据要求为整型。
输⼊格式:本题⽬没有输⼊。
输出格式:按照下列格式输出fahr = 150, celsius = 计算所得摄⽒温度的整数值#include<stdio.h>int main(){int fahr=150,celsius;//定义变量celsius=5*(fahr-32)/9;//赋值运算//这⾥要注意空格,少⼀个空格提交答案都会出错printf("fahr = 150, celsius = %d",celsius);//按题⽬要求输出return0;}练习2-6 计算物体⾃由下落的距离 (5 分)⼀个物体从100⽶的⾼空⾃由落下。
上机考试练习题20021程序填空,不要改变与输入输出有关的语句.输入一个正整数repeat (0〈repeat〈10),做repeat次下列运算:输入 x,计算并输出下列分段函数 f(x) 的值(保留1位小数)。
当 x 不等于0时,y = f(x) = 1/x,当 x 等于0时,y = f(x) = 0.输入输出示例:括号内是说明输入2 (repeat=2)10 (x=10)0 (x=0)输出f(10。
00) = 0。
1f(0。
00) = 0。
0#include 〈stdio.h>int main(void){int repeat, ri;double x, y;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%lf",&x);/*---—---—-*/if(x!=0) y=1/x;else y=0;printf(”f(%.2f) = %。
1f\n”, x, y);}}20022程序填空,不要改变与输入输出有关的语句。
输入华氏温度,输出对应的摄氏温度。
计算公式:c = 5*(f—32)/9,式中:c 表示摄氏温度,f表示华氏温度。
输入输出示例:括号内为说明输入150 (fahr=150)输出celsius = 65#include <stdio.h〉int main(void)int celsius, fahr;/*-—-----——*/scanf(“%d",&fahr);celsius=5。
0*(fahr-32)/9;printf("celsius = %d\n”, celsius);}20023程序填空,不要改变与输入输出有关的语句。
输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。
功能:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和。
int i;floatf1=1,f2=1,f3,s=0;for(i=1;i<=n;i++){f3=f1+f2;f1=f2;f2=f3;s=s+f2/f1;}return s;功能:从键盘上输入任意实数x,求出其所对应的函数值。
float z;if(x>4)z=sqrt(x-4);else if(x>-4)z=pow(x,8);else if(x>-10)z=4/(x*(x+1));else z=fabs(x)+20; return(z);功能:对任意输入的x,用下式计算并输出y 的值。
【参考代码】int m;if(n<0)m=-1;elseif(n==0) m=0; else m=1;return m;或int m;if(n>=0)if(n>0)m=1;else m=0;else m=-1;return m; 功能:将字符串中的大写字母转换为对应的小写字母,其它字符不变。
【参考代码】int i;for(i=0;str[i]!='\0';i++)if(str[i]>='A' &&str[i]<='Z')str[i]=str[i]+32;功能:计算并输出给定整数n的所有因子之和(不包括1与自身)。
(【参考代码】int s=0,i;for(i=2;i<n;i++)if(n%i==0)s=s+i;return s;)功能:求1到100之间的偶数之积。
(【参考代码】double y=1;int i;for(i=1;i<=m;i++)if(i%2==0)y*=i;return y;)功能:找出一批正整数中的最大的偶数【参考代码】int i,amax=-1;for(i=0;i<n;i++)if(a[i]%2==0)if (a[i]>amax)amax=a[i];return amax;功能:求一个四位数的各位数字的立方和【参考代码】int d,k,s=0;while (n>0){d=n%10;s+=d*d*d;n/=10;}return s;功能:计算出k以内最大的10个能被13或17整除的自然数之和。
C程序设计期末模拟试题一、单选题每小题2分,共20分1、在C语言中,正确的int类型的常数是________;A-2U B059 C3a D0xAF2、已知:char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是________;Aint Bchar Cdouble Dfloat3、假设定义变量如下:int x;float y;以下输入语句中________是正确的;A scanf“%f%f”,&y,&x;Bscanf“%f%d”, y, x;Cscanf“%f%d”,&y,&x;Dscanf“%%2d”,&y,&x;4、已知:int a,p=&a; 则为了得到变量a的值,下列错误的表达式为________;Ap0 Bp C&a D&a5、在C语言中,引用数组元素时,其数组下标的数据类型允许是________;A整型常量B整型表达式C整型常量或整型表达式D任何类型的表达式6、以下能对外部的二维数组a进行正确初始化的语句是________;Aint a2={{1,0,1},{5,2,3}}; Bint a3={{1,2,3},{4,5,6}};Cint a24={{1,2,3},{4,5},{6}}; Dint a3={{1,0,1},{ },{1,1}};7、设有int x,y; 以下语句判断x和y是否相等,正确的说法是该语句________;if x=y printf" x is equal to y.";A语法错B不能判断x和y是否相等C编译出错D能判断x和y是否相等8、若用数组名作为函数调用时的参数,则实际上传递给形参的是________;A数组元素的个数B数组的第一个元素值C数组中全部元素的值D数组首地址9、若有定义char x = "12345"; char y ={ '1', '2', '3', '4', '5'};则;Ax数组与y数组的长度相同Bx数组长度大于y的长度Cx 数组长度小于y数组长度Dx数组等价于y 数组10、以下正确的函数说明是________;Afloat addint x,y Bint addint x;int yCchar add Dint addchar x二、程序填空题阅读以下程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确的答案;每小题2分,共30分1、程序说明求s=1-1/2+1/3-1/4+…+1/19-1/20的值;运行示例:sum=程序include <>void main{int i;11 fh=1;12for i=2;i<=20;i++{13s= 14}printf 15 _,s;}供选择的答案11Afloat s; Bfloat s;int Cfloat s, Dint s,12As= 0; Bs=1; Cs=; Ds=2;13Afh=-1; Bfh=fh/i; Cfh=1/i; D fh=-fh;14A s+fh/i; Bs+fh Cfh/i D s=s+1/i;15A "sum=%f\n" B "sum=%d\n"C "s=%f\n"D "s=%s\n"2、程序说明以下函数用于找出一个2×4矩阵中的最大元素值;程序include <>void main{int max_numint str4;int str4={{-1,4,3,5},{7,8,9,0}};printf"max is %d\n", 16 ;}int max_numint str 4{int i,j,max;max= 17 ;fori=0; 18 ;i++forj=0; 19 ;j++if strij>max max= 20 ;returnmax;}供选择的答案16A max_numstr4 B max_numstrC max_numD max_numint str417Astr B str00 C0 Dstr418A i<2 Bi<=2 Ci=2 D i>219Aj<=4 Bj>4 C j<=3 D j=320A strj B strj C stri D strij3、程序说明输入a和b两个整数,按先大后小的顺序输出a和b,用函数处理,并用指针类型的数据作函数参数;程序include <>void main{ void swapint p1,int p2;int a,b;21scanf"%d,%d",&a,&b;22 /把变量a、b的地址分别赋给pointer_1、pointer_2 /if a<b swap 23 ;printf"a=%d,b=%d\n\n",a,b;}void swapint p1,int p2{ int temp;temp= 2425p2=temp;}供选择的答案21A int pointer_1, pointer_2; B int pointer_1, pointer_2;C float pointer_1, pointer_2;D float pointer_1, pointer_2;22A pointer_1=a; pointer_2=b; B a = pointer_1; b = pointer_2;C pointer_1=&a; pointer_2=&b;D a =& pointer_1; b =& pointer_2; 23A a,b B pointer_1,pointer_2Cp1,p2 D pointer_1, pointer_224Aa Bp1 C p2 D p125A a=b B p1=p2 C p2 = p1 D p1=p2三、程序阅读题阅读下列程序说明和程序,在每小题提供的若干参考答案中,挑选一个正确答案,每小题2分,共20分1程序include<>void main{char c;scanf"%c",&c;if '0'<= c<='9'printf"Number";else if'A'<= c<='Z'printf"UP";else if'a'<= c<='z'printf"Low";elseprintf"Other";}26当输入字符A并按下回车后,程序输出A NumberB UPC LowD Other27当输入字符z并按下回车后,程序输出A NumberB UPC LowD Other2程序include<>int dint a,int b{int c;c=a+b;return c;}void printint t{printf"z=%d\n",t;}void main{int x,y,z;void printint t;x=5,y=10;z=dx,y;printz;z=dx,z;z=dz,dz,z;printz;}28程序运行时第一行输出A z=5B z=10C z=15D z=20 29程序运行时第二行输出A z=15B z=20C z=25D z=30 30程序运行时第二行输出A z=20B z=30C z=40D z=603程序include<>define N 81void funchar s{ char c=s;for;s+1;s++s=s+1;s=c;s+1='\0';}void main{ char aN;getsa;funa;putsa;}31程序运行时输入”abc”输出A abcB acbC bac Dbca 32程序运行时输入”good”输出Agood Boodg C dogo D doog4程序include<>void increment{static int x=0;x+=1;printf"%d\n",x;}void main{increment;increment;}33程序运行时第一行输出A 0B 1C 2 D334程序运行时第二行输出A 0B 1C 2 D335如果将程序中static int x=0;改成int x=0;程序运行时第二行输出A 0B 1C 2 D3四、编程题每题10分,共30分1.编一程序,计算s=sin1+cos2+sin3+...+sin99+cos100,输出s;2. 计算个人所得税,月收入的5000元以上部分征20%,800元以上5000元之间部分需缴纳3%的税,800元以下的部分免税;例如,小张月收入为6000元,则她需缴税6000-5000×20%+5000-800×3%=326元;编程,要求输入个人应发工资,计算并输出个人所得税;3.计算机期末考试结束后,班长要统计班里所有同学共30名同学的计算机成绩,请编写一个程序,能录入30名同学成绩,并将这些成绩以及平均值以下面的格式保存到d:\中;X234401X234402X234403平均值为C程序设计模拟试题--yhr参考答案与评分标准一、单选题本题共20分,每小题2分三、程序阅读题本题共20分,每小题2分四、编程题本题共30分,每小题10分。
一、程序填空(1 ) 找Armstrong (水仙花)数:371=3*3*3+7*7*7+1*1*1(2)输入1个整数后,输出该数的位数。
(例:输入3214 则输出4,输入-23156 则输出5)。
(3)求输入的整数各位数字之和,如输入234 则输出9,输入-312 则输出6。
(4)调用函数f,将一个整数首尾倒置。
例如:若程序输入12345,则输出54321 ;若程序输入-34567,则输出-76543。
(5)调用函数f,从字符串中删除所有的数字字符。
(6)调用find 函数在输入的字符串中查找是否出现"the" 这个单词。
如果查到返回出现的次数,如果未找到返回0。
(7)输入的一个小写字母,将字母循环后移5个位置后输出。
例如:"a"变成"f","w"变成"b"。
(8)将字符串s中所有的字符’c'删除。
(9)对x=1,2,……,10,求f(x)=x*x-5*x+sin(x)的最大值。
(10)输入三个整数,按由小到大的顺序输出这三个数。
(11)调用函数f,去除数组中的负数,输入数组x[7],输出结果为:1 3 4 6(12)调用函数 f 计算代数多项式 1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x 当x=1.7 时的值。
(13)分别统计字符串中英文字母、数字、和其他字符出现的次数。
(14)将输入的十进制整数n 通过函数DtoH 函数转换为十六进制数,并将转换结果以字符串形式输出。
(15)将输入的十进制正整数n 通过函数Dec2Bin 转换为二进制数,并将转换结果输出。
(16)数列的第1、2 项均为1,此后各项值均为该项前二项之和。
计算数列第30 项的值。
(17)该程序计算四位学生的平均成绩,保存在结构中,然后列表输出这些学生的信息。
(18)输入m、n (要求输入数均大于0)。
练习6-3英⽂字母替换加密(⼤⼩写转换+后移1位)(15分)-PTA浙⼤版《C语⾔程序设计。
本题要求编写程序,将英⽂字母替换加密。
为了防⽌信息被别⼈轻易窃取,需要把电码明⽂通过加密⽅式变换成为密⽂。
变换规则是:将明⽂中的所有英⽂字母替换为字母表中的后⼀个字母,同时将⼩写字母转换为⼤写字母,⼤写字母转换为⼩写字母。
例如,字母a->B、b->C、…、z->A、A->b、B->c、…、Z->a。
输⼊⼀⾏字符,将其中的英⽂字母按照以上规则转换后输出,其他字符按原样输出。
输⼊格式:输⼊⼀⾏字符,以回车符 '\n'作为 结束符。
输出格式:将输⼊的⼀⾏字符中的所有英⽂字母替换为字母表中的后⼀个字母,同时将⼩写字母转换为⼤写字母,⼤写字母转换为⼩写字母后输出,其他字符按原样输出。
输⼊样例:在这⾥给出⼀组输⼊。
例如:Reold Z123?输出样例:在这⾥给出相应的输出。
例如:sFPME a123?结尾⽆空⾏#include <stdio.h>int main(){char ch;ch = getchar();while(ch!='\n'){if(ch>='A' && ch<='Z') {if(ch=='Z'){ch = ch - 'A' + 'a' - 25; }else{ch = ch - 'A' + 'a' + 1;}}else if(ch>='a' && ch<='z') {if(ch=='z'){ch = ch - 'a' + 'A' - 25; }else{ch = ch - 'a' + 'A' + 1;}}putchar(ch);ch = getchar();}return 0;}。
浙江理工大学C程序设计试题(四)C程序设计考试试卷试题一、判断题(每题1分,共10分)说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。
1)在C语言中,常量和变量都有数据类型。
2)C语言的运算符只有单目运算符和双目运算符两种。
3)若变量已正确定义,表达式x + y = z 符合C语言语法。
4)C编辑器可以找出C源程序中所有的语法错误和逻辑错误。
5)表达式3 * 5 / 2 和表达式3 / 2 * 5 等价。
6)表达式m = n ++ 的求解顺序是先计算机m = n, 再计算机n = n +1。
7)变量名fahr 和Fahr 代表两个不同的变量。
8)若表达式sizeof(unsigned)的值为2,则unsigned 类型数据能表示的最大整数为216-1。
9)break 语句只能用于循环结构中。
10)while 语句先判断循环条件,所以循环体有可能一次也不执行。
试题二、单选题(每题2分,共20分)11)执行scanf("%d%1f%d",&money,&money,&year),输入______后,money = 1000,year = 3,rate = 0.025。
A、1000 3 0.025B、1000 0.025 3C、1000, 3, 0.025D、1000, 0.025, 312)判断变量ch 是英文字母的表达式为________。
A、('a'<=ch<='z')||('A'<=ch<='Z')B、(ch>='a' && ch<='z') && (ch>='A' && ch<='Z')C、(ch>='a' && ch<='z') || (ch>='A' && ch<='Z')D、('A'<=ch<='z') && ('A'<=ch<='z')13)while(_____) 等价于while(!x)。
A、x == 1B、x == 0C、x!= 0D、x != 114)以下程序段输出字符串str,其中循环条件str[i]!=‟\0‟还可以写成_____。
char str[80];for(i=0;str[i]!='\0';i++)putchar(str[i]);A、str[i]!=NULLB、i<80C、!(str[i]!='\0')D、i<=8015)设变量定义为:int n,*p; chr ch, *q, *g;,则语句______是不正确的。
A、p = &n; g = q = &ch;B、p = &n;q = &ch;C、p = &n;g = &ch;D、p = &n;q =&ch;g = p;16)设变量定义如下,则对其中的结构分量num 正确的引用是______。
struct student{int num;char name[20];float score;}stud[10];A、stud[1].num = 10;B、student.stud.num = 10;C、struct.stud.num= 10;D、struct student.num = 10; 17)对于以下递归函数f,调用函数f(2,'1','3')的输出结果是______。
void f(int n, char a,char b, char c){ if (n==1)printf("%c->%c#",a,b);else{f(n-1,a,c,b);printf("%c->%c#",a,b);f(n-1,c,b,a);}}A、1->2#1->3#3->2#B、3->2#1->2#1->3#C、‟1‟->‟3‟#‟3‟->‟2‟#‟1‟->‟2‟#D、1->3#1->2#3->2#18)下列程序段的输出结果是_______。
for(p = a;p < a+3;p++)t = t + *p;printf("%d",t);A、15B、16C、10D、不确定19)设变量定义为:int *p[3], a[3];,______是正确的赋值。
A、p = &a[0]B、*p = **aC、p[0] = aD、**p = a20)对于以下的变量定义,语句______在语法和语义上都是正确的。
struct node{float x,y;char s[10];}point = {1,2,"abc"},*p;A 、*p =point;B 、p = &point;C 、point = p;D 、p->x = point.y;试题三、程序填空(每空2分,共20分)说明:阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确答案。
程序1、【程序说明】根据下式计算s 的值,要求精确到最后一项的绝对值小于10-6。
⋯+-+-=7151311s 【程序】#include <stdio.h>#include <math.h>void main(){ int flag = 1, t = 1;(21) ;while( (22) ){item = flag * 1.0/t;s =s +item;(23) ;t = t+2;}printf("s = %f\n",s);}21) A 、double item = 2,s = 0;B 、double item = 0,s = 0;C 、double item = 1,s = 1D 、double item = 3,s = 1; 22) A 、item < 1E-6;B 、item >= 1E-6;C 、fabs(item ) < 1E-6;D 、fabs(item ) >= 1E-6; 23) A 、flag = -1;B 、s = -sC 、flag = -flagD 、t = -t程序2、【程序说明】验证歌德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。
列如6=3+3,8=3+5,…,18=7+11。
将6~100之间的每个偶数都表示成两个素数之和。
函数prime(m)用于判断m 是否为素数。
素数就是只能被1和自身整除的正整数,1不是素数,2是素数。
【程序】#include <stdio.h>#include <math.h>void main(){ int i,k;int prime(int m);for (i=6;i<= 100; i= i+2)for(k =3;k <=50; k++)if( 24 ){printf("%d=%d+%d\n",i,k,i-k);break;}}int prime(int m){ int k,n;if(m = = 1)return 0;n=(int)sqrt(m);for(k =2;k<=n;k++)(25)(26)}24) A、prime(i) B、prime(i)&&prime(k)C、prime(i)&&prime(i-k)D、prime(k)25) A、if(m%k ! = 0) return 0; B、if(m%k = = 0) return 0;C、if(m%k = = 0) return 1;D、if(m%k ! = 0) return 1;26) A、return 0; B、return 1;C、else return 0;D、else return 1;程序3、【程序说明】输入一个字符串(少于80个字符),滤去所有的非八进制字符后,组成一个新字符串(八进制形式),然后将其转换为十进制整数后输出。
函数stoi(str) 将八进制形式的字符串str 转换为十进制整数,例如,stoi(“12”)的值为10(八进制12 对应十进制10)。
void main(){ int i,k;char s[10]int stoi(char *str);gets(s);for(i=k=0;s[i]!='\0';i++)if(s[i] <= '7' && s[i] >='0')(27) ;(28)printf("digit = %d\n", (29) );}int stoi(char *str){ int i,n=0;for(i = 0;str[i]!='\0';i++)(30) ;return n;}27) A、s[i] = s[k];i ++ B、s[k] = s[i]C、s[k] = s[i]; k ++D、s[i] = s[k]28) A、s[i] ! = ...\0‟B、s[k] ! = 0C、s[i] = ...\0‟D、s[k] = 029) A、stoi(s) B、sC、stoi(s[i])D、n30) A、n = n*8+(str[i] –…0‟) B、n = n*10+(str[i] –…0‟)C、n = n*8+str[i]D、n = n+str[i]试题四、程序阅读题(每题5分,共20分)说明:阅读下列程序,将运行时的输出结果写在答卷纸的相应提号下。
1、程序1#include <stdio.h>void main(){ int x = 10023;do{printf("%d#",x%10);x = x/10;}while (x!= 0);}2、程序2void main(){ int i,x = 1,y = 1;for(i = 1;i<=5;i++){x = x+y;y++;printf("%d#",x);}}3、程序3#include <stdio.h>void main(){ int x = 1,y = 1;void f(int m,int n,int *px,int *py);f(2004,70,&x,&y);printf("%d#%d#",x,y);f(2005,98,&x,&y);printf("%d#%d#",x,y);}void f(int m, int n,int *px,int *py){ int k, flag;int tab [2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}, };flag = m%4==0 && m% 100!= 0||m %400 ==0;for( k=1;n>tab[flag][k];k++)n = n - tab[flag][k];*px = k;*py = n;}4、程序4/*假设读写文件的操作能正常完成*/#include <stdio.h>#include <stdlib.h>void main(){ char ch,*s = "ACEDB";int x;FILE *in;if((in = fopen("file.txt","w"))!= NULL)while(*s !='\0')fputc(*s++,in);fclose(in);if((in=fopen("file.txt","r"))!= NULL)while((ch=fgetc(in)!=EOF)){switch(ch){case 'A':x = 95;break;case 'B':x = 85;break;case 'C':x = 75;break;case 'D':x = 60;break;default:x = 0;break;}printf("%d#",x);}fclose(in);}试题五、程序设计题(每题10分,共30分)1. 输入 x ,计算并输出下列分段函数f(x) 的值。