C语言程序设计例题

合集下载

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。

C语言程序设计试题及答案解析

C语言程序设计试题及答案解析

C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。

#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。

#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。

C语言程序设计练习题(答案)

C语言程序设计练习题(答案)

C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。

图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。

如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。

要事先准备好保存文件的目录,例d:\lx 目录。

在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。

设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。

图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。

图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。

在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。

内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。

C语言程序设计试题及答案

C语言程序设计试题及答案

《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。

A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。

A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。

A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。

x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。

A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。

A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。

A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。

A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。

A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。

A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。

C语言程序设计试题样例

C语言程序设计试题样例

C语言程序设计试题样例第X套:一. 选择题(1)凡是未显示定义存储类别的局部变量,其默认的存储类别为:(A)自动(B)静态(C)外部(D)寄存器答案: A(2)设有如下的变量定义:int i=8,k,a,b;unsigned long w=5;double x=1.42, y=5.2;则以下符合C语言语法的表达式是:(A)a+=a-=(b=4)*(a=3) (B) x%(-3);(C)a=a*3=2 (D) y=float(i)答案: A(3)函数fscanf的功能是:(A)从文件输入信息(B)将信息输出到文件(C)从控制台输入信息(D)将信息输出到控制台答案: A(4)执行以下程序后,输出结果是:(A)7 (B)6 (C)5 (D)4main(){ int m=5;if (m++>5) printf("%d\n",m);else printf("%d\n",m--);}答案: B(5)C语言中while与do while语句的主要区别是:(A)do while的循环体至少无条件执行一次(B)do while允许从外部转到循环体内(C)do while的循环体不能是复合语句(D)while的循环控制条件比do while的严格答案: AB(6)使用共用(联合)体union的目的是:(A)将一组数据作为一个整体,以便其成员共享同一存储空间(B)将一组类型相同的数据作为一个整体,以便其成员共享同一存储空间(C)将一组数据作为一个整体,以便程序使用(D)将一组类型相同的数据作为一个整体,以便程序使用答案: A(7)在下列选项中,没有构成死循环的程序段是:(A)int i=100;while (1){ i=i%100+1;if (i>100) break;}(B)for ( ; ;);(C)int k=1000;do {++k;} while (k>=10000);(D)int s=36;while (s); --s;答案: C(8)以下程序运行后,如果从键盘上输入ABCDE<回车> ,则输出结果为:(A)8 (B)7 (C)6 (D)5#include "stdio.h"#include "string.h"func (char str[ ] ){ int num=0;while (*(str+num)!='\0') num++;return (num);}main( ){ char str[10],*p=str;gets (p); printf ("%d\n",func (p) );}答案: D(9)运行下面的程序,如果从键盘上输入:ab<回车>c<回车>def<回车>则输出结果为(A)a (B)a (C)ab (D)abcdefb b cc c dd def#include "stdio.h"#define N 6main( ){ char c[N];int i=0;for ( ;i<N;c[i]=getchar(),i++);for(i=0;i<N;i++) putchar(c[i]); printf("\n");}答案: C(10)设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d) 后,n 的值为(A)1 (B)2 (C)3 (D)0答案: B二.填空题(请输入[复制粘贴]到TC3++中,自行调试)(11)执行以下程序后,输出结果是。

《C语言程序设计课程设计》题目

《C语言程序设计课程设计》题目

1 一元稀疏多项式的运算问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。

实现要求:⑴输入并建立多项式;⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n是多项式的项数,c i,e i分别为第i项的系数和指数。

序列按指数降序排列;⑶多项式A和B相加,建立多项式A+B,输出相加的多项式;⑷多项式A和B相减,建立多项式A-B,输出相减的多项式;⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式;⑹设计一个菜单,至少具有上述操作要求的基本功能。

测试数据:(1) (2x+5x8-3.1x11)+(7-5x8+11x9)(2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15)(3)(x+x2+x3)+0(4)(x+x3)-(-x-x-3)2 成绩排序假设某年级有4个班,每班有45名同学。

本学期有5门课程考试,每门课程成绩是百分制。

假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求:⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩;⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中;⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;⑷ 用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;⑸ 对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表;⑹ 设计一个菜单,至少具有上述操作要求的基本功能。

3 栈及其操作问题描述:栈(Stack):是限制在表的一端进行插入和删除操作的线性表。

C语言程序设计习题试题(编程题)

C语言程序设计习题试题(编程题)

