C语言期末考试操作题库.docx
- 文档编号:9409622
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:68
- 大小:32.46KB
C语言期末考试操作题库.docx
《C语言期末考试操作题库.docx》由会员分享,可在线阅读,更多相关《C语言期末考试操作题库.docx(68页珍藏版)》请在冰点文库上搜索。
C语言期末考试操作题库
2014年榆林学院C语言考试操作题库
【程序设计】
--------------------------------------------------
功能:
求一个四位数的各位数字的立方和。
-----------------------------------------------*/
#include
voidwwjt();
intfun(intn)
{
/**********Program**********/
intd,s=0;
while(n>0)
{
d=n%10;
s+=d*d*d;
n/=10;
}
returns;
/**********End**********/
}/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
输入10个数,要求输出这10个数的平均值
------------------------------------------------------*/
#include
doubleaverage(doublearray[10])
{
inti;
doubleaver,sum=array[0];
/***********FOUND***********/
for(i=1;i<10;i++)
sum=sum+array[i];
aver=sum/10.0;
return(aver);
}
main()
{
/***********FOUND***********/
floatscore[10],aver;
inti;
printf("input10scores:
\n");
for(i=0;i<10;i++)
/***********FOUND***********/
scanf("%f",score+i);
printf("\n");
/***********FOUND***********/
aver=average(score);
printf("averagescoreis%5.2f",aver);
}/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
企业发放的奖金根据利润提成。
利润(i)低于或等于10万元
时,奖金可提10%;利润高于10万元,低于20万元时,低于
10万元的部分按10%提成,高于10万元的部分,可可提成7.5%
-------------------------------------------------------*/
#include
main()
{
inti;
doublebonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld",&i);
bonus1=100000*0.1;bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0.5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0.15;
if(i<=100000)
bonus=i*0.1;
/***********SPACE***********/
elseif(i<=200000)
bonus=bonus1+(i-100000)*0.075;
/***********SPACE***********/
elseif(i<=600000)
bonus=bonus2+(i-200000)*0.05;
/***********SPACE***********/
elseif(i<=1000000)
bonus=bonus4+(i-400000)*0.03;
elseif(i<=1000000)
bonus=bonus6+(i-600000)*0.015;
else
bonus=bonus10+(i-1000000)*0.01;
/***********SPACE***********/
printf("bonus=%f",bonus);
}*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
能计算从1开始到n的自然数的和,n由键盘输入,
并在main()函数中输出。
------------------------------------------------*/
#include
voidwwjt();
intfun(intn)
{
/**********Program**********/
intsum,i;
sum=0;
if(i=1;i<=n;i++)
{
sum=sum+i;
}
returnsum;
/**********End**********/
}/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
给定n个实数,输出平均值,并统计在平均值以下(含平
均值)的实数个数。
例如:
n=6时,输入23.5,45.67,12.1,6.4,58.9,98.4所得
平均值为40.828335,在平均值以下的实数个数应为3。
------------------------------------------------------*/
#include
intfun(doublex[],intn)
{
intj,c=0;
/**********FOUND**********/
floatxa=0;
/**********FOUND**********/
for(j=0;j xa+=x[j]; xa=xa/n; printf("ave=%f\n",xa); /**********FOUND**********/ for(j=0;j if(x[j]<=xa)c++; /**********FOUND**********/ returnc; } main() { doublex[]={23.5,45.67,12.1,6.4,58.9,98.4}; printf("%d\n",fun(x,6)); }/*------------------------------------------------------- 给定程序中,函数fun的功能是: 在形参ss所指字符串数组中,将所有串长超过k的字符串中 右边的字符删除,只保留左边的k个字符。 ss所指字符串数组中共有N个字符串, 且串长小于M。 请在程序中填入正确的内容并使程序得出正确的结果。 不得增行或删行,也不得更改程序的结构! 给定源程序: -------------------------------------------------------*/ #include #include #defineN5 #defineM10 /***********SPACE***********/ voidfun(char(*ss)[M],intk) {inti=0; /***********SPACE***********/ while(i /***********SPACE***********/ ss[i][k]=‘\0’;i++;} } main() {charx[N][M]={"Create","Modify","Sort","skip","Delete"}; inti; printf("\nTheoriginalstring\n\n"); for(i=0;i fun(x,4); printf("\nThestringafterdeleted: \n\n"); for(i=0;i } *------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 对任意输入的x,用下式计算并输出y的值。 5x<10 y=0x=10 -5x>10 ------------------------------------------------*/ #include voidwwjt(); intfun(intn) { /**********Program**********/ intm; if(m>=10) if(n>10) m=-5; elsem=0; elsem=5; returnm; /**********End**********/ }/*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 将s所指字符串中的字母转换为按字母序列的后续字母(但 Z转换为A,z转换为a),其它字符不变。 ------------------------------------------------------*/ #include #include #include voidfun(char*s) { /***********FOUND***********/ while(*s! ='\0') { if(*s>='A'&&*s<='Z'||*s>='a'&&*s<='z') { if(*s=='Z') *s='A'; elseif(*s=='z') *s='a'; else /***********FOUND***********/ *s+=1; } /***********FOUND***********/ s++; } } main() { chars[80]; printf("\nEnterastringwithlength<80.: \n\n"); gets(s); printf("\nThestring: \n\n"); puts(s); fun(s); printf("\n\nTheCords: \n\n"); puts(s); }/*------------------------------------------------------- 给定程序中,函数fun的功能是: 将形参n所指变量中,各位上为偶数的数去除, 剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。 例如,输入一个数: 27638496,新的数: 为739。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 不得增行或删行,也不得更改程序的结构! 给定源程序: -------------------------------------------------------*/ #include voidfun(unsignedlong*n) {unsignedlongx=0,i;intt; i=1; while(*n) /***********SPACE***********/ {t=*n%10; /***********SPACE***********/ if(t%2! =0) {x=x+t*i;i=i*10;} *n=*n/10; } /***********SPACE***********/ *n=x; } main() {unsignedlongn=-1; while(n>99999999||n<0) {printf("Pleaseinput(0 ");scanf("%ld",&n);} fun(&n); printf("\nTheresultis: %ld\n",n); } /*------------------------------------------------------- 给定程序中,函/*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 根据整型形参m,计算如下公式的值: y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5) 例如: 若m=9,则应输出: 1.168229 ------------------------------------------------*/ #include voidwwjt(); doublefun(intm) { /**********Program**********/ doubley=0; inti; for(i=0;i y+=1.0/(i+5); returny; /**********End**********/ 【程序改错】 -------------------------------------------------------- 功能: 实现两个字符串的连接。 例如: 输入dfdfqe和12345时,则输出dfdfqe12345. ------------------------------------------------------*/ #include main() { chars1[80],s2[80]; voidscat(chars1[],chars2[]); gets(s1); gets(s2); scat(s1,s2); puts(s1); } voidscat(chars1[],chars2[]) { inti=0,j=0; /**********FOUND**********/ while(s1[i]! ='\0') i++; /**********FOUND**********/ while(s2[j]! ='\0') { /**********FOUND**********/ S1[i]=s2[j]; i++; j++; } /**********FOUND**********/ S1[id]='\0'; } 数fun的功能是: 求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。 ss所指字符串数组中共有M个字符串,且串长 请在程序中填入正确的内容并使程序得出正确的结果。 不得增行或删行,也不得更改程序的结构! 给定源程序: -------------------------------------------------------*/ #include #include #defineM5 #defineN20 voidfun(char(*ss)[N]) {inti,j,n,len=0; for(i=0;i {len=strlen(ss[i]); if(i==0)n=len; if(len>n)n=len; } for(i=0;i /***********SPACE***********/ n=strlen(ss[i]); for(j=0;j /***********SPACE***********/ ss[i][n+j]='*'; /***********SPACE***********/ ss[i][n+j+1]='\0'; } } main() {charss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchongqing"}; inti; printf("Theoriginalstringsare: \n"); for(i=0;i printf("\n"); fun(ss); printf("Theresultis: \n"); for(i=0;i } /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 编写函数fun生成一个对角线元素为5,上三角元素为0, 下三角元素为1的3*3的二维数组。 ------------------------------------------------------*/ #include fun(intarr[][3]) { /**********FOUND**********/ inti,j; /**********FOUND**********/ for(i=0;i<3;i++) for(j=0;j<3;j++) /**********FOUND**********/ if(i==j) arr[i][j]=5; elseif(j>i) arr[i][j]=0; else arr[i][j]=1; } main() { inta[3][3],i,j; fun(a); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%d",a[i][j]); printf("\n"); } }#include /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 用while语句求1~100的累计和。 -------------------------------------------------------*/ voidwwjt(); intfun(intn) { /**********Program**********/ inti=1,sum=0; while(i<=n) { sum=sum+i; i++; } returnsum; /**********End**********/ /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 编写函数求2! +4! +6! +8! +10! +12! +14! 。 ------------------------------------------------------*/ #include longsum(intn) { /**********FOUND**********/ inti,j; longt,s=0; /**********FOUND**********/ for(i=2;i<=n;i=i+2) { t=1; for(j=1;j<=i;j++) t=t*j; s=s+t; } /**********FOUND**********/ return(s); } main() { printf("thissum=%ld\n",sum(14)); } 【程序填空】 --------------------------------------------------------- 功能: 计算圆周率的近似值。 -------------------------------------------------------*/ #include #include main() { ints,n; /***********SPACE***********/ doublepi,t; t=1;pi=0;n=1;s=1; /***********SPACE***********/ while(fabs(t)>=2e-6) { pi+=t;n+=2;s=-s;t=s/n; } /***********SPACE***********/ pi*=4; printf("pi=%.6f\n",pi); }#include /*------------------------------------------------------- 【程序设计】 ----------------------------------------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末考试 操作 题库