C语言程序改错题

2025-09-13

第12次上机 程序改错

第1题 【程序改错】

-------------------------------------------------------- 功能:求二分之一的圆面积,函数通过形参得到圆的半径,函数 返回二分之一的圆面积。

例如:输入圆的半径值:19.527 输出为:s = 598.950017。 ------------------------------------------------------*/ #include #include

/**********FOUND**********/

double fun( r) double fun(double r) {

double s;

/**********FOUND**********/

s=1/2*3.14159* r * r; s=1.0/2*3.14159*r*r; /**********FOUND**********/ return r; return s; } main() {

float x;

printf ( \ scanf ( \

printf (\}

第2题 【程序改错】

功能:先将在字符串s中的字符按逆序存放到t串中,然后把s中的 字符按正序连接到t串的后面。

例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为: “EDCBAABCDE”。

------------------------------------------------------*/ #include #include #include void fun (char *s, char *t) {

/**********FOUND**********/ int i; int sl,i; sl = strlen(s); for (i=0; i

/**********FOUND**********/

word文档 可自由复制编辑

t[i] = s[sl-i]; t[i]=s[sl]; for (i=0; i

t[sl+i] = s[i]; t[sl+i]=s[sl-i-1]; /**********FOUND**********/

t[2*sl] = \’0\\’ ; } main() {

char s[100], t[100];

printf(\ fun(s, t);

printf(\}

第3题 【程序改错】

功能:求出以下分数序列的前n项之和。和值通过函数值返回main 函数。

2/1+3/2+5/3+8/5+13/8+21/13 ?? 例如:若n = 5,则应输出:8.391667。

------------------------------------------------------*/ #include #include

/**********FOUND**********/

fun ( int n ) double fun(int n) {

int a, b, c, k; double s; s = 0.0; a = 2; b = 1; for ( k = 1; k <= n; k++ ) {

/**********FOUND**********/

s = (double)a / b; s=s+(double)a / b; c = a; a = a + b; b = c; }

/**********FOUND**********/

return c; return s; } main( ) {

int n = 5;

printf( \}

第4题 【程序改错】

--------------------------------------------------------

word文档 可自由复制编辑

功能:以下程序能求出1*1+2*2+......+n*n<=1000中满足条件的 最大的n。

------------------------------------------------------*/ #include #include \main() {

int n,s;

/**********FOUND**********/ s==n=0; s=0,n=0; /**********FOUND**********/

while(s>1000) while(s<=1000) {

++n; s+=n*n; }

/**********FOUND**********/

printf(\ } 第5题 【程序改错】

-------------------------------------------------------- 功能:利用二维数组输出如图所示的图形。 ******* ***** *** * *** ***** *******

------------------------------------------------------*/ #include #include

/**********FOUND**********/ #define N= 7 #define N 7 main() {

char a[N][N]; int i,j,z; for(i=0;i

/**********FOUND**********/

word文档 可自由复制编辑

a[i][j]=; a[i][j]=’ ’; z=0;

for(i=0;i<(N+1)/2;i++) {

for(j=z;j

/**********FOUND**********/ z=0;

for(i=(N+1)/2;i

z=z-1; z--; for(j=z;j

for(i=0;i

for(j=0;j

/**********FOUND**********/

printf(\ printf(\ } }

第6题 【程序改错】

-------------------------------------------------------- 功能:求出a所指数组中最大数和次最大数(规定最大数和次最大 数不在a[0]和a[1]中),依次和a[0]、a[1]中的数对调。 例如:数组中原有的数:7、10、12、0、3、6、9、11、5、8, 输出的结果为:12、11、7、0、3、6、9、10、5、8。 ------------------------------------------------------*/ #include #include #define N 20

void fun ( int * a, int n ) {

int k,m1,m2,max1,max2,t; max1=max2= -32768; m1=m2=0; for ( k = 0; k < n; k++ ) if ( a[k]>max1 ) {

max2 = max1; m2 = m1; max1 = a[k]; m1 = k; }

word文档 可自由复制编辑

/**********FOUND**********/

else if( a[k]>max1 ) else if( a[k]>max2) {

max2 = a[k]; m2 = k; } /**********FOUND**********/ t = a[0];

a[m1]=a[0]; a[0]=a[m1]; a[m1] = t;

/**********FOUND**********/ t = a[1];

a[m2]=a[1]; a[1]=a[m2] a[m2] = t; } main( ) {

int b[N]={7,10,12,0,3,6,9,11,5,8}, n=10, i; for ( i = 0; i

for ( i=0; i

-------------------------------------------------------- 功能:根据以下公式求π值,并作为函数值返回。

例如:给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。 π 1 1 2 1 2 3 1 2 3 4 — = 1 + — + — x — + — x — x — + — x — x — x — + ... 2 3 3 5 3 5 7 3 5 7 9 ------------------------------------------------------*/ #include double fun(double eps) {

double s,t; int n=1; s=0.0; t=1;

/**********FOUND**********/ while(t<=eps) {

word文档 可自由复制编辑


C语言程序改错题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:财务会计课后习题

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219