a[j+1]=num; } for(i=0;i<10;i++) printf ("No.%d=%d\n", i+1, a[i]); }
3、输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输 出位54321。 参考答案: void main() { int n; printf("Please enter n:"); scanf("%d",&n); while(n>0) { printf("%d",n%10); n=n/10; } }
7、将一个数的数码倒过来所得到的新数叫原数的反序数。如果一个数 等于它的反序数,则称它为对称数。求不超过1993的最大的二进制的对 称数。 参考答案: void main() { int i,j,n,k,a[16]={0}; for(i=1;i<=1993;i++) { n=i;k=0; while(n>0) /* 将十进制数转变为二进制数 */ { a[k++]=n%2; n=n/2; } for(j=0;j<k;j++) if(a[j]!=a[k-j-1]) break; if(j>=k) { printf(" %d: ",i); for(j=0;j<k;j++) printf("%2d",a[j]); printf("\n"); } } }
} for(i=0;i<5;i++) { for(j=0;j<5;j++) printf("%5d",a[i][j]); printf("\n"); } j=0; for(i=0;i<5;i++) { s1=s1+a[i][i]; if(i%2==0) s2=s2*a[i][i]; if(a[i][i]>a[j][j]) j=i; } printf("SUN=%d\nACCOM=%d\na[%d]=%d\n",s1,s2,j,a[j][j]); }

c语言程序设计练习题

c语言程序设计练习题

c语言程序设计练习题顺序程序设计1.输入两个整型变量a,b的值,输出a+b,a-b,a*b,a/b,(float)a/b,a%b的结果,要求连同算式一起输出,每个算式占一行。

例:a等于10,b等于5,a+b的结果输成10+5=152.输入一个非负数,计算以这个数为半径的圆周长和面积。

3.输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321).4.输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。

若是,则输出“YES”,不是则输出“NOT” (要求用条件表达式进行判断,不使用if语句)5.求前驱字符和后继字符。

输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这三个字符及其对应的ASCII码值。

6.试用彩色文本定位输出。

(实例4,5)7.输入三角形的边长,求三角形面积。

(面积=sqrt(s(s-a)(s-b)(s-c)), s=(a+b+c)/2)分支和循环程序设计1.输入两个字符,若这两个字符之差为偶数,则输出它们的后继字符,否则输出它们的前趋字符。

这里的前趋和后继是指输入的两个字符中,较小字符前面的和较大字符后面的那个字符。

2.输入整数a和b,如果a 能被b整除,就输出算式和商,否则输出算式、整数商和余数。

3.输入某个点A的平面坐标(x,y),判断(输出)A点是在圆内、圆外还是在圆周上,其中圆心从标为(2,2),半径为1 。

4.输入年号和月份,输出这一年的该月的天数。

(一个年份,先判断是否闰年)5.输出9*9乘法表。

6.求爱因斯坦数学题。

有一条长阶,若每步跨2阶,则最后剩余1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6阶,则最后剩5阶;若每步跨7步,最后正好一阶不剩。

7.输入一串字符,直到输入一个星号(*)为止,统计(输出)其中的字母个数和数字字符个数。

8.计算斐波那契分数序列前n项之和(n是某个常数).( 2/1,3/2,5/3,8/5,13/8,21/13,...... 前一项的分子作为后一项的分母。

基础的c语言程序试题及答案

基础的c语言程序试题及答案

基础的c语言程序试题及答案基础的C语言程序试题及答案1. 题目:编写一个C语言程序,计算并输出1到100之间所有奇数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 != 0) {sum += i;}}printf("1到100之间所有奇数的和为:%d\n", sum);return 0;}```2. 题目:编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除运算。

答案:```c#include <stdio.h>int main() {double num1, num2;char operator;double result;printf("请输入第一个数字:");scanf("%lf", &num1);printf("请输入运算符(+,-,*,/):"); scanf(" %c", &operator);printf("请输入第二个数字:");scanf("%lf", &num2);switch (operator) {case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':if (num2 != 0) {result = num1 / num2;} else {printf("除数不能为0\n");return 1;}break;default:printf("无效的运算符\n");return 1;}printf("%.2lf %c %.2lf = %.2lf\n", num1, operator, num2, result);return 0;}```3. 题目:编写一个C语言程序,实现字符串的反转。

C语言程序设计部分习题及例题参考程序

C语言程序设计部分习题及例题参考程序

