齐齐哈尔大学C语言题库 程序改错(部分)
更新时间:2024-04-21 04:08:01 阅读量: 综合文库 文档下载
- 齐齐哈尔大学期末考试题库推荐度:
- 相关推荐
1.【程序改错】
题目:在一个一维整型数组中找出其中最大的数及其下标。 程序中共有4条错误语句,请改正错误。 #define N 10
/**********FOUND**********/
float fun(int *a,int *b,int n) int fun(int *a,int *b,int n) { int *c,max=*a;
for(c=a+1;cmax)
{ max=*c;
/**********FOUND**********/ b=c-a;} *b=c-a;} return max; } main()
{ int a[N],i,max,p=0;
printf(\ for(i=0;i /**********FOUND**********/ get(\ scanf(\ /**********FOUND**********/ m=fun(a,p,N); max=fun(a,p,N); printf(\ 29.【程序改错】 题目:fun函数的功能是:实现两个字符串的连接。 例如:输入dfdfqe和12345时,则输出dfdfqe12345. 请改正程序中的错误,使它能得出正确的结果。 #include\main() { char s1[80],s2[80]; void scat(char s1[],char s2[]); gets(s1); gets(s2); scat(s1,s2); puts(s1); } void scat (char s1[],char s2[]) { int i=0,j=0; /**********FOUND**********/ while(s1[i]= ='\\0') i++; while(s1[i]!='\\0')i++; /**********FOUND**********/ while(s2[j]= ='\\0') while(s2[i]!='\\0') {/**********FOUND**********/ s2[j]=s1[i]; s1[i]=s2[j]; i++; j++; } /**********FOUND**********/ s2[j]='\\0'; s1[i]='\\0'; } 414.【程序改错】 题目:输入一行字符,分别统计出其中英文字母、空 格、数字和其它字符的个数。 #include \main() {char c; int letters=0,space=0,digit=0,others=0; printf(\/**********FOUND**********/ while((c=getchar())=='\\n') while((c=getchar())!='\\n') {/**********FOUND**********/ if(c>='a'&&c<='z'&&c>='A'&&c<='Z') if(c>='a'&&c<='z'||c>='A'&&c<='Z') letters++; /**********FOUND**********/ else if(c=!' ') else if(c==' ') space++; else if(c>='0'&&c<='9') digit++; else others++;} printf(\ space,digit,others); } 364.【程序改错】 题目:给定程序MODI1.C中函数 fun 的功能是:计算正整数num的 各位上的数字之积。例如,若输入:252,则输出应该是:20。若 输入:202,则输出应该是:0。 #include /**********FOUND**********/ {long k=1 {lon k=1; do { k*=num ; /**********FOUND**********/ num\\=10; num/=10; /**********FOUND**********/ } while(!num) ; } while(num); return (k) ; } main( ) { long n ; clrscr() ; printf(\printf(\getch();} 433.【程序改错】 题目:编写一个函数,输入n为偶数时,调用函数求 1/2+1/4+...+1/n,当输入n为奇数时,调用函 数1/1+1/3+...+1/n(利用指针函数) #include \main() {float peven(),podd(),dcall(); float sum; int n; while (1) {/**********FOUND**********/ scanf(\ scanf(\if(n>1) break; } if(n%2==0) {printf(\sum=dcall(peven,n); } else {printf(\sum=dcall(podd,n); } printf(\getch();} float peven(int n) {float s; int i; s=0; for(i=2;i<=n;i+=2) /**********FOUND**********/ s+=1%(float)i; s+=1/(float)i; return(s); } float podd(n) int n; {float s; int i; /**********FOUND**********/ s=1; s=0; for(i=1;i<=n;i+=2) s+=1/(float)i; return(s); } float dcall(fp,n) float (*fp)(); int n; {float s; s=(*fp)(n); return(s); } 354.【程序改错】 题目:下列程序中,函数fun的功能是:在字符串str 中找出ASCII码值最大的字符,将其放在第一个 位置上,并将该字符前面的字符向后顺序移动。 例如:调用fun函数之前给字符串输入:ABCDeFGH, 调用后字符串中的内容为:eABCDFGH。 #include { char max,*q;int i=0; max=p[i]; while(p[i]!=0) { if(max /**********FOUND**********/ p=q+i; q=p+i; } i++;} /**********FOUND**********/ while(q p) /**********FOUND**********/ { q=*(q-1); {*q=*(q-1); q--; } p[0]=max; } main() { char str[80]; printf(\ printf(\ fun(str); printf(\ getch(); } 410.【程序改错】 题目:有1、2、3、4个数字,能组成多少个互不相同 且无重复数字的三位数?都是多少? main() {int i,j,k; /**********FOUND**********/ printf(\ printf(\/**********FOUND**********/ for(i=1;i<=5;i++) for(i=1;i<5;i++) for(j=1;j<5;j++) for (k=1;k<5;k++) {/**********FOUND**********/ if (i!=k||i!=j||j!=k) if(i!=k&&i!=j&&j!=k) printf(\6.【程序改错】 题目:以下程序的功能是求如下表达式: 1 1 1 S = 1 + —— + ——— + ...... + ——————— 1+2 1+2+3 1+2+3+......+n 请改正程序中的错误,使程序能得到正确的运行结果。 #include float fun(); printf(\/**********FOUND**********/ print(\ scanf(\ printf(\ /**********FOUND**********/ fun(int n) float fun(int n) { int i,j,t; float s; s=0; /**********FOUND**********/ while(i=1;i<=n;i++); for(i=1;i<=n;i++) { t=0; for(j=1;j<=i;j++) t=t+j; /**********FOUND**********/ s=+1/t; s+=1.0/t } return s; } 26.【程序改错】 题目:fun函数的功能是:找出大于m的最小素数,并将其作为 函数值返回。 请改正程序中的错误,使它能得出正确的结果。 #include for(i=m+1;;i++) {/**********FOUND**********/ for(k=1;k if(i%k!=0) break; if(i%k= =0) break; /**********FOUND**********/ if(k /**********FOUND**********/ return k; return i; }} main() { int n; scanf(\ printf(\381.【程序改错】 题目:给定程序MODI1.C的功能是:删除w所指数组中下标 为k的元素中的值。程序中,调用了getindex、arrout 和arrdel三个函数,getindex用以输入所删元素的下标, 函数中对输入的下标进行检查,若越界,则要求重新输入, 直到正确为止。arrout用以输出数组中的数据,arrdel进 行所要求的删除操作。 #include \#include \#define NUM 10 /**********FOUND**********/ arrout ( int w, int m ) arrout ( int w[ ], int m ) { int k; /**********FOUND**********/ for (k = 1; k < m; k++) for (k = 0; k < m; k++) /**********FOUND**********/ printf (\ printf (\printf (\ arrdel ( int *w, int n, int k ) { int i; for ( i = k; i < n-1; i++ ) w[i] = w[i+1]; n--; return n; } getindex( int n ) { int i; do { printf(\scanf (\ } while( i < 0 || i > n-1 ); return i; } main( ) { int n, d, a[NUM]={21,22,23,24,25,26,27,28,29,30}; n = NUM; clrscr(); printf (\d = getindex( n ); n = arrdel ( a, n, d ); printf (\ 401.【程序改错】 题目:编写函数fun其功能是:输入两个实数,按代数值由小到大输出它们,并在fun() 函数中输出。(输出的数据都保留2位小数) #include \main() {fun(); getch();} fun() {/**********FOUND**********/ float t float t; float a,b; scanf(\ /**********FOUND**********/ if(ab) {t=a;a=b;b=t;} /**********FOUND**********/ printf(\ printf(\ } 350.【程序改错】 题目:请编写一个函数 int fun(int x),它的功能 是:判断整数x是否是同构数。若是同购数, 函数返回1;否则返回0。 所谓“同构数”是指这个数出现在它的平方数 的右边。例如:输入整数25,25的平方数是 625,25是625中右侧的数,所以25是同构数。 x的值由主函数从键盘读入,要求不大于1000。 #include \int fun(int x) {/**********FOUND**********/ int k int k; /**********FOUND**********/ k=x; k=x*x; /**********FOUND**********/ if((k==x)&&(k0==x)&&(k00==x)) if((k==x)||(k0==x)||”(k00==x)) return 1; else return 0; } main() { int x,y; clrscr(); printf(\ scanf(\ if(x>1000){printf(\ y=fun(x); if(y) printf(\ else printf(\ getch();} 355.【程序改错】 下列程序中,函数fun的功能是:在字符串str中找出ASCII码值最 小的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序 移动。 例如:调用fun函数之前给字符串输入:eBCDAFGH, 调用后字符串中的内容为:AeBCDFGH。 -------------------------------------------------------- 注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------------*/ #include { char min,*q=p;int i=0; min=p[i]; while(p[i]!=0) { if(min>p[i]) { min=p[i]; /**********FOUND**********/ p=p+i; q=p+i; } i++;} /**********FOUND**********/ while(q p) /**********FOUND**********/ {*q=(q-1); {*q=*(q-1); q--; } p[0]=min; } main() { char str[80]; printf(\ printf(\ fun(str); printf(\ } 392.【程序改错】 题目:编写程序, 求矩阵(3行3列)与5的乘积 例如, 输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 500 1000 1500 2000 2500 3000 3500 4000 4500 #include \ int fun(int array[3][3]) {/**********FOUND**********/ int i;j; int i,j; /**********FOUND**********/ for(i=1; i < 3; i++) for(i=0;i<3;i++) for(j=0; j < 3; j++) /**********FOUND**********/ array[i][j]=array[i][j]/5; arrau[i][j]=array[i][j]*5} main() { int i,j; int array[3][3]={{100,200,300}, {400,500,600}, {700,800,900}}; clrscr() ; for (i=0; i < 3; i++) { for (j=0; j < 3; j++) printf(\ printf(\ } fun(array); printf(\ for (i=0; i < 3; i++) { for (j=0; j < 3; j++) printf(\ printf(\ getch(); } 10.【程序改错】 题目:将若干学生的档案存放在一个文件中,并显示其内容。 struct student { int num; char name[10]; int age; }; struct student stu[3]={{001,\Mei\Hua\Hao\ #include /**********FOUND**********/ {struct student p; {struct student *p; /**********FOUND**********/ cfile fp; FILE *fp int i; if((fp=fopen(\ { printf(\ return; } /**********FOUND**********/ for(*p=stu;p fp=fopen(\ printf(\ Name age\\n\ for(i=1;i<=3;i++) { fread(p,sizeof(struct student),1,fp); /**********FOUND**********/ scanf(\ printf(\ } fclose(fp); } 20.【程序改错】 题目:已知一个数列从第0项开始的前三项分别为0、0、1,以 后的各项都是其相邻的前三项的和。下列给定程序中, 函数fun的功能是:计算并输出该数列的前n项的平方根 之和sum,n的值通过形参传入。 例如,当n=10时,程序的输出结果应为23.197745。 请更改程序中的错误,使它能得出正确的结果。 #include \ /**********FOUND**********/ fun (int n) double fun (int n) { double sum,s0,s1,s2,s; int k; /**********FOUND**********/ sum=0.0; sum=1.0; if(n<=2) sum=0.0; s0=0.0; s1=0.0; /**********FOUND**********/ s2=0.0; s2=1.0; /**********FOUND**********/ for(k=4;k>n;k++) for(k=4;k<=n;k++) { s=s0+s1+s2; sum+=sqrt(s); s0=s1;s1=s2;s2=s; } return sum; } main() { int n; scanf(\ printf(\} 387.【程序改错】 题目:给定程序MODI1.C中函数 fun 的功能是: 统计字符串中各元音字母(即:A、E、I、 O、U)的个数。注意:字母不分大、小写。 例如:若输入:THIs is a boot,则输 出应该是:1、0、2、2、0。 #include fun ( char *s, int num[5] ) { int k, i=5; for ( k = 0; k /**********FOUND**********/ num[i]=0; num[k]=0; for (; *s; s++) { i = -1; /**********FOUND**********/ switch ( s ) switch[*s] { case 'a': case 'A': {i=0; break;} case 'e': case 'E': {i=1; break;} case 'i': case 'I': {i=2; break;} case 'o': case 'O': {i=3; break;} case 'u': case 'U': {i=4; break;} } /**********FOUND**********/ if (i < 0) if(i>=0) num[i]++; }} main( ) { char s1[81]; int num1[5], i; clrscr(); printf( \fun ( s1, num1 ); for ( i=0; i < 5; i++ ) printf (\ 105.【程序改错】 给定程序MODI1.C中函数fun的功能是: 将s所指字符串中的字母 转换为按字母序列的后续字母(但Z转换为A, z转换为a),其它字符不 变。 #include {/***********FOUND***********/ while(*s!=\ while(*s!=’ \\0’) { if(*s>='A' && *s <= 'Z' || *s >= 'a' && *s<='z') { if(*s=='Z') *s='A'; else if(*s=='z') *s='a'; /***********FOUND***********/ else s += 1; else *s += 1; } /***********FOUND***********/ s++ s++;}} main() { char s[80]; clrscr(); printf(\printf(\fun ( s ); printf (\getch(); getch();} 376.【程序改错】 题目:给定程序MODI1.C中函数 fun 的功能是: 根据整型形参 m,计算某一数据项的值。 y = 1/(100*100)+1/(200*200)+ 1/(300*300) + …… + 1/(m*m) 例如,若m = 2000,则应输出: 0.000160。 #include /**********FOUND**********/ fun ( int m ) double fun ( int m ) { double y = 0, d ; int i ; /**********FOUND**********/ for( i = 100, i <= m, i += 100 ) for( i = 100; i <= m;i += 100 ) { d = (double)i * (double)i ; /**********FOUND**********/ y += 1.0 \\ d ; y += 1.0 / d ; } return( y ) ; } main( ) { int n = 2000 ; clrscr( ) ; printf( \351.【程序改错】 题目:编写一个函数,该函数可以统计一个长度为3 的字符串在另一个字符串中出现的次数。例 如,假定输入的字符串为: asdasasdfgasdaszx67asdmklo, 字符串为:asd,则应输出n=4。 #include int fun(char *str,char *substr) {/**********FOUND**********/ int i,n=0 int i,n=0; /**********FOUND**********/ for(i=0;i<=strlen(str);i++) for(i=0;i<=strlen(str)-3;i++) if((str[i]==substr[0])&&(str[i+1]==substr[1])&&(str[i+2]==substr[2])) /**********FOUND**********/ ++i; n++ return n; } main() { char str[81],substr[4]; int n; clrscr(); printf(\输入主字符串: \ gets(str); printf(\输入子字符串: \ gets(substr); puts(str); puts(substr); n=fun(str,substr); printf(\getch(); }
正在阅读:
齐齐哈尔大学C语言题库 程序改错(部分)04-21
最新中考英语高频词汇(整理)04-19
比和比例奥数讲义11-30
《安格尔的小提琴》经典读后感10篇12-12
2008.1.14收到:(薛吉冈改报批稿)铁路后张梁管道压浆技术条件(报批稿)及编制说明01-08
5AM2单元测验卷09-18
经济学模拟沙盘实训报告03-02
跟骨粉碎性骨折的治疗04-22
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 齐齐哈尔
- 改错
- 题库
- 语言
- 部分
- 程序
- 大学
- 2011年度东财会计人员继续教育题库之《财务管理》
- 2500吨年聚氯乙烯工业管生产车间设计
- 2018年牛津深圳版英语初一下册Unit7 Poems单元测试题含答案
- 销售人员个人-组织匹配、组织支持感与离职倾向关系的实证研究
- 建筑工程竣工验收流程图
- 环保有关节日
- 大学物理复习提纲(下)
- 人教版小学五年级下册品德与社会期末试题和答案
- 党校题库(全)
- 专升本《电路理论》 - 试卷 - 答案
- 六年级语文基于课程标准的教学设计顶碗少年
- RomaxDesigner自编教程(减速器、变速箱动态分析)
- 苏教版三年级语文下册教案
- 2009年环评工程师技术方法考试真题
- 2009年即兴评述题目
- 根据关于泰山医学院大学生社团联合会换届的通知泰医团
- 2014届物理一轮复习教学案-探究加速度与物体质量、物体受力的关
- DBQ断相保护器测试台的搭建和改造(新) - 图文
- 三年规划 Microsoft Word 文档
- 宝应县中医医院医院文化建设方案