【程序改错】
1.功能:利用递归函数调用方式,将所输入的5个字符,以相反顺序
打印出来。
char next;
next=getchar();
palin(n-1);
2.功能:求广义菲玻那契级数的第n项。广义菲玻那契级数的前n
项为: 1,1,1,3,5,9,17,31,……
项值通过函数值返回 main ( )函数。
例如:若 n = 15,则应输出:The value is: 2209。
for (k=4; k<=n; k++)
a=b;
return d;
3.功能:根据整型形参m,计算如下公式的值:
y=1/2+1/8+1/18+...+1/2m*m
double y=0.0;
4.功能:编制统计营业员一天的营业额的程序,设程序采用一个循环
实现,每次循环输入一笔交易金额并累计营业额。由于营
业员一天完成的交易次数是不确定的,为此以最后附加输
入一笔0或负数交易额作为交易金额已全部输入结束的标志。
float sale,sigma;
scanf("%f",&sale);
sigma=sigma+sale;
5.功能:读取7个数(1-50)的整数值,每读取一个值,程序打印出该值个数的*。while(n<8)
while(a<1||a>50);
for(i=0;i 6.功能:输出Fabonacci数列的前20项,要求变量类型定义成浮点型, 输出时只输出整数部分,输出项数不得多于或少于20。 printf("%8f",f1); for(i=1;i<20;i++) f1=f2; f2=f3; 7.功能:一个偶数总能表示为两个素数之和。 scanf("%d",&a); d=a-b; if(d%c==0) 8.功能:利用二维数组输出如图所示的图形。 ******* ***** *** * *** ***** ******* #define N 7 a[i][j]=' '; z=z-1; printf("%c",a[i][j]); 9.题目:求两个整数的最小公倍数。 for(i=t;;i++) {j=i;break;} 10.功能:某个公司采用公用电话传递数据,数据是四位的整数,在 传递过程中是加密的,加密规则如下:每位数字都加上5, 然后除以10的余数代替该位数字。再将新生成数据的第一 位和第四位交换,第二位和第三位交换。 例如:输入一个四位整数1234,则结果为:9876。 scanf("%d",&a); aa[1]=a%100/10; for(i=0;i<4;i++) 11.功能:用"冒泡法"对连续输入的十个字符排序后按从小到大的次序 输出. for(i=0;i sort(str); for(i=0;i if(str[i]>str[i+1]) 12.功能:打印出杨辉三角形(要求打印出10行). for(i=0;i<10;i++) for(j=1;j a[i][j]=a[i-1][j-1]+a[i-1][j]; 13.功能:根据整型形参 m,计算某一数据项的值。 y = 1/(100*100)+1/(200*200)+1/(300*300)+ …… +1/(m*m)例如:若m = 2000,则应输出: 0.000160。 double fun ( int m ) for( i = 100; i <= m; i += 100 ) y += 1.0 / d ; 14.功能:一个已排好序的一维数组,输入一个数number,要求按原来 排序的规律将它插入数组中. for(i=0;i<10;i++) end=a[9]; a[10]=number; if(a[i]>number) 15.功能:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同 学用A表示,60-89分之间的用B表示,60分以下的用C表示char grade; scanf("%d",&score); grade=score>=90?'A':(score>=60?'B':'C'); 16.功能:编写函数fun求1000以内所有8的倍数之和。 int s=0,i; for(i=1;i if(i%m==0) 17.功能:有一数组内放10个整数,要求找出最小数和它的下标,然后 把它和数组中最前面的元素即第一个数对换位置. scanf("%d",&a[i]); for(i=1;i<10;i++) if(a[i] a[k]=a[0]; 18.功能:编写一个程序计算某年某月有几天。(注意要区分闰年)switch(mm) break; default : 19.功能:编写函数fun生成一个对角线元素为5,上三角元素为0, 下三角元素为1的3*3的二维数组。 int i,j; for(i=0;i<3;i++) if(i==j) 20.功能:用下面的和式求圆周率的近似值。直到最后一项的绝对值 小于等于0.0001。 π/4 = 1-1/3+1/5-1/7+…… #include float s=0,t=1,p=1; while(fabs(t)>1e-4) printf("pi=%f\n",s*4); 21.功能:有1、2、3、4个数字,能组成多少个互不相同且无重复数 字的三位数?都是多少? printf("\n"); for(i=1;i<5;i++) if (i!=k&&i!=j&&j!=k) 22.功能:一个整数,它加上100后是一个完全平方数,再加上168又 是一个完全平方数,请问该数是多少? for (i=1;i<100000;i++) x=sqrt(i+100); if(x*x==i+100&&y*y==i+268) 23.功能:一个5位数,判断它是不是回文数。即12321是回文数,个 位与万位相同,十位与千位相同。 long ge,shi,qian,wan,x; wan=x/10000; if (ge==wan&&shi==qian) 程序改错------------------------------------- 1题目:在一个一维整型数组中找出其中最大的数及其下标。 程序中共有4条错误语句,请改正错误。 -----------------*/ #define N 10 /**********FOUND**********/ float fun(int *a,int *b,int n) { int *c,max=*a; for(c=a+1;cmax) { max=*c; /**********FOUND**********/ b=c-a;} return max; } main() { int a[N],i,max,p=0; printf("please enter 10 integers:\n"); for(i=0;i 下列程序是建立一个包含学生有关数据的单向链表。但该程序有2个错误,错误出现在每个注释行附近,请调试改正。调试改正中,不得改变程序结构,也不得增删语句。 #define NULL 0 struct stud { long num; char name[10]; float score; struct stud *next; }; /* …………… comment …………… */ int n; struct stud create() 序中有两处错误代码,请改正.注意,不得改变程序结构。 #include <> main() { int a[8],*p=a; int i,j; int tempmin,tempcode; printf("\n input the numbers:\n"); for (i=0;i<8;i++) scanf("%d",p+i); tempmin=*p; for (i=0;i<7;i++) { for (j=i;j<8;j++) if (j==i||*(p+j) 【程序改错】 1.功能:利用递归函数调用方式,将所输入的5个字符,以相反顺序 打印出来。 char next; next=getchar(); palin(n-1); 2.功能:求广义菲玻那契级数的第n项。广义菲玻那契级数的前n 项为: 1,1,1,3,5,9,17,31,…… 项值通过函数值返回 main ( )函数。 例如:若 n = 15,则应输出:The value is: 2209。 for (k=4; k<=n; k++) a=b; return d; 3.功能:根据整型形参m,计算如下公式的值: y=1/2+1/8+1/18+...+1/2m*m double y=0.0; 4.功能:编制统计营业员一天的营业额的程序,设程序采用一个循环 实现,每次循环输入一笔交易金额并累计营业额。由于营 业员一天完成的交易次数是不确定的,为此以最后附加输 入一笔0或负数交易额作为交易金额已全部输入结束的标志。 float sale,sigma; scanf("%f",&sale); sigma=sigma+sale; 5.功能:读取7个数(1-50)的整数值,每读取一个值,程序打印出该值个数的*。while(n<8) while(a<1||a>50); for(i=0;i 1、以下程序的功能是求如下表达式: 1 1 1 S = 1 + ——+ ———+ ...... + ——————— 1+2 1+2+3 1+2+3+......+n 『答案』:1 scanf("%d",&n); 2 float fun(int n) 3 for(i=1;i<=n;i++) 4 s+=1.0/t 或s= s + 1.0 /t; 2、题目:函数fun的功能是:根据整型形参m的值,计算如下公式的值。 1 1 1 t = 1- ——- ——- ... - —— 2x2 3x3 mxm 例如,若m=5,则应输出:0.536389 『答案』:1 for(i=2;i<=m;i++)或for(i=2;i 第12次上机程序改错第1题 【程序改错】 -------------------------------------------------------- 功能:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。 例如:输入圆的半径值:19.527 输出为:s = 598.950017。 ------------------------------------------------------*/ #include printf ( "Enter x: "); scanf ( "%f", &x ); printf (" s = %f\n ", fun ( x ) ); } 第2题【程序改错】 功能:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。 例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为:“EDCBAABCDE”。 ------------------------------------------------------*/ #include (一)功能:用选择法对数组中的n个元素按从小到大的顺序进行排序。#include "stdio.h" #define N 20 void fun(int a[], int n) { int i, j, t, k; for (j = 0 ;j < n-1 ;j++) { /**********ERROR**********/ k = j for (i = j+1;i < n; i++) /**********ERROR**********/ if(a[i] >a[k]) /**********ERROR**********/ k=j; t = a[k] ; a[k] = a[j] ; a[j] = t; } } main() { int a[N]={9,6,8,3,-1},i, m = 5; printf("排序前的数据:") ; for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n"); fun(a,m); printf("排序后的数据:") ; for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n"); } 【参考答案】 k = j; 【参考答案】 if(a[i] < a[k]) if(a[k] > a[i]) 【参考答案】 k = i; (二)功能:求广义菲玻那契级数的第n项。广义菲玻那契级数的前n 项为: 1,1,1,3,5,9,17,31,…… 项值通过函数值返回 main ( )函数。 例如:若 n = 15,则应输出:The value is: 2209。 #include "conio.h" #include "stdio.h" long fun ( int n ) { long a=1, b=1, c=1, d=1, k; /**********ERROR**********/ for (k=4; kc语言程序改错题
C语言程序改错及填空题
c语言程序改错
C语言程序改错2
C语言程序改错题
程序改错完整版---C语言
齐齐哈尔大学C语言题库 程序改错(部分)