C语言程序设计部分习题及例题参考程序《C语言程序设计》部分例题及课后习题参考程序1.编程计算如下分段函数:y={2x+3x≥10 4x0≤x<10 5x?6x<0[参考程序]#include <>int main(){float x,y;printf("input x:"); scanf("%f",&x);if(x>=10)y=2*x+3;else if(x>=0)y=4*x;elsey=5*x-6;printf("y=%.2f\n",y);}2.编程将从键盘输入的百分制成绩转换为等级分,转换方法如下:90以上(大于或等于90,下同)为A,80分以上为B,70分以上为C,60分以上为D,60分以下,即低于60分为E。

[参考程序]#include <>int main(){float score;char rank;printf("input a score:");scanf("%f",&score);if(score>100||score<0){printf("invalid score input\n");exit(-1);}switch((int)score/10){case 10:case 9:rank='A';break;case 8:rank='B';break;case 7:rank='C';break;case 6:rank='D';break;default:rank='E';}printf("%.2f:%c\n",score,rank);return 0;}3.编程判断以从键盘输入的三个数为边长,是否能构成三角形。

完整版C语言程序设计练习题含程序及参考答案

完整版C语言程序设计练习题含程序及参考答案

完整版C语言程序设计练习题含程序及参考答案1. 请编写一个C程序,要求输入一个整数n,并打印从1到n的所有整数。

```c#include <stdio.h>int main(){int n;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++){printf("%d ", i);}return 0;}```参考答案:```请输入一个整数n:51 2 3 4 5```2. 请编写一个C程序,要求输入两个整数m和n,并计算它们的和、差、积和商(m除以n的结果)。

```c#include <stdio.h>int main(){int m, n;printf("请输入两个整数m和n:");scanf("%d %d", &m, &n);int sum = m + n;int difference = m - n;int product = m * n;float quotient = (float)m / n;printf("和:%d\n", sum);printf("差:%d\n", difference);printf("积:%d\n", product);printf("商:%.2f\n", quotient);return 0;}```参考答案:```请输入两个整数m和n:10 3和:13差:7积:30商:3.33```3. 请编写一个C程序,要求输入一个整数n,并判断它是否为素数。

```c#include <stdio.h>#include <stdbool.h>bool isPrime(int n){if (n <= 1){return false;}for (int i = 2; i * i <= n; i++){if (n % i == 0){return false;}}return true;}int main(){int n;printf("请输入一个整数n:"); scanf("%d", &n);if (isPrime(n)){printf("%d是素数。

c语言顺序结构程序设计练习题10道

c语言顺序结构程序设计练习题10道

c语言顺序结构程序设计练习题1、编写程序:输入一矩形的长和宽,计算该矩形的面积。

2、编程:输入求的半径R,计算并输出球的体积。

3、编程:输入三个数,求出这三个数的和以及平均值,并在屏幕上输出。

4、编程:输入一个三位整数x(999=>x>=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积5、编程:已知三角形的三边a=3,b=4,c=5,求其面积s。

(提示:假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p 为半周长:p=(a+b+c)/2。

6、编写一个C程序,输出以下信息:**************************Very Good!**************************7、编写一个程序,输入a、b、c三个值,输出其中最大值.8、写出程序运行的结果:main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}9、写出程序运行的结果:main(){char a ,b, c1,c2;float x ,y;a = 3;b =7;x = 8.5;y = 71.82;c1 = ' A' ;c2 = 'a ';printf("a= %d b = %d/n",a,b);printf("x = %f y = %f",x,y);printf("c1= %c,c2 =%c",c1,c2);}10、求ax2+bx+c=0方程的根,a,b,c由键盘输入,假设b2-4ac>0。

C语言程序设计-编程练习及答案

C语言程序设计-编程练习及答案

编程练习及答案1. 编一程序求出满足不等式1+1/2+1/3+...+1/n≥5的最小n值。

#include "stdio.h"void main(){int n=1;float s=0;for (;s<5;n++)s+=(float) 1/n;printf("\nn=%d,s=%f",n,s);}2. 计算1+3+32+...+310的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。

#include "stdio.h"void main(){int i=1,p=1,s=1;for (;i<=10;i++){ p=p*3;s+=p;}printf("\n1+3+3*3+ =%d",s);}3. 求满足不等式22+42+...+n2<1000的最大n值,假定分别用i和s作为取偶数值和累加值的变量,并限定使用do循环编程。

#include "stdio.h"void main(){int i=2,s=0;do{s+=i*i;i+=2;} while(s<10);i-=2;s-=i*i;printf("\n2*2+4*4+6*6+……+%d*%d=%d",i,i,s);}4. 已知⎪⎩⎪⎨⎧>-+≤+= )0(143)0( 222x ax ax x x a y ,求出并显示当x 分别取-3.8, 6.4, 2.3, -4.2,8.9, 3.5, -5.0, 4.5时所对应的y 值,要求把a 定义为常量,其值设定为10.2,x 的每个值由键盘输入,并假定用-100作为终止标志,求平方根函数为sqrt(x)。

#include "stdio.h"#include "math.h"#define a 10.2void main(){float x,y;scanf("%f",&x);while((int) x!=-100){if (x>0) y=3*a*x*x+4*a*x-1;else y=sqrt(a*a+x*x);printf("x=%f,y=%f\n",x,y);scanf("%f",&x);}}5. 求出从键盘上输入的10个整数中的最大值,要求输入变量用x 表示,存储最大值的变量用max 表示。

c语言程序设计题目及答案

c语言程序设计题目及答案

一、程序设计共113题第1题题号:319#include ""void wwjt();int fun(int m){int i,k=1;if(m<=1) k=0;for(i=2;i<m;i++)if(m%i==0) k=0;return k;}第2题题号:351-----------功能:请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp 所指一维数组中。

二维数组中的数已在主函数中赋予。

#include<>#include<>#define M 3#define N 4void wwjt();void fun(int tt[M][N],intpp[N]){int i,j;for(j=0;j<N;j++){pp[j]=tt[0][j];for(i=1;i<M;i++)if(tt[i][j]>pp[j])pp[j]=tt[i][j];}第3题题号:375功能:从键盘上输入任意实数,求出其所对应的函数值。

z=e的x次幂(x>10)z=log(x+3) (x>-3)z=sin(x)/((cos(x)+4)#include <>#include<>void wwjt();double y(float x){double z;if(x>10) z=exp(x);else if(x>-3) z=log(x+3);else z=sin(x)/(cos(x)+4);return(z);}第4题题号:334功能:求给定正整数n以内的素数之积。

(n<28)#include <>#include""void wwjt();long fun(int n){long i,k;long s=1;for(i=2;i<=n;i++){for(k=2;k<i;k++)if(i%k==0)break; if(k==i)s=s*i;}return s;}第5题题号:333功能:计算并输出给定整数的所有因子之积(包括自身)。

C语言程序设计

C语言程序设计

C程序设计题目1、已知A,B为正整数, A<B, A*B=2698,且要求A+B取最小值,求满足上述条件的B值。

712、某一正整数,进行递减,每次将该数减半后再减一,当对该数进行第10次减半时发现该数只剩下1不能再减了,求该数。

15343、把一张一元钞票,换成一分、二分和五分硬币,每种至少5枚,问有多少种方案?2054、设有6个十进制数字a,b,c,d, e,f ,求满足abcdf×e=fdcba 条件的五位数abcdf(a≠0,f≠0,e≠0,e≠1)的个数。

25、除1和它本身外,不能被其它整数整除的正整数称为素数(注:1不是素数,2是素数)。

若两素数之差为2 ,则称两素数为双胞胎数,问[31,601]之间有多少对双胞胎数。

226、设有十进制数字a,b,c,d和e,它们满足下列式子:abcd*e=bcde (a不等于0, e不等于0或1),求满足上述条件的最大四位数abcd 的值。

19997、若两个自然连续数乘积减1后是素数,则称此两个自然连续数为友数对,该素数称为友素数,例:2*3-1=5,因此2与3是友数对,5是友素数,求[40,119]之间友素数对的数目。

308、已知: f(0)=f(1)=1f(2)=0f(n)=f(n-1)-2*f(n-2)+f(n-3) (n>2)求f(0)到f(50)中的最大值。

5983259、数列:E(1)=E(2)=1E(n)=(n-1)*E(n-1)+(n-2)*E(n-2) (n>2)称为E数列,每一个E(n),(n=1,2,…)称为E数。

求不超过30000的最大E数的值(注:是求E<30000的最大E数值)。

1668710、斐波那契数列的前二项是1,1,其后每一项都是前面两项之和,求:10000000以内最大的斐波那契数?922746511、斐波那契数列的前二项是1,1,以后每一项都是前面两项之和。

求10000000以内有多少个斐波那契数?3512、某些分数的分子和分母都是二位正整数的真分数具有下列特点:如果将该分数的分子的两位数字相加作分子,而将该分数的分母的两位数字相加作分母,得到的新分子跟原分子相等。

C语言程序设计实例分析30道(含答案)

C语言程序设计实例分析30道(含答案)
#include<stdio.h>
int main()
{
int i,x,y,z;
for(i=100;i<1000;i++)
{
x=i%10;
y=i/10%10;
z=i/100%10;
if(i==(x*x*x+y*y*y+z*z*z))
printf("%d\n",i);
}
return 0;
}
【题目12】:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
【程序分析】:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外打印出即可。
(2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
高于100万元时,超过100万元的部分按1%提成。
从键盘输入当月利润I,求应发放奖金总数?
【程序分析】:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。
【程序源代码】:
#include<stdio.h>
int main()
{
double i;
double bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
{
int score;
char grade;
printf("请输入分数:");
scanf("%d",&score);
grade=(score>=90)?'A':((score>=60)?'B':'C');

计算机程序设计基础(C语言)编程习题

计算机程序设计基础(C语言)编程习题

计算机程序设计基础(C语言)编程练习题及参考答案1.输入2个整数,求两数的平方和并输出。

#include <stdio.h>main(){ intt a ,b,s;printf("please input a,b:\n");scanf("%d%d”,&a,&b);s=a*a+b*b;printf("the result is %d\n",s);}2. 输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

#include <stdio.h>#define PI 3.14 <stdio.h>main(){ float r ,s , l;printf("please input r:\n");scanf("%f”,&r);if (r>=0){s=pi*r*r;l=2*i*r ;printf("the area is %f\n",s);printf("the circumference is %f\n",l);}elseprintf("input error!\n");}3、函数y=f(x)可表示为:2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)编程实现输入一个x值,输出y值。

main(){int x,y;scanf(“%d”,&x);If(x<0)y=2*x+1;If(x>0)y=2*x-1;If(x==0) y=0;prin tf(“%d”,y);}4、编写一个程序,从4个整数中找出最小的数,并显示此数。

main( ){int a,b,c,d,t;scanf (“%d,%d,%d,%d ”,&a,&b,&c,&d);if (a>b){t=a; a=b; b=t;}if (a>c){t=a; a=c; c=t;}if (a>d){t=a; a=d; d=t;}pri ntf (“m in = %d \n”,a);}5.有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。

c语言程序设计编程题库及详解答案

c语言程序设计编程题库及详解答案

c语言程序设计编程题库及详解答案C语言是一种通用的编程语言,广泛用于系统软件、应用程序和嵌入式系统开发。

C语言以其高效性和灵活性而著称,是许多编程语言的基础。

下面,我将提供一些C语言程序设计编程题库的题目及其详解答案。

题目一:计算圆的面积问题描述:编写一个C程序,输入圆的半径,计算并输出圆的面积。

代码实现:```c#include <stdio.h>#define PI 3.14159int main() {double radius, area;printf("请输入圆的半径:");scanf("%lf", &radius);area = PI * radius * radius;printf("圆的面积是:%.2f\n", area);return 0;}```题目二:求最大公约数问题描述:编写一个C程序,输入两个整数,计算并输出这两个整数的最大公约数。

代码实现:```c#include <stdio.h>int gcd(int a, int b) {while (b != 0) {int temp = b;b = a % b;a = temp;}return a;}int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("最大公约数是:%d\n", gcd(num1, num2));return 0;}```题目三:字符串反转问题描述:编写一个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[100];printf("请输入一个字符串:");fgets(str, 100, stdin); // 使用fgets以包含空格str[strcspn(str, "\n")] = 0; // 去除换行符reverseString(str);printf("反转后的字符串是:%s\n", str);return 0;}```题目四:计算阶乘问题描述:编写一个C程序,输入一个非负整数,计算并输出该整数的阶乘。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

/*------------------------------------------------【程序设计】--------------------------------------------------题目:编写函数fun求1!+2!+3!+ ……+n!的和,在main函数中由键盘输入n值,并输出运算结果。

请编写fun函数。

例如:若n值为20,则结果为268040729。

--------------------------------------------------注意:部分源程序给出如下。

请勿改动主函数main 和其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

------------------------------------------------*/#include<stdio.h>float fun(int n){/**********Program***** *****//********** End**********/}main(){int i,n;long int result;scanf("%d",&n); result=fun(n);printf("%ld\n",result); yzj();}yzj(){FILE *IN,*OUT;int i;int iIN;long int iOUT;IN=fopen("1.in","r");if(IN==NULL){printf("Please Verify The Currernt Dir..It May Be Changed");}OUT=fopen("1.out","w"); if(OUT==NULL){printf("Please Verify The Current Dir.. It May BeChanged");}for(i=0;i<10;i++){ fscanf(IN,"%d", &iIN);iOUT=fun(iIN); fprintf(OUT,"%ld\n",iOUT); }fclose(IN);fclose(OUT);}/*------------------------------------------------【程序设计】--------------------------------------------------题目:调用函数fun判断一个三位数是否"水仙花数"。

在main函数中从键盘输入一个三位数,并输出判断结果。

请编写fun 函数。

所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。

例如,153是一个水仙花数,因为153=13+53+33。

--------------------------------------------------注意:部分源程序给出如下。

请勿改动主函数main 和其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

------------------------------------------------*/#include "stdio.h"int fun(int n){/**********Program***** *****//********** End **********/}main(){int n,flag;scanf("%d",&n);flag=fun(n);if(flag)printf("%d 是水仙花数\n",n);elseprintf("%d 不是水仙花数\n",n);yzj();}yzj(){FILE *IN,*OUT;int iIN,i;int iOUT;IN=fopen("2.in","r");if(IN==NULL){printf("Please Verify The Currernt Dir..It May BeChanged");}OUT=fopen("2.out","w"); if(OUT==NULL){printf("Please Verify The Current Dir.. It May Be Changed");}for(i=0;i<10;i++){ fscanf(IN,"%d", &iIN);iOUT=fun(iIN); fprintf(OUT,"%d\n",iOUT);}fclose(IN);fclose(OUT);}/*------------------------------------------------【程序设计】--------------------------------------------------题目:从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。

请编写fun函数。

--------------------------------------------------注意:部分源程序给出如下。

请勿改动主函数main 和其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

------------------------------------------------*/#include "stdio.h"int fun(int x[],int n){/**********Program***** *****//********** End **********/}main(){int a[10],i,min;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)printf("%3d",a[i]);printf("\n");min=fun(a,10);printf("%d\n",min);yzj();}yzj(){FILE *IN,*OUT;int iIN[10],i;int iOUT,iCOUNT;IN=fopen("4.in","r");if(IN==NULL){printf("Please Verify The Currernt Dir..It May Be Changed");}OUT=fopen("4.out","w"); if(OUT==NULL){printf("Please Verify The Current Dir.. It May Be Changed");}for(i=0;i<10;i++){ for(iCOUNT=0;iCOU NT<10;iCOUNT++) fscanf(IN,"%d",&iIN[iCOU NT]);iOUT=fun(iIN,10);fprintf(OUT,"%d\n",iOUT); }fclose(IN);fclose(OUT);}/*------------------------------------------------【程序设计】--------------------------------------------------题目:从键盘输入一个大于3的整数,调用函数fun判断其是否素数,然后在main函数中输出相应的结论信息。

例如:7是素数,8不是素数。

请编写fun 函数。

素数是仅能被1和自身整除的数--------------------------------------------------注意:部分源程序给出如下。

请勿改动主函数main 和其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

------------------------------------------------*/#include "stdio.h"main(){int m,flag;printf("input an integer:");scanf("%d",&m);flag=fun(m);if(flag)printf("%d is a prime.\n",m);elseprintf("%d is not a prime.\n",m);yzj();}int fun(int n){/**********Program***** *****//********** End **********/}yzj(){FILE *IN,*OUT;int iIN,iOUT,i;IN=fopen("5.in","r");if(IN==NULL){printf("Please Verify The Currernt Dir..It May Be Changed");}OUT=fopen("5.out","w"); if(OUT==NULL){printf("Please Verify The Current Dir.. It May Be Changed");}for(i=0;i<10;i++){ fscanf(IN,"%d", &iIN);iOUT=fun(iIN); fprintf(OUT,"%d\n",iOUT); }fclose(IN);fclose(OUT);}/*------------------------------------------------【程序设计】--------------------------------------------------题目:请编写一个函数fun,函数的功能是:将主函数中输入的字符串反序存放。

相关文档
最新文档