全真c语言程序填空题考试题库!!!
C语言填空测试题及答案
C语言填空测试题及答案1. 在C语言中,用于定义一个整型变量的关键字是______。
答案:int2. 以下哪个选项是C语言中的合法常量?A. 0x1AB. 1.23e-10C. 1.2.3D. 0b101答案:A3. 以下哪个运算符用于将一个浮点数转换为整数?A. %B. /C. +D. (int)答案:D4. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcmp()C. strcpy()D. strlen()答案:C5. 若有以下代码段:```cint a = 10, b = 20;void swap(int *x, int *y) {int temp = *x;*x = *y;*y = temp;}```调用 `swap(&a, &b);` 后,变量 `a` 和 `b` 的值分别是 ______ 和 ______。
答案:20 和 106. 以下哪个选项是C语言中的合法字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "HelloD. "Hello"答案:A7. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. charC. voidD. int答案:C8. 以下哪个选项表示C语言中的逻辑与运算?A. &&B. ||C. !D. =答案:A9. 以下哪个函数用于计算一个字符串的长度?A. strcat()B. strcmp()C. strcpy()D. strlen()答案:D10. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A。
c语言程序填空题库
━━━━━━━━━━━━━━━━━━一、程序填空共130题━━━━━━━━━━━━━━━━━━第1题(9.0分)题号:441/*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。
-------------------------------------------------------*/#include <conio.h>#include <stdio.h>void fun (long s, long *t){long sl=10;s /= 10;/***********SPACE***********/*t = s 【?】10;while(s>0){/***********SPACE***********/s = 【?】;/***********SPACE***********/*t = s%10*sl【?】;/***********SPACE***********/sl = sl 【?】10;}}main(){ long s, t;clrscr();printf("\nPlease enter s:"); scanf("%ld", &s); fun(s, &t);printf("The result is: %ld\n", t); }答案:1). %2). s/1003). + *t4). *第2题(9.0分)题号:439/*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:1982年我国第三次人口普查,结果全国人口为10.3亿,假如人口增长率为5%。
c语言程序填空练习题
C语言程序填空题1.阅读以下程序并填空。
以下程序的功能是:输出三位正整数中能被13整除的数#include <stdio.h>main(){ int n;for( n=100 ; n<=999 ;n++) if(n%13!=0) continue ; else printf("%d\n",n);} 2.阅读以下程序并填空。
以下程序的功能是:输出100以内能被3整除且个位数为6的所有整数 #include <stdio.h>main(){ int i,j;for(i=0; i<=9 ;i++){ j= i*10+6 ;if(j%3!=0) continue;else printf("%d\n",j);} }3.阅读以下程序并填空。
以下的程序功能是:求101至999之间所有能被13整除的整数之和和个数 #include <stdio.h>main(){ int i,cnt;float sum=0;i=101; cnt=0;while( i<=999 ){ if( i%13==0 ){ sum+=i; cnt++; } i++ ; )printf("sum=%f,cnt=%d\n”,sum,cnt);}4.阅读以下程序并填空。
该程序的功能是:用递归的方法求菲波那契数列2,2,4,6,10,16, 26,42,68,110,……的第10项 #include <stdio.h>long fib(int n){ if(n>= 3 )return fib(n-1)+fib(n-2);elsereturn 2 ; }main(){ printf("%ld\n”,fib(10)); }5.阅读以下程序并填空。
该程序的功能是:用递归法求:1 + 2 + 3 + + n#include <stdio.h> long Sum(int n) { if(n> 1 )return n+Sum(n-1); else return 1 ;)6.阅读以下程序并填空。
(完整版)c语言填空题题库
二,填空题(10道小题,共20分)1、一个C源程序中至少应包含一个[main] 函数。
2、a是整型变量,则执行表达式a=25/3%3后a的值为。
[2]3、int m=5,y=2;则表达式y+=y- =m*=y的值为。
[-16]4、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %d \n", a,b );的输出结果分别是[2,1]5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型6、当运行以下程序时,从键盘键入right?<CR>(<CR>代表回车),则下面程序的运行结果是。
#include<stdio.h>main( ){ char c;while((c=getchar())! ='?') putchar(++c)}[sjhiu?]7、C语言中的数组必须先[定义],然后使用。
8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。
9、已知:float f1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为。
[3.2]10、以下程序void fun(char *a, char *b){ a=b; (*a)++; }main (){ char c1="A", c2="a", *p1, *p2;p1=&c1; p2=&c2; fun(p1,p2);printf(“&c&c\n”,c1,c2);}运行后的输出结果是。
[&c&c]11、字符串常量“123”在内存中的字节数是。
[8字节]12、已有定义 :int x=3 ;则表达式 :x=x+1.78 的值是。
【4】13、int a=24; printf("%o ", a );输出结果是。
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#include <stdio.h>int main() {int year;printf("请输入一个年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {printf("%d 是闰年。
\n", year);} else {printf("%d 不是闰年。
\n", year);}return 0;}```题目三:求最大公约数```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#include <stdio.h>#include <string.h>void reverse(char str[]) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);reverse(str);printf("反转后的字符串是:%s\n", str);return 0;}```题目五:计算阶乘```c#include <stdio.h>int factorial(int n) {if (n <= 1) {return 1;} else {return n * factorial(n - 1);}}int main() {int num;printf("请输入一个正整数:");scanf("%d", &num);printf("%d 的阶乘是:%d\n", num, factorial(num));return 0;}```以上题目涵盖了C语言中的一些基础概念,如循环、条件判断、函数定义和数组操作。
(完整版)全真c语言程序填空题考试题库
c语言程序填空!!!这就是考试题库!!!共计131道试题一、程序填空(共131题)Turbo C(共131试题)3)./*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:已定义一个含有30个元素的数组s,函数fun1的功能是按顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序每五个元素求一个平均值, 并将该值存放在数组w中。
-------------------------------------------------------*/float s[30],w[6];fun1(float s[]){int k,i;for(k=2,i=0;i<30;i++){/***********SPACE***********/________________ ;k+=2;}}fun2(float s[],float w[]){float sum=0.0;int k,i;for(k=0,i=0;i<30;i++){sum+=s[i];/***********SPACE***********/________________;{w[k]=sum/5;/***********SPACE***********/________________ ;k++;}}}main(){int i; fun1(s);/***********SPACE***********/________________;for(i=0;i<30;i++){if(i%5==0) printf("\n");printf("%8.2f",s[i]);}printf("\n");for(i=0;i<6;i++)printf("%8.2f",w[i]);}答案:【1】s[i]=k 或s[i]=(i+1)*2【2】if( ( i + 1 )%5 == 0 )或if( ( i + 1 )/5*5 ==i+1)【3】sum=0 或sum=0.0【4】fun2(s,w)4)./*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:下面的程序是求1!+3!+5!+……+n!的和。
c语言期末考试填空题题库及详解答案
c语言期末考试填空题题库及详解答案1. C语言是一种______语言,它支持______和______两种编程范式。
答案:高级,过程式,面向对象2. 在C语言中,变量的声明必须在程序的______部分进行。
答案:开始3. C语言标准库中,用于输入输出的头文件分别是______和______。
答案:<stdio.h>,<stdlib.h>4. 一个C语言程序的执行从______函数开始,到______函数结束。
答案:main,main5. C语言中,字符常量可以用单引号括起来,例如'A'表示______。
答案:字符A6. 在C语言中,整数类型int的范围是______到______。
答案:-32767,32767(在16位系统中)7. 表达式 (a > b) ? (a) : (b) 是一个______表达式,用于返回a 和b中的______值。
答案:三元,较大8. C语言中,数组的索引从______开始。
答案:09. 函数声明必须在函数定义之前,或者在______中声明。
答案:头文件10. C语言中,指针是一种变量,它存储了另一个变量的______。
答案:内存地址11. 字符串在C语言中以______字符结尾。
答案:'\0'12. 在C语言中,使用______关键字可以定义一个函数。
答案:void 或其他数据类型13. C语言中,结构体是一种______数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。
答案:复合14. 动态内存分配使用的函数是______,______和______。
答案:malloc,calloc,realloc15. C语言中,______关键字用于定义一个全局变量。
答案:extern16. 在C语言中,______运算符用于计算两个数的乘积。
答案:*17. 函数的参数可以是______、______或______。
(完整版)C语言考试题库及答案
(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
c语言填空试题库及答案
c语言填空试题库及答案1. 在C语言中,用于定义变量的关键字是______。
答案:int2. 下列哪个选项是C语言中合法的字符串常量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"D. "Hello, World!"答案:A3. 在C语言中,用于定义一个函数的关键字是______。
答案:void4. 下列哪个选项是C语言中的逻辑运算符?A. %B. ||C. &&D. ==答案:C5. 在C语言中,用于声明一个指针变量的语法是______。
答案:int *p;6. 下列哪个选项是C语言中正确的循环结构?A. forB. whileC. do-whileD. All of the above答案:D7. 在C语言中,用于定义一个结构体的关键字是______。
答案:struct8. 下列哪个选项是C语言中用于文件操作的函数?A. printf()B. scanf()C. fopen()D. fclose()答案:C9. 在C语言中,用于定义一个枚举类型的关键字是______。
答案:enum10. 下列哪个选项是C语言中用于动态内存分配的函数?A. malloc()B. free()C. Both A and BD. None of the above答案:C11. 在C语言中,用于定义一个联合体的关键字是______。
答案:union12. 下列哪个选项是C语言中用于输入输出的库?A. math.hB. stdio.hC. string.hD. time.h答案:B13. 在C语言中,用于定义一个宏的预处理命令是______。
答案:#define14. 下列哪个选项是C语言中用于数组的声明?A. int arr[10];B. int *arr;C. int arr[];D. All of the above答案:D15. 在C语言中,用于定义一个二维数组的语法是______。
C语言考试填空题(全部答案)
计算机程序设计基础(C语言)程序填空练习题程序填空:阅读程序。
在划线处填写适当的表达式或语句,使程序完整并符合题目要求1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。
main( ) 参考答案:{ char ch;ch=getchar();if( ) ch>='a'&&ch<='z'|| ch>='A'&&ch<='Z' printf("It is an English character\n");else if( ) ch>='0'&&ch<='9'printf("It is a digit character\n");else if( ) ch==' 'printf("It is a space character\n");elseprintf("It is other character\n"); }2.10个学生成绩按交换法排序。
main(){ float score[10], temp1;int i, j;printf("Please enter score:\n");for (i=0; i<10; i++)scanf("%f",&score[i]);for (i=0; i<9; i++)for (j=i+1; j<10; j++)if (score[j] > score[i]){ temp1=score[j];score[j]=score[i];score[i]=temp1;}printf("Sorted results:\n");for (i=0; i<10; i++)printf("%4.0f\n", score[i]); }11.排序函数:用交换法按成绩由高到低对学生成绩重新排序void Sort(float score[ ],int n){ int i, j;float temp1;for (i=0; i<n-1; i++){ for (j=i+1; j<n; j++)if ( ) score[j] > score[i]{ temp1 = score[j];; score[j]=score[i];score[i] = temp1;}}}自定义一函数求n!, 编写程序输入n,输出n!.#include<stdio.h>long jc(int n){ int i=1;long p=1;while (i <= n){ p=p*i;i++; }} return p;main(){ int n;printf("Please enter n:");scanf("%d", &n);printf("%d! = %ld\n", n, ); jc(n)}4.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。
(完整版)C语言考试题库及答案
(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
C语言程序填空题加答案
5、 若a和b都是int型变量,函数scanf("%3d%2d",&a,&b) 对应的键盘输入数据是:2618223<回车> 则该函数执行后,变量b的值等于【 82 】. 6、 若c是char型变量,c的初值为-1,则函数printf("%u",c) 的输出结果为【 65535 】. 假设int型数据占2个字节. 7、 若有如下输入函数:scanf("%d%d%d",&a,&b,&c); 则可以使用空格、【 换行符 或 \n 或 回车换行符 或 回车 或 回车】 符 或制表符 作为输入数据的间隔符。 8、 C语言的输入输出功能通过调用库【 函数 】实 现. 9、 表达式 'A' - 'D' 的值等于【 -3 】.
20、 在for(表达式1;表达式2;表达式3) 语句中 表达式1执行了【 1 】次. 21、 执行以下程序后,输出'$'号的个数是【 6 】. main() { int i,j; for(i=1; i<5; i++) for(j=2; j<=i; j++) putchar('$'); } 22、 执行下列程序段后,s的值是【 15 】. int k, s; for(k=s=0; k<10&&s<=10; s+=k)k++; 23、 用while和do-while循环时,循环变量初始化的操作 应在while和do-while语句之【 前 】完成.
33、 (!x)==(x!=0)的值为【 0 】. 34、 对应scanf("a=%d,b=%d",&a,&b);语句的输入a为 a=3,b=7 】. 3,b为7的键盘输入格式是【 35、 当a=0,b=2,c=3时,则表达式a+b>0 && b==c的值 是【 0 】. 36、 设x,y,z均为int型变量;请写出描述"x或y中有一个 小于z"的表达式【 x<z||y<z 】. 37、 当a=0,b=2,c=4时,则表达式c+b>0 && !b==a的值 是【 1 】. 38、 在使用printf()函数时,如果字符串的长度、或整型 数位数超过说明的长宽, 将按其【 实际 】长度输出. 39、 使用格式符%m.nf输出一个实数时,若小数部分位 数超过了说明的小数位宽度n时, 则第n+1位要进行 【 四舍五入 】.
C语言题库(填空题部分)
二、填空题1、C语言中对文件读写之前必须先打开文件,文件的打开是通过调用________函数来实现。
答案: 1:fopen#fopen()#fopen()知识点:知识点/基本理论/C11文件/C11_2文件函数2、C语言中文件操作结束节后,必须关闭文件。
而且关闭文件是通过调用__________函数来实现。
答案: 1:fclose#fclose()#fclose()知识点:知识点/基本理论/C11文件/C11_2文件函数3、字符串函数________用于从指定的磁盘文件中读出一个字符串。
答案: 1:fgets#fgets()知识点:知识点/基本理论/C11文件/C11_2文件函数4、字符串函数___________用于把一个字符串写入指定的磁盘文件中。
答案: 1:fputs#fputs()知识点:知识点/基本理论/C11文件/C11_2文件函数5、字符读写函数____________是用于从磁盘文件中读出一个字符。
答案: 1:fgetc#fgetc()#getc#getc()知识点:知识点/基本理论/C11文件/C11_2文件函数6、字符读写函数____________是用于把一个字符写入磁盘文件。
答案: 1:fputc#fputc()#putc#putc()知识点:知识点/基本理论/C11文件/C11_2文件函数7、共用体类型变量的定义关键字是________。
答案: 1:union知识点:知识点/基本理论/C10共用体与枚举类型8、定义枚举类型时采用的关键字是__________。
答案: 1:enum知识点:知识点/基本理论/C10共用体与枚举类型9、在C语言中,从参数的形式看,函数可以分为两类:无参函数和____________函数。
答案: 1:有参知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T10、在C语言中,函数的返回值是由___________语句传递的。
C语言程序填空题库
程序填空一、程序填空共129题(共计1290分)第1题(10.0分)题号:473/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:输出1到100之间每位数的乘积大于每位数的和的数。
例如:数字26,数位上数字的乘积12大于数字之和8。
-------------------------------------------------------*/ #include <stdio.h>main(){int n,k=1,s=0,m;for(n=1;n<=100;n++){k=1;s=0;/***********SPACE***********/【?】 ;/***********SPACE***********/while( 【?】 ){k*=m%10;s+=m%10;/***********SPACE***********/【?】;}if(k>s)printf("%d ",n);}}答案:=======(答案1)=======m=n=======(答案2)=======m>00<m=======(答案3)=======m=m/10=========或=========m/=10第2题(10.0分)题号:447/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:已知一个数列,它的头两项分别是0和1,从第三项开始以后的每项都是其前两项之和。
编程打印此数,直到某项的值超过200为止。
C语言程序填空题及答案
C语言程序填空题及答案(总4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--程序填空题1、#include <>void main(){ int n,k=0;scanf("%d",&n);while( _____1_____ )ame,st[i].math,st[i ].english,st[i]puter,st[i].average);}}10、#include <>#include <>long f(long n){ long m,y=0; m=fabs(n);while(m!=0) {y=y*10+m%10;____1____ // m=m/10;}if(n>=0) return y;else _____2_____ // return ( -y);}void main(){printf("%ld\t",f(12345)); printf("%ld\n",f(-34567));}11、#include <>float f(float,float*,int);void main(){ float b[5]={,,,,};printf("%f\n",f,b,5));}float f( _______1________ ) // float x,float a[ ], int n{ float y=a[0],t=1; int i;for(i=1;i<n;i++) { t=t*x; y=y+a[i]*t; }_____2_____ // return y}12、#include <>#include <>#include <>void f(char *s){ int i=0;while(s[i]!='\0'){if(isdigit(s[i])) ____1____(s+i,s+i+1); // strcpy___2___ i++;} // else}void main(){ char str[80];gets(str); f(str); puts(str);}13、#include <>#include <>void main(){ char a[80]; int n[3]={0},i; gets(a);________1________ //for(i=0;a[i]!=’\0’;i++){if (tolower(a[i])>='a' && tolower(a[i])<='z') /*统计字母个数*/n[0]++;else if (________2________) /*统计数字个数*//// a[i]>='0' && a[i]<='9'n[1]++;elsen[2]++;}for(i=0;i<3;i++) printf("%d\n",n[i]);}14、#include <>#include<>void main(){int i,a,b,c;for(i=100;i<=999;i++){a=i/100;_______1_______ // b=i%100/10;c=i%10;if (________2________) //i==a*a*a+b*b*b+c*c*cprintf("%d is a Armstrong number!\n",i);}}15、#include <>void main(){int a[10],b[10],i;printf("\nInput 10 numbers: ");for (i=0; i<10;i++) /* 数组输入 */scanf("%d", &a[i]);for (i=1; i<10; i++)b[i]=______1______; /* 计算b数组中的元素 */ //a[i]+a[i-1]for (i=1; i<10; i++){printf("%3d",b[i]);if (______2______) printf("\n"); /* 每行打印3个数据 */ //i%3==0}}。
c语言程序填空题
c语言程序填空题题目描述:编写一个C语言程序,实现对一个整型数组的排序功能。
请编写一个函数,接受一个整型数组和数组的长度作为参数,将数组按照从小到大的顺序进行排序,并将排序后的数组输出。
要求:1. 使用冒泡排序算法实现数组排序功能。
2. 函数的原型为:void bubbleSort(int arr[], int length)。
3. 参数arr表示待排序的整型数组,length表示数组的长度。
4. 输出排序后的数组。
示例:输入:[5, 3, 8, 2, 1]输出:[1, 2, 3, 5, 8]解题思路:冒泡排序是一种简单直观的排序算法。
它重复地走访过要排序的元素,挨次比较相邻的两个元素,如果它们的顺序错误就交换位置,直到没有需要交换的元素为止。
具体步骤如下:1. 定义一个外层循环,循环次数为数组长度减1,表示需要进行n-1次比较。
2. 在外层循环中,定义一个内层循环,循环次数为数组长度减去当前外层循环的索引,表示每次比较的元素个数递减。
3. 在内层循环中,比较相邻的两个元素,如果顺序错误就交换位置。
4. 重复执行步骤3,直到内层循环结束。
5. 重复执行步骤2和步骤3,直到外层循环结束。
编写代码:```c#include <stdio.h>void bubbleSort(int arr[], int length) {int i, j;for (i = 0; i < length - 1; i++) {for (j = 0; j < length - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}int main() {int arr[] = {5, 3, 8, 2, 1};int length = sizeof(arr) / sizeof(arr[0]);printf("排序前的数组:");for (int i = 0; i < length; i++) {printf("%d ", arr[i]);}printf("\n");bubbleSort(arr, length);printf("排序后的数组:");for (int i = 0; i < length; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```代码解析:1. 在主函数中,定义了一个整型数组arr和数组长度length。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言程序填空!!!这就是考试题库!!!共计131道试题一、程序填空(共131题)Turbo C(共131试题)3)./*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:已定义一个含有30个元素的数组s,函数fun1的功能是按顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序每五个元素求一个平均值, 并将该值存放在数组w中。
-------------------------------------------------------*/float s[30],w[6];fun1(float s[]){int k,i;for(k=2,i=0;i<30;i++){/***********SPACE***********/________________ ;k+=2;}}fun2(float s[],float w[]){float sum=;int k,i;for(k=0,i=0;i<30;i++){sum+=s[i];/***********SPACE***********/________________;{w[k]=sum/5;/***********SPACE***********/________________ ;k++;}}}main(){int i;fun1(s);/***********SPACE***********/________________;for(i=0;i<30;i++){if(i%5==0) printf("\n");printf("%",s[i]);}printf("\n");for(i=0;i<6;i++)printf("%",w[i]);}答案:【1】 s[i]=k 或 s[i]=(i+1)*2【2】 if( ( i + 1 )%5 == 0 )或 if( ( i + 1 )/5*5 ==i+1)【3】 sum=0 或 sum=【4】 fun2(s,w)4)./*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:下面的程序是求1!+3!+5!+……+n!的和。
-------------------------------------------------------*/main(){long int f,s;int i,j,n;/***********SPACE***********/________________;scanf("%d",&n);/***********SPACE***********/for(i=1;i<=n; ________________){f=1;/***********SPACE***********/for(j=1; ________________;j++)/***********SPACE***********/________________;s=s+f;}printf("n=%d,s=%ld\n",n,s);}答案:【1】 s=0【2】 i+=2 或 i=i+2 或 i++,i++【3】 j<=i 或 i>=j 或 j<i+1 或 i+1>j【4】 f= f * j5)./*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:将一个字符串中下标为m的字符开始的全部字符复制成为另一个字符串。
-------------------------------------------------------*/#include<>void strcopy(char *str1,char *str2,int m){char *p1,*p2;/***********SPACE***********/________________;p2=str2;while(*p1)/***********SPACE***********/________________;/***********SPACE***********/________________;}main(){int i,m;char str1[80],str2[80];gets(str1);scanf("%d",&m);/***********SPACE***********/________________;puts(str1);puts(str2);}答案:【1】 p1= str1 + m【2】*p2++=*p1++ 或*(p2++)=*(p1++) 或 *p2=*p1,p2++,p1++ 或 *p2=*p1++,p2++ 或 *p2++=*p1,p1++【3】 *p2='\0' 或 *p2=0 或 *p2=NULL 【4】 strcopy(str1,str2,m)6)./*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:以下程序是用选择法对10个整数按升序排序。
-------------------------------------------------------*//***********SPACE***********/________________main(){int i,j,k,t,a[N];for(i=0;i<=N-1;i++)scanf("%d",&a[i]);for(i=0;i<N-1;i++){/***********SPACE***********/________________;/***********SPACE***********/for(j=i+1;________________;j++)if(a[j]<a[k]) k=j;/***********SPACE***********/if(________________){t=a[i];a[i]=a[k];a[k]=t;}}printf("output the sorted array:\n");for(i=0;i<=N-1;i++)printf("%5d",a[i]);printf("\n");}答案:【1】 #define N 10【2】 k=i【3】 j<N 或 N>j 或 j<=N-1 或 N-1>=j【4】 k != i7)./*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:从键盘上输入一个字符串, 将该字符串升序排列后输出到文件中,然后从该文件读出字符串并显示出来。
-------------------------------------------------------*/#include<>#include<>#include<>main(){FILE *fp;char t,str[100],str1[100]; int n,i,j;if((fp=fopen("","w"))==NULL){printf("can't open this file.\n");exit(0);}printf("input a string:\n"); gets(str); /***********SPACE***********/________________;/***********SPACE***********/for(i=0; ________________ ;i++)for(j=0;j<n-i-1;j++)/***********SPACE***********/if(________________){t=str[j];str[j]=str[j+1];str[j+1]=t;}/***********SPACE***********/________________;fclose(fp);fp=fopen("","r");fgets(str1,100,fp);printf("%s\n",str1);fclose(fp);}答案:【1】n=strlen(str) 或for(n=0;str[n]!='\0';n++) 或for(n=0;str[n];n++) 或for(n=0;str[n]!=0;n++)【2】 i<n 或 n>i 或 i<-1+n 或 i<n-1 或n-1>i 或 -1+n>i 或 i<=n-1 或 n-1>=i 或-1+n>=i【3】 str[j]>str[ j + 1 ] 或 str[ j + 1 ]<str[j] 或str[j+1]<str[j] 或str[j+1]<=str[j]【4】fputs(str,fp) 或fprintf(fp,"%s\n",str) 或fprintf(fp,"%s",str)8)./*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。