北京工业大学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语言基础题及答案1、一个C语言的源程序中[正确答案:A]。
A)必须有一个主函数B)可以有多个主函数C)必须有主函数和其他函数D)可以没有主函数2、关于C程序的主函数,以下描述中正确的是[正确答案:B]。
A)C程序的第一个函数称为主函数,程序从该函数开始运行。
B)C程序的主函数即是main函数,程序从该函数开始运行。
C)C程序可以有多个主函数,程序从第一个主函数开始运行。
D)C程序可以没有主函数,程序从第一个函数开始运行。
3、C程序中,return语句的作用是[正确答案:D]。
A)终止程序运行B)返回到上层循环C)返回到外层结构D)返回到上层函数4、C语言程序的3种基本结构是[正确答案:A]。
A)顺序结构,选择结构,循环结构B)递归结构,循环结构,转移结构C)嵌套结构,递归结构,顺序结构D)循环结构,转移结构,顺序结构5、以下对C程序的描述中正确的是[正确答案:A]。
A)C程序总是从main()函数开始执行。
B)C程序可以从程序中的任何函数开始执行。
C)C程序总是从第一个定义的函数开始执行。
D)C程序中的main()函数必须放在程序的开始部分。
6、关于C程序第1行的包含语句,以下写法中正确的是[正确答案:D]。
A)#include stdio.h B)#include'stdio.h'C)#include(stdio.h)D)#include<stdio.h>7、关于C语言程序,正确的编程流程应该是[正确答案:A]。
A)编辑→保存→编译→运行B)编译→编辑→运行→保存C)保存→运行→编辑→编译D)运行→编译→保存→编辑8、下列的哪个不是C语言的关键字[正确答案:D]。
A)while B)auto C)break D)printf9、下列的哪个不是C语言的算术运算符[正确答案:C]。
A)+B)%C)=D)-10、下列的哪个不是C语言的关系运算符[正确答案:C]。
A)>=B)<=C)=D)!=11、下列的哪个是错误的描述[正确答案:D]。
(完整word版)C语言基础练习题(含答案)
目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。
(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。
A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。
A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。
A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。
A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。
大学C语言考试题库(含答案)
单项选择==================================================题号:1482执行以下程序段后,输出结果和a的值是()。
int a=10; printf("%d",a++);A、11 和 10B、11 和 11C、10 和 11D、10 和 10答案:C题号:2100已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以()。
A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217int a[10];合法的数组元素的最小下标值为()。
A、1B、0C、10D、9答案:B题号:45能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是A、a>=0 | a<=10B、a>=10 or a<=0C、a>=10 && a<=0D、a>=10 || a<=0答案:D题号:157main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( )A、2,2B、2,1C、1,1D、1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A、不确定B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______main(){int i=0;while(i<10){if(i<1) continue;if(i==5) break;i++;}}A、死循环,不能确定次数B、6C、4D、1答案:A题号:191若有说明语句:char c='\72';则变量c()。
北工大C语言练习题答案.doc
1求两个数的和与差输入整数a和b,计算并输出a、b的和与差。
(例:输入2 -8;输出The sum is -6 The difference is 10)#include <stdio.h>int main(){int a,b,sum,diff;scanf(H%d%d n,&a,&b);sum=a+b;diff=a-b;printf(n The sum is %d\n H,sum);printf(n The difference is %d\n*\diff);} 2 求平方根输入1个实数x,计算并输出其平方根 (保留1位小数)。
(例:输入17;输出The square root of 17.0 is 4.1)#include <stdio.h>#include <math.h>int main()(double x,root;scanf(n%lf n,&x);root=sqrt(x);printf(n The square root of %0.1f is % 0. lf\n n ,x,root);}3华氏温度转换为摄氏温度输入华氏温度f,计算并输出相应的摄氏温度c(保留2位小数)。
c = 5/9(f-32).(例:括号内是说明输入17.2 (华氏温度)输出The temprature is -8.22)#include <stdio.h>int main()(double f,c;scanf(H%lf n,&f);c=5.0/9.0*(f-32.0);printf(n The temprature is %0.2f\n n,c);} 4计算旅途时间输入2个整数timel和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。
有效的时间范围是0000到2359, 不需要考虑出发时间晚于到达时间的情况。
例:括号内是说明输入712 1411 (出发时间是7:12,到达时间是14:11)输出The train journey time is 6 hrs 59 mins.#include <stdio.h>int main()(int timel,time2,hours,mins;scanf(n%d%d H,&timel,&time2);timel=timel/100*60+timel % 100;time2= time2/100*60+time2% 100;hours=(time2-timel)/60;mins=(time2-timel) % 60;printf(n The train journey time is %d hrs %d mins An'hours,mins);}5大写字母转换成小写字母输入一个大写英文字母,输出相应的小写字母。
C语言练习题(带详解答案)
目录一、选择题 (2)二、读程序 (11)根本输入输出及流程控制 (11)数组 (24)函数 (34)指针 (39)结构体 (44)三、程序填空 (46)四、编程题 (50)一、选择题1.〔A〕是构成C语言程序的根本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从 C开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数3、以下说法中正确的选项是〔C〕。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始局部4.以下关于C语言的说法错误的选项是〔B〕。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种根本结构是顺序、选择、循环D) C程序从main函数开始执行5.以下正确的标识符是〔C〕。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规那么(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-〞,选项B中“[〞与“]〞不满足〔1〕;选项D中的int为关键字,不满足〔3〕6.以下C语言用户标识符中合法的是〔 B〕。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足〔2〕;选项C,E均为为关键字,不满足〔3〕;选项D中的“-〞不满足〔1〕;7.以下四组选项中,正确的C语言标识符是〔C〕。
A〕 %x B〕 a+b C〕 a123 D〕 123选项A中的“%〞,选项B中“+〞不满足〔1〕;选项D中的标识符以数字开头不满足〔2〕8、以下四组字符串中都可以用作C语言程序中的标识符的是〔A〕。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\〞,〞$〞,选项D中“>〞,〞#〞,〞.〞,〞-〞不满足〔1〕;选项C中的while 为关键字,不满足〔3〕9.C语言中的简单数据类型包括〔D〕。
大学c语言试题题库及答案
大学c语言试题题库及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是:A. C语言是一种编译型语言B. C语言是一种解释型语言C. C语言是一种面向对象的语言D. C语言不支持函数答案:A2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. intD. _int答案:B4. C语言中,用于定义一个浮点型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:B5. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. +答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A7. 在C语言中,用于定义一个字符型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:C8. C语言中,用于声明一个函数的关键字是:A. intB. floatC. voidD. return答案:C9. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. while答案:C10. 在C语言中,用于定义一个字符串常量的语法是:A. "Hello"B. 'Hello'C. "Hello"[10]D. 'Hello'[10]答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以连接两个字符串。
答案:+2. C语言中的________关键字用于声明一个无返回值的函数。
C语言课程 课后练习 参考答案
实验6-1课后练习:1.选择题(1)B (2)C(3)A(4)D(5)C (6)C (7)D 2.阅读程序,写出运行结果3020103.阅读程序,写出运行结果20104. 阅读程序,写出运行结果1 2 35.阅读程序,写出运行结果7 8 96.阅读程序,写出运行结果97.阅读程序,写出运行结果#include <stdio.h>int digit(int n,int k);int main(){ int n,k;printf("Enter n,k: ");scanf("%d %d",&n,&k);printf("\nThe result is:%d\n",digit(n,k));return 0;}int digit(int n,int k){ int d;while(k>0){ d=n%10;n=n/10;k--;}return d;}8.程序填空#include <stdio.h>double max(double a,double b);int main(){ double x,y;prinf("please input two double numbers:"); scanf("%lf %lf"),&x,&y;printf("%.2f\n",max(x,y));return 0;}double max(double a,double b){return (a>b?a:b);}9.原版#include <stdio.h>int check(int n,int d);int main(){ int n,d;printf("Enter n,d: ");scanf("%d %d",&n,&d);if(check(n,d)==1)printf("The digit %d is in data %d",d,n); elseprintf("The digit %d is not in data %d",d,n); return 0;}int check(int n,int d){ int temp;while(n>0){ temp=n%10;if(temp==d)return 1;n=n/10;}return 0;}改进版#include <stdio.h>int check(int n,int d);int main(){ int n,d,position;printf("Enter n,d: ");scanf("%d %d",&n,&d);position=check(n,d);if(check(n,d)>0)printf("The digit %d is in data %d,position is %d",d,n,position);elseprintf("The digit %d is not in data %d",d,n);return 0;}int check(int n,int d){ int temp,position=1;while(n>0){ temp=n%10;if(temp==d)return position;position++;n=n/10;}return 0;}实验6-2课后练习1.选择题(1)B (2)C(3)B(4)B(5)C (6)B (7)D (8)D (9)C(10)B(11)A2.填空(1) 函数中声明有局部变量,若声明中带有static,则该局部变量采用静态存储方式,在编译时分配空间,若函数中未显式设定初始值,则系统将其自动初始化,函数被调用结束时,该空间不释放。
C语言课后习题参考答案
C语言课后习题参考答案第一章:基础知识问题1:C语言的发展历史及特点C语言是由贝尔实验室的肯·汤普逊和丹尼斯·里奇在20世纪70年代初开发的一种高级程序设计语言。
它以其简洁、高效和可移植性而闻名。
C语言被广泛应用于系统级编程、嵌入式系统和科学计算等领域,并成为其他编程语言的基础。
问题2:C语言的基本数据类型及其存储范围C语言的基本数据类型包括字符型(char)、整型(int)、浮点型(float)、双精度浮点型(double)和空类型(void)。
它们的存储范围如下:- char:-128 到 127 或 0 到 255- int:-32,768 到 32,767 或 0 到 65,535- float:3.4E-38 到 3.4E38- double:1.7E-308 到 1.7E308- void:无特定存储范围问题3:如何在C语言中输出语句?在C语言中,可以使用printf函数来输出语句。
它的基本语法为:```cprintf("要输出的内容");```问题4:定义变量的语法规则在C语言中,定义变量的语法规则如下:```c数据类型变量名;```例如,定义一个整型变量x:```cint x;```问题5:如何进行变量的赋值?变量的赋值可以使用赋值运算符(=)。
例如,将一个整型常量10赋值给变量x:```cx = 10;```第二章:控制结构问题1:if语句的语法结构if语句用于根据条件执行不同的代码块。
它的基本语法结构如下:```cif (条件) {// 条件为真时执行的代码}```问题2:switch语句的用法及语法结构switch语句用于根据不同的表达式值执行相应的代码块。
它的基本用法及语法结构如下:```cswitch (表达式) {case 值1:// 当表达式的值等于值1时执行的代码break;case 值2:// 当表达式的值等于值2时执行的代码break;default:// 当表达式的值与所有case都不匹配时执行的代码break;}```问题3:循环语句的分类及语法结构C语言中的循环语句包括for循环、while循环和do-while循环。
北京工业大学C语言部分练习答案
练习1 分支1.若从键盘输入58,则以下程序段的输出结果是(58 58 58):int main(void){int a;scanf(“%d”,&a);if (a>50) printf(“%d”,a);if(a>40) printf(“%d”,a);if(a>30) printf(“%d”,a);return 0;}2.下列程序运行的输出结果是(9):没有遇到break语句,继续执行到switch语句结束int main(void){char c=’b’;int k=4;switch(c) {case ‘a’: k=k+1; break;case ‘b’: k=k+2;case ‘c’: k=k+3;}printf(“%d\n”,k);return 0;}练习2 循环一、读程序写结果1.阅读下列程序并回答问题:main(){inti,j,k=0,m=0;for(i=0;i<2;i++){; /*第6行*/for(j=0;j<3;j++)k++;m++; /*第9行*/}printf(“k=%d,m=%d\n”,k,m);}(1)程序的输出是___k=6,m=2___________。
(2)将第9行改为“m=m+k;“ ,程序的输出是____k=6,m=9_________。
(3)将第6行改为“k=0;”,将第9行改为“m=m+k;”,程序的输出是________k=3,m=6____________。
2.请阅读下面的程序,并回答下列问题#include <stdio.h>int main(){int digit=0,letter=0, other=0;charch;printf("Enter a line text:");do {ch = getchar();if((ch>= 'a' &&ch<= 'z' ) || ( ch>= 'A' &&ch<= 'Z'))letter ++;else if(ch>= '0' &&ch<= '9')digit ++;elseother ++;}while(ch!='\n');printf("letter=%d, digit=%d, other=%d\n", letter, digit, other); }(1)若在程序运行时输入 Today_is_2013/12/28<回车>letter=7, digit=8, other=5(2)简述程序的主要功能:统计输入字符串中字母数字和其他字符的个数。
北京工业大学c语言练习1
北京工业大学c语言练习1一、读程序写出运行结果: 1. 若从键盘输入58,则以下程序段的输出结果是:int main(void) { int a; scanf(“%d”,&a); if (a>50) printf(“%d”,a); if(a>40) printf(“%d”,a); if(a>30) printf(“%d”,a); return 0; } 2. 下列程序运行的输出结果是:int main(void) { char c=’b’; int k=4; switch(c) { case ‘a’: k=k+1; break; case ‘b’: k=k+2; case ‘c’: k=k+3; } printf(“%d\\n”,k); return 0; } 二、编程题 1. 键盘输入一个三位整数,输出该数的各位数字本题要求编写程序,输出一个三位整数的个位数字、十位数字和百位数字的值。
输入格式:输入152。
输出格式:按照以下格式输出:152 = 个位数字+ 十位数字*10 + 百位数字*100 2. 将x的平方赋值给y键盘输入x的值,计算x的平方并赋值给y,分别以“y = x ? x”和“x ? x = y”的形式输出x和y的值。
输入格式:输入一个整数3 输出格式:按照下列格式输出代入x=3的结果:y = x * x x * x = y 3. 本题目要求计算下列分段函数f(x)的值:输入格式: 输入在一行中给出实数x。
输出格式: 在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。
输入样例1: 10 输出样例1: f() = 4. 为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时以内的,电价为元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调元/千瓦时。
请编写程序计算电费。
大学c语言考试题及答案
大学c语言考试题及答案C语言是计算机科学与技术专业学生必须掌握的一门编程语言,其考试通常包括理论知识和编程实践两个部分。
以下是一套模拟的大学C语言考试题及答案,供同学们参考。
# 大学C语言考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是C语言的标准输入输出库?- A. `<stdio.h>- B. `<stdlib.h>`- C. `<math.h>`- D. `<string.h>`答案:A2. C语言中,以下哪个是正确的字符串定义方式?- A. `char str[] = "Hello";`- B. `char str = "Hello";`- C. `int str = "Hello";`- D. `float str = "Hello";`答案:A3. 在C语言中,`printf`函数属于哪个库?- A. `math.h`- B. `stdio.h`- C. `stdlib.h`- D. `string.h`答案:B4. 以下哪个是C语言的关键字?- A. `function`- B. `class`- C. `int`- D. `namespace`答案:C5. C语言中,以下哪个语句用于定义一个变量?- A. `int var;`- B. `var int;`- C. `int = var;`- D. `var = int;`答案:A...(此处省略其他选择题)二、填空题(每空2分,共20分)1. 在C语言中,一个完整的程序至少包含一个______函数。
答案:main2. 用于计算两个数的乘积的运算符是______。
答案:*3. C语言中,用于定义数组的关键字是______。
答案:array 或者不填(取决于具体要求)4. 语句 `for(int i = 0; i < 10; i++)` 循环执行的次数是______。
2022年北京工业大学公共课《C语言》科目期末试卷A(有答案)
2022年北京工业大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x是一个整数(16bit),若要通过xly使x低8位置1,高8位不变,则y的八进制数是_______。
2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、表达式x=6应当读做_______5、若有定义语句:inte=1,f=4,g=2;float m=10.5,n=4.0,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是_______。
6、以下程序段通过指针变量q,但不移动q,将如图所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。
请填空。
(假设程序段中的所有变量均已正确说明。
)for(k=0;k<10;k++) printf("%d,",_______); printf("\n");7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);8、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
9、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。
#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}10、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。
c语言考试试题及答案
c语言考试试题及答案C语言考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. voidB. StringC. intD. array答案:A2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C3. 在C语言中,以下哪个是正确的字符串定义?A. char str[10] = "Hello";B. string str = "Hello";C. char str[] = "Hello";D. string str[10] = "Hello";答案:A4. 下列哪个选项是C语言中数组的正确声明方式?A. int array[10];B. int array(10);C. int array = 10;D. int array = {10};答案:A5. 在C语言中,哪个函数用于计算两个数的最大值?A. max()B. min()C. abs()D. pow()答案:A6. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. %D. /答案:A7. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C8. C语言中,以下哪个语句用于结束一个循环?A. continue;B. break;C. return;D. exit;答案:B9. 在C语言中,哪个函数用于打印输出?A. printf()B. print()C. display()D. show()答案:A10. 以下哪个选项是C语言中正确的条件语句?A. if (x = 10)B. if (x == 10)C. if (x : 10)D. if (x / 10)答案:B二、填空题(每空2分,共20分)1. C语言中,用于定义变量的关键字是________。
北京工业大学c语言练习5-字符串
练习5 字符数组学号姓名1.该程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。
#include <stdio.h>#include <string.h>int main( void){ char a[ ]="natural", t;int i, j, k;k=strlen(a); //strlen()函数用来求数组的长度for( i=0; i<k-2; i=i+2 )for(j=i+2;j<=k;)if(){ t=a[i];a[i]=a[j];a[j]=t; }puts(a);return 0;}2#include <stdio.h>void main(){char s[80];int i=0;gets(s);while(s[i]!='\0'){if(s[i]>='a' && s[i]<='z')s[i]=s[i]-'a'+'A';i++;}puts(s);}(1) 若在程序运行时输入Happy!<回车>运行结果是:(2) 简述程序的主要功能:2.这个程序的功能是:将以字符串形式给出的时间分解成数值型表示的小时、分钟、秒,并显示输出。
例如,字符串形式表示的时间是“10:50:27”,运行程序后,在屏幕上应该显示输出The time is :10 hours, 50 minutes, 27second 的字样。
请填空完成。
#include <stdio.h>main( ){char time[ ] = "10:50:27";int hour, minute, second;hour = (time[0]-'0')*10+time[1]-'0';minute = (time[3]-'0')*10+____________________ ;second = ___________________ +time[7]-'0';printf("\nThe time is :%d hours,%d minutes,%d seconds", hour, minute, second);}。
C语言练习题答案
1.已知三角形的三边长为a,b,c,计算三角形面积的公式为:area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2。
试编程从键盘输入a,b,c的值(假设a,b,c的值可以保证其构成一个三角形),计算并输出三角形的面积。
**输入格式要求:"%f,%f,%f" 提示信息:"Input a,b,c:"**输出格式要求:"area = %.2f\n"程序运行示例如下:Input a,b,c:3,4,5area = 6.00答案:#include<stdio.h>#include<math.h>int main(void){float a, b, c, s, area;printf("Input a,b,c:");scanf("%f,%f,%f", &a, &b, &c);s = (a + b + c) / 2;area = sqrt(s*(s - a)*(s - b)*(s - c));printf("area = %.2f\n", area);return 0;}-----------------12.从键盘任意输入一个4位整数,编程计算并输出它的逆序数.例如:输入1234,分离出千位1、百位2、十位3和个位4,然后计算4*1000+3*100+2*10+1=4321,并输出4321。
**要求输入提示信息为:无**要求输入格式为: "%d"**要求输出格式为:"%d"程序运行示例如下:1234 此处为输入4321 此处为输出答案:#include<stdio.h>int main(void){int a, b, c, d,e;scanf("%d",&a);b = a/1000;c = a%1000/100;d = a%100/10;e = a%10;a = e*1000+d*100+c*10+b;printf("%d",a);return 0;}--------------23.有关输入输出问题。
C语言-习题集参考答案全部
目录- 1 -目录第一章C语言基础知识参考答案 ................................................................................ - 2 - 第二章顺序结构参考答案.......................................................................................... - 5 - 第三章选择结构参考答案.............................................................................................. - 7 - 第四章循环结构参考答案............................................................................................ - 11 - 第五章函数参考答案................................................................................................ - 15 - 第六章指针参考答案.................................................................................................... - 18 - 第七章一维数组参考答案............................................................................................ - 21 - 第八章二维数组参考答案.......................................................................................... - 28 - 第九章字符串参考答案.......................................................................................... - 31 - 第十章对C语言的深入讨论参考答案 ....................................................................... - 33 - 第十一章结构体与共用体参考答案............................................................................ - 34 - 第十二章文件参考答案........................................................................................ - 35 -全国计算机等级考试二级教程C 语言习题集参考答案- 2 - 第一章C语言基础知识参考答案一,选择题1 C2 D3 A4 C5 A6 D7 C 分析:C答案以数字开头了8 D 分析:int 是关键字9 C 10 D 11 B12 D 分析:Visual C++6.0中int类型的变量占的字节数为4。
北工大c语言题库
求1 + 1/2! +....+ 1/n!#include "stdio.h"int main( ){int ri,repeat;int i,n;double s;double fact(int n);scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%d",&n);s=0;for(i=1;i<=n;i++)s=s+1/fact(i);printf("%0.4f\n",s);}return 0;}double fact(int n){int i;double result;result=1;for(i=1;i<=n;i++)result=result*i;return result;}统计一个整数中数字的个数#include "stdio.h"int main( ){int ri,repeat;int count;long in;int countdigit(long number, int digit); scanf("%d",&repeat); #include "stdio.h"int main( ){int ri,repeat;int i,n,j;float s,t;scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){scanf("%d",&n);s=0;for(i=1;i<=n;i++){t=1;for(j=1;j<=i;j++)t=t*j;s=s+1.0/t;}printf("%0.4f\n",s); }}for(ri=1;ri<=repeat;ri++){scanf("%ld",&in);count=countdigit(in,2);printf("count=%d\n",count);}}int countdigit(long number, int digit) {int i,count=0,t;if(number<0)number=-number;for(i=1; ;i++){t=number%10;if(t==digit)count++;number=number/10;if(number==0)break;}return count;}统计素数并求和#include "stdio.h"#include "math.h"int main( ){int ri,repeat;int count, i, m, n, sum;int prime(int m);scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%d%d", &m, &n);sum=0;count=0;for(i=m;i<=n;i++){if(prime(i)==1){count++;sum=sum+i;}}printf("count=%d, sum=%d\n", count, sum); #include "stdio.h"#include "math.h"int main( ){int ri,repeat;int count, digit, i, j, k, m, n, sum;scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%d%d", &m, &n); count=0;sum=0;digit=0;for(i=m;i>=m&&i<=n;i++){for(j=2;j<=n/2;j++)if(i%j==0)break;if(j>i/2&&i!=1){count++;sum=sum+i;}}}int prime(int m){int i;if(m==1)return 0;if(m>1){for(i=2;i<=m/2;i++){if(m%i==0){return 0;}}if(i>m/2) return 1;}}求完数#include "stdio.h"int main( ){int ri,repeat;int i, m, n;long factorsum(int number);scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){ scanf("%d%d", &m, &n);for(i=m;i<=n;i++){if(i==factorsum(i))printf("%d ", i);}printf("\n");}}long factorsum(int number) {int i,sum=0;if(number==1) return 1;for(i=1;i<number;i++){if(number%i==0)sum=sum+i;}return sum;}输出 Fibonacci 序列#include "stdio.h"#include "math.h"int main( ){int ri,repeat;int i, m, n;long f;long fib(int n);scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){ scanf("%d%d", &m, &n); for(i=1; ;i++){ f=fib(i);if(f>=m&&f<=n) printf("%ld ", f); if(f>n) break; }printf("\n"); }return 0; }long fib(int n) {int i,a=1,b=1,t;if(n==1) return 1; if(n==2) return 1; for(i=3;i<=n;i++){ t=a+b; a=b; b=t; }return t; }求各位数字的立方和等于它本身的数#include "stdio.h" int main( ) {int ri,repeat;Fibonacci 序列的前十项X1=1;X2=1;Printf(“%6d%6d ”,x1,x2);For(i=1;i<=8;i++){X=x1+x2;Printf(“%6d ”,x);X1=x2;X2=x;int i, m, n;int is(int number);scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%d%d", &m, &n);for(i=m;i<=n;i++){if(i==is(i))printf("%d ", i);}printf("\n");}return 0;}int is(int number){int t,sum=0;do{t=number%10;sum=sum+t*t*t;number=number/10;}while(number!=0);return sum;}将一个整数逆序输出#include <stdio.h>int main( ){int ri, repeat;long in, res,k;long reverse(long number);scanf("%d", &repeat);for(ri=1; ri<=repeat; ri++){ scanf("%ld", &in);if(in<0){in=-in;k=1;}else k=0;res=reverse(in);if(k==1)res=-res;printf("%ld\n", res);}}long reverse(long number){int a,b;b=0;while(number!=0){a=number%10;b=b*10+a;number=number/10;}return b;}循环移动(调试示例error08_1)#include <stdio.h>void mov(int *x, int n, int m);int main(void){int i, m, n,*p;int a[80];scanf("%d%d", &n, &m);for(i = 0; i < n; i++)scanf("%d", &a[i]);mov(a,n,m);printf("After move: ");for(i = 0; i < n; i++)printf("%d ", a[i]);printf("\n");}void mov(int *x,int n,int m){int i,j,k;for(i=0;i<m;i++){k=x[n-1];for(j=n-1;j>0;j--)x[j]=x[j-1];x[0]=k;}}在数组中查找指定元素#include <stdio.h>int main(void){int i, index, n, res, x;int repeat, ri;int a[10];int search(int list[], int n, int x); scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d", &n);for(i = 0; i < n; i++)scanf("%d", &a[i]);scanf("%d", &x);res=search(a,n,x);if(res != -1)printf("index = %d\n", res); elseprintf("Not found\n");}}int search(int list[],int n,int x){int i,res;res=-1;for(i=0;i<n;i++)if(list[i]==x)res=i;return res;}使用函数的选择法排序#include <stdio.h>void sort(int a[],int n);int main(void){int i, n;int repeat, ri;int a[10];scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d", &n);for(i = 0; i < n; i++)scanf("%d", &a[i]);sort(a,n);printf("After sorted: ");for(i = 0; i < n; i++)printf("%d ", a[i]);printf("\n");}}void sort(int *p,int n){int k,i,index,t;for(k=0;k<n-1;k++){index=k;for(i=k+1;i<n;i++)if(p[i]<p[index])index=i;t=p[index];p[index]=p[k];p[k]=t;}}使用函数删除字符串中的字符#include<stdio.h>void main(){char c;char str[80];int repeat, ri;void delchar(char *str, char c); scanf("%d", &repeat);getchar();for(ri = 1; ri <= repeat; ri++){ gets(str);scanf("%c", &c);getchar();/*---------*/delchar(str,c);printf("result: ");puts(str);}}/*---------*/void delchar(char *str,char c){int i,j;for(i=j=0;str[i]!='\0';i++){if(str[i]!=c)str[j++]=str[i];}str[j]='\0';}使用函数实现字符串复制#include<stdio.h>#include<string.h>void main(){char s[80], t[80];int m;int repeat, ri;void strmcpy(char *s,char *t, int m);scanf("%d", &repeat);getchar();for(ri = 1; ri <= repeat; ri++){gets(t);scanf("%d", &m);getchar();if(strlen(t) < m)printf("error input");else{/*---------*/strmcpy(s,t,m);puts(s);}}}void strmcpy(char *s,char *t,int m){int i,j;j=0;for(i=m-1;t[i]!='\0';i++)s[j++]=t[i];s[j]='\0';}/*---------*/判断回文字符串#include <stdio.h>void main(){char s[80];int repeat, ri;int mirror(char *p);scanf("%d", &repeat);getchar();for(ri = 1; ri <= repeat; ri++){ gets(s);if(mirror(s) != 0)printf("YES\n");elseprintf("NO\n");}}/*---------*/int mirror(char *p){char *q;q=p;while(*q!='\0')q++;p--;while(p<q){if(*p!=*q)return 0;p++;q--;}return 1;}分类统计字符个数#include<stdio.h>void main()char s[80];char *p;int blank, digit, lower, other, upper;gets(s);upper = lower = blank = digit = other = 0;/*---------*/for(p=s;*p!='\0';p++)if(*p>='A'&&*p<='Z')upper++;else if(*p>='a'&&*p<='z')lower++;else if(*p>='0'&&*p<='9')digit++;else if(*p==' ')blank++;elseother++;printf("upper: %d lower: %d blank: %d digit: %d other: %d\n", upper, lower, blank, digit, other);}显示水果的价格#include <stdio.h>int main(void){int ri, repeat;int choice;float price;scanf("%d", &repeat);for(ri=1; ri<=repeat; ri++){printf("[1] apples\n");printf("[2] pears\n");printf("[3] oranges\n");printf("[4] grapes\n");scanf("%d", &choice);if(choice==0)printf("price=0");switch(choice){case 1:price=3.00;break;case 2:price=2.50;break;case 3:price=4.10;break;case 4:price=10.20;break;}printf("price=%.2f\n", price); }return 0;}求n!#include <stdio.h>int main(void){int ri, repeat;int i, n;double fact;scanf("%d", &repeat);for(ri=1; ri<=repeat; ri++){scanf("%d", &n);fact=1;for(i=1;i<=n;i++)fact=fact*i;printf("%.0f\n", fact);}return 0;}求最大值#include <stdio.h>int main( ){int ri, repeat;int i , max, n, x;scanf("%d", &repeat);for(ri=1; ri<=repeat; ri++){scanf("%d", &n);max=n;for(i=1;i<=n;i++){scanf("%d",&x);if(max<x)max=x;}printf("%d\n", max);}return 0;}求整数的位数以及各位数之和#include <stdio.h>int main( ){int ri, repeat;int number, sum;long in;scanf("%d", &repeat);for(ri=1; ri<=repeat; ri++){number=0;sum=0;scanf("%ld", &in);if(in<0)in=-in;do{sum=sum+in%10;in=in/10;number++;}while(in!=0);printf("number=%d, sum=%d\n", number, sum); }}求a+aa+aaa+aa…a#include <stdio.h>void main(){int ri, repeat;int i, n;long int a, sn, tn;scanf("%d", &repeat);for(ri=1; ri<=repeat; ri++){scanf("%ld%d", &a, &n);sn=a;tn=a;for(i=1;i<=n-1;i++){tn=10*tn+a;sn=sn+tn;}printf("%ld\n",sn);}}求平均值#include <stdio.h>int main(void) {int i, n, sum; int repeat, ri;int a[10];double aver;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d", &n);sum=0;for(i = 0; i < n; i++){scanf("%d", &a[i]);sum=sum+a[i];}aver=sum/(n*1.0);printf("average = %.2f\n", aver);}}交换最小值和最大值#include <stdio.h>int main(void){int i, index, n, t;int repeat, ri;int a[10];scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d", &n);for(i = 0; i < n; i++)scanf("%d", &a[i]);index=0;for(i=0;i<n;i++)if(a[i]<a[index])index=i;t=a[0];a[0]=a[index];a[index]=t;for(i=0;i<n;i++)if(a[i]>a[index])index=i;t=a[n-1];a[n-1]=a[index];a[index]=t;printf("After swap: ");for(i = 0; i < n; i++)printf("%d ", a[i]);printf("\n");}}将数组中的数逆序存放#include <stdio.h>int main(void){int i, n, temp;int repeat, ri;int a[10];scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){ scanf("%d", &n);for(i = 0; i < n; i++)scanf("%d", &a[i]);for(i=0;i<n/2;i++){temp=a[i];a[i]=a[n-1-i];a[n-1-i]=temp;}for(i = 0; i < n; i++)printf("%d ", a[i]);printf("\n");}}选择法排序#include <stdio.h>int main(void){int i, index, k, n, temp;int repeat, ri;int a[10];scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d", &n);for(i = 0; i < n; i++)scanf("%d", &a[i]);for(k=0;k<n-1;k++){index=k;for(i=k+1;i<n;i++)if(a[i]>a[index])index=i;temp=a[index];a[index]=a[k];a[k]=temp;}printf("After sorted: ");for(i = 0; i < n; i++)printf("%d ", a[i]);printf("\n");}}调试示例error09_1.cpp#include <stdio.h>int main (void){int i, n;struct emp{char name[10];double jbg;double fdg;double zc;} s[10];scanf("%d", &n);for(i=0;i<n;i++)scanf("%s%lf%lf%lf",s[i].name,&s[i].jbg,&s[i].fdg,&s[i].zc);for (i = 0; i < n; i++)printf ("%5s 实发工资:%7.2f\n", s[i].name, s[i].jbg + s[i].fdg - s[i].zc);return 0;}计算平均成绩#include <stdio.h>int main(void){int i, n;double average, sum=0;struct student{int num;char name[10];int score;}s[10];scanf("%d", &n);for(i=1;i<=n;i++){scanf("%d%s%d",&s[i].num,s[i].name,&s[i].score); sum=sum+s[i].score;}average=sum/n;printf("average: %.2f\n", average);}查找书籍#include <stdio.h>int main (void){int i, max_index, min_index, n;double x;struct book{char name[50];double price;}book[10];scanf("%d", &n);getchar();for(i = 0; i < n; i++){gets(book[i].name);scanf("%lf", &x);getchar();book[i].price = x;}min_index=0;for(i=0;i<n;i++){if(book[i].price<book[min_index].price){min_index=i;}}max_index=0;for(i=0;i<n;i++){if(book[i].price>book[max_index].price){max_index=i;}}printf("highest price: %.1f, %s\n", book[max_index].price, book[max_index].name);printf("lowest price: %.1f, %s\n", book[min_index].price,book[min_index].name);return 0;}找出总分最高的学生(改错题error09_2)#include <stdio.h>int main (void){int i, j, k, max_index, n;struct student{int number;char name[20];int score[3];int sum;}stu[10];scanf("%d", &n);/*---------*/for(i=0;i<n;i++){scanf("%d",&stu[i].number);scanf("%s",stu[i].name);scanf("%d",&stu[i].score[0]);scanf("%d",&stu[i].score[1]);scanf("%d",&stu[i].score[2]);stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]; }max_index=0;for(i=0;i<n;i++){if(stu[i].sum>stu[max_index].sum)max_index=i;}printf("总分最高的学生是: %s,%d分", stu[max_index].name,stu[max_index].sum);}计算两个复数之积#include <stdio.h>int main(void){struct complex{int real;int imag;}product, x, y;scanf("%d%d%d%d", &x.real, &x.imag, &y.real, &y.imag);product.real=x.real*y.real-x.imag*y.imag;product.imag=x.real*y.imag+y.real*x.imag;printf("(%d+%di) * (%d+%di) = %d + %di\n", x.real, x.imag, y.real, y.imag, product.real, product.imag);return 0;}#include<stdio.h>Int main(void){Printf(“Hello World!\n”);Return 0;}1~100 间所有偶数的和#include<stdio.h>Int main(void){Int i, sum=0;For(i=1; i<=100; i++)If(i%2==0)Sum=sum+i;Printf(“%d”,sum);Return 0;}求分段函数#include<stdio.h>Int main(void){Double x,y;Printf(“Enter x (x>=0):\n”);Scanf(“%lf”,&x);if(x<=15)Y=4*x/3;ElseY=2.5*x-10.5;Printf(“f(%f)=%.2f\n”,x,y);Return 0;}求1+2+......+n#include<stdio.h>Int main(void){Int i, sum, n;Printf(“Enter n:”);Scanf(“%d”,&n);Sum=0;For(i=1;i<=n;i++)Sum=sum+i;Printf(“sum=%d\n”,sum);Return 0;}求1-1/3+1/5-1/7+...共n项之和#include<stdio.h>Int main(void){Int denominator, flag, i, n;Double item, sum;Printf(“Enter n:”);Scanf(“%d”,&n);Flag=1;Denominator=1;Sum=0;For(i=1;i<=n;i++){Item=flag*1.0/denominator;Sum=sum+item;Flag=-flag;Denominator=denominator+2; }Printf(“sum=%f\n”, sum);Return 0;}统计学生的成绩从键盘输入一批学生的成绩,计算平均成绩,并统计不及格学生的人数统计一个整数的位数判断素数求最小值及其下标判断回文统计数字字符个数输入5个字符串,输出其中最小字符串将数组元素逆序存放输入n个学生的成绩信息,计算并输出每个学生的个人平均成绩。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(num%2==0) count++; } printf("%d\n", count); } (1) 若在程序运行时输入: 5<回车> 8<回车> 6<回车> 9<回车> 4<回车> 7<回车> 运行结果是:3
(2) 简述程序的主要功能:
统计输入的数字中偶数的个数
4. 请阅读下面的程序,并回答下列问题 #include <stdio.h> int main(void) { charch; int i; for(i=1;i<=5;i++) { ch=getchar(); if(ch>='a'&&ch<='y') ch=ch+1; else if(ch=='z') ch='a'; putchar(ch);
a[i-1]=x[i]+ x[i-1] ; for (i=0;i<9;i++)
printf(“%d”,a[i]);
}练习 5 字符数组
1. 该程序的功能是:将字符数组 a 中下标值为偶数的元素从小到大排列,其它
元素不变。
#include <stdio.h>
#include <string.h>
int main( void)
puts(a);
return 0;
}
2
#include <stdio.h> void main() {
char s[80]; int i=0; gets(s); while(s[i]!='\0') {
for(i=1;i<10;i++)
{
sum=sum+a[i];
if(a[i]>max) max=a[i];
if(a[i]<min) min=a[i];
}
printf("max=%d,min=%d,sum=%d\n",max,min,sum);
} (1) 若在程序运行时输入:
3 1 4 7 10 8 9 2 6 5 <回车> 程序的输出结果是:
scanf("%d",&a[i]); count=count+prime(a[i]); } printf("count= %d ",count); } (1) 若在程序运行时输入: 1 2 3 4 5 6 7 8 9 10 <回车> 程序的运行结果为:
4
(2) 简述 prime 函数的主要功能: 判断是否是素数,是素数输出 1,不是输出 0
ch = getchar(); if((ch>= 'a' &&ch<= 'z' ) || ( ch>= 'A' &&ch<= 'Z'))
letter ++; else if(ch>= '0' &&ch<= '9') digit ++; else
other ++; }while(ch!='\n'); printf("letter=%d, digit=%d, other=%d\n", letter, digit, other); } (1) 若在程序运行时输入 Today_is_2013/12/28<回车>
练习 1 分支
1. 若从键盘输入 58,则以下程序段的输出结果是(58 58 58): int main(void) { int a; scanf(“%d”,&a); if (a>50) printf(“%d”,a); if(a>40) printf(“%d”,a); if(a>30) printf(“%d”,a); return 0; }
} for (i=0; i<NUM; i++) {
if (i%3==0) printf("\n"); printf("%6d", fib[i]);
} } (1) 程序的运行结果是: 011 2 3 5(默认 num 等于 6 了)
(2) 简述程序的主要功能:
按后一项等于前两项和的计算方法输出前 6 项,并每隔三个数字换行一次
} return 0; } (1) 若在程序运行时输入 size5<回车>,输出结果是: tjaf5
(2) 简述程序的主要功能: 对字符加密,a 到 y 的向后推一位,z 变成 a,其他不变。
二、填空题
1. 下面程序的功能是计算 100~1000 之间有多少个数其各位数字之和是 5. #include <stdio.h> void main() { inti,s,k,count=0; for(i=100; i<=1000;i++) { s=0;k=i; while(_____k!=0___________) { s=s+k%10; k=____k/10____________; } if(s==5) count++; }
return 0;
}
如果输入 4,则输出
2
如果输入 5,则输出
3
找到合适的插入位置
4.
#include <stdio.h>
void main(void)
{
int a[10],max,min,i,sum;
for(i=0;i<10;i++)
scanf(“%d”,&a[i]);
max=min=sum=a[0];
printf("Enter n: "); scanf ("%d", &n); printf ( "sum = %d\n", fun(n)); return 0; } 假设输入 6<回车>,运行结果是:
36
2. #include <stdio.h> int fun( int m, int n ) ; int main( ) {
printf(“请输入一个数:\n”);
scanf(“%lf”,&a);
printamp;n);
Pow=mypow(a,n)
;
printf(“%.2lf 的%d 次方为:%.2lf”,a, n, pow);
}
double mypow(double x,int y)
56
3.
#include<stdio.h>
int main(void)
{
float s[6]={1,3,5,7,9};
float x;
int i;
scanf(“%f”,&x);
for(i=4;i>=0;i--)
if(s[i]>x) s[i+1]=s[i];
else break;
printf(“%d\n”,i+1);
{ char a[ ]="natural", t;
int i, j, k;
k=strlen(a); //strlen()函数用来求数组的长度
for( i=0; i<k-2; i=i+2 )
for(j=i+2;j<=k; j=j+2
)
if( a[i]<a[j]
)
{ t=a[i];
a[i]=a[j];
a[j]=t; }
2.
#include <stdio.h> int main( void) { int a[8]={ 11,12,13,14,15,16,17,18 };
int i=0, sum=0; while( i<=7 ){
if( a[i]%2==1 ) sum=sum+a[i];
i++; } printf("%d\n",sum); return 0; } 程序的功能是: 计算数列中奇数的和 输出结果是:
________ k=3,m=6____________。 2. 请阅读下面的程序,并回答下列问题 #include <stdio.h> int main() {
int digit=0,letter=0, other=0; charch; printf("Enter a line text:"); do {
2. 下列程序运行的输出结果是(9):没有遇到 break 语句,继续执行到 switch 语句结束
int main(void) {
char c=’b’; int k=4; switch(c) {
case ‘a’: k=k+1; break; case ‘b’: k=k+2; case ‘c’: k=k+3; } printf(“%d\n”,k); return 0; }
7
(2) fun 函数的功能:
比较数字大小并输出较大的数
二. 程序填空
1. 下面程序的功能是求 a 的 n 次方。其中自定义 mypow 函数计算 x 的 y 次方。
#include <stdio.h>
void main()
{
double a,pow;
int n;
double mypow(double x,int y);
练习 3 函数
一 . 阅读程序