当前位置:文档之家› 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.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。

用输入0来结束输入,用i,j来放统计数。

#include<stdio.h>main(){ n,i=0,j=0; intprintf(“input a integer,0 for end\n”);scanf(“%d”,&n);while() n!=0{ if(n>0) i= ; i+1if(n<0) j= ; j+1; } scanf("%d",&n);printf(“i=%4d,j=%4d\n”,i,j);}5.下面程序的功能是在a数组中查找与x值相同的元素所在位置。

数据从a[1]元素开始存放。

#include<stdio.h>main(){ int a[11],i,x;printf("input 10 integers:");for(i=1;i<=10;i++)scanf("%d", ); &a[i]printf("input the number you want to find x:");scanf("%d",&x);a[0]=x;i=10;while(x!= ) a[i]; i--;if( ) x==a[i]printf("the pos of x is %d\n",i);elseprintf("can not find x!\n");}1.程序的功能是在a数组中查找与x值相同的元素所在位置。

#include <stdio.h>main(){ int a[10],i,x;printf(“input 10 integers:”);for(i=0;i<10;i++) scanf(“%d”,&a[i]);printf(“input the number you want to find x:”);scanf(“%d”,&x);for (i=0;i<10;i++)if(a[i]==x); break;if( )printf(“the pos of x is:%d\n”,i+1); a[i]==x else printf(“can not find x!\n”);}6.下面程序的功能是将一个字符串str的内容颠倒过来。

#include “string.h”main(){ int i,j, ;char str[]={“1234567”};for(i=0,j=strlen(str)-1; ;i++,j--) i<=strlen(str)/2 { k=str[i]; ; str[j]=k;} str[i]=str[j]; printf("\n%s",str);}7. 下面函数实现strlen函数的功能,即计算指针p所指向的字符串中的实际字符个数。

#include <string.h>unsigned int MyStrlen(char *p){ int len;len = 0;for (; *p != ‘\0’ ; p++){; len++;}return len ;}main(){ char str[]={"12345678"};printf("\n%d",MyStrlen(str));}8.下面是判断一个数是否为素数的函数#include <stdio.h>#include <math.h>int IsPrimeNumber( ) int number{ int i;if (number <= 1)return 0 ;for (i=2; i<sqrt(number); i++){if (( ) == 0) number%i return 0;}return 1;}main(){ int n;scanf("%d",&n);if(IsPrimeNumber(n))printf("%d is a prime number",n);elseprintf("%d is not a prime number",n);}9.编程计算1+3+5+。

+101的值#include <stdio.h>main(){ int i, sum = 0;for (i = 1; ; ) i<=101; i=i+2 sum = sum + i;printf("sum=%d\n", sum);}12.编程计算1+3+5…+99的值main(){ int i, sum = 0;i=1;while ( ) i<=99;{ sum = sum + i;; } i=i+2;printf("sum=%d\n", sum);}10.输入一个学生的成绩(在0~100分之间),进行五级评分并显示。

main ( ){int score;scanf ("%d",&score);if (score>=0&& score<=100)switch (__________________) score/10 {case 10:case 9: printf (" Excellent \ n");break;case 8: printf ("Good \n");break;case 7: printf ("Middle \n"); break;case 6: printf ("Pass \n"); ________; break;default: printf ("No pass \n"); }}14.用指针作函数参数,对输入的两个整数按大小顺序输出。

void swap(int *p1,int *p2){ int p;p= ; *p1= ; *p1 *p2= p; *p2}main(){ int a,b;scanf("%d,%d",&a,&b);if(a<b) swap( ); &a,&bprintf("\n%d,%d\n",a,b);}15.从键盘输入一个字符,判断它是否是英文字母。

#include <stdio.h>void main(){char c;printf("input a character:");c=getchar();if(c>= &&c<= || c>=‘a’ &&c<= ‘z’) ‘A’‘Z’printf("Yes\n");elseprintf("No");}*16. 以下使用数组来处理打印斐波那契数列的前20项的程序。

打印时,每行打印10个数字。

斐波那契数列的格式为:当n=0时,f[0]=0,当n=1时,f[1]=1,当n>1时,f[n]=f[n-1]+f[n-2]#include “stdio.h”main( ){ int fbn[20];int line=0, j ;fbnq[0]=0;fbnq[1]=1;for(j= ; j<20; j++) 2; fbnq[j]=fbnq[j-1]+fbnq[j-2] ;for(j=0; j<20; j++){ printf(“%d”,fbnq[j]);line++;if(line==10){ line=0;printf(“\n”);}}*18.下面的函数是一个求阶乘的递归调用函数。

相关主题