#include
int n,a,b; /**/ a=0; b=0; /**/
scanf(\
while(/**/ n != 0 /**/) {
if(n>0) a++;
else /**/ if(n<0) b++; /**/ scanf(\ }
printf(\}
6. 歌德巴赫猜想
补充程序Ccon 023.c,该程序可测试歌德巴赫猜想:从键盘上输入一个大于6的偶数,总 能找到两个素数,使得这两素数之和正好等于该偶数. 答案:
#include
for(k=2; k<=n/2+1; k++)
if (n%k==0) { flag=/**/ 0 /**/ ; break;} return flag; }
void main() { int num, a; // clrscr(); do
{ printf(\ scanf(\
}while(num<=6||num%2==1); for(a=2;a<=num/2+1;a++)
if(prime(a) && prime(/**/ num-a /**/))
printf(\}
7、牛顿迭代法求方程的根
补充程序Ccon031.C,使其用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。
答案:
#include
{ x0=x;
f=((2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x=x0-f/f1;
}/**/ while /**/(fabs(x-x0)>=1e-6); printf(\}
8、大写变小写,小写变大写 补充程序Ccon032.C,该程序的功能是将输入的一行字符串的大写字母转变为相应的小写字母,小写字母则转变为相应的大写字母,其余字符不变。 答案:
#include
printf(\
for(i=0;((s[i]=getchar())!='\\n')&&(i<80);i++); s[i]='\\0';
for(i=0;s[i]!='\\0';/**/ i++ /**/) {
if(s[i]>='a'&&s[i]<='z') s[i]=s[i]-32;
else if(/**/ s[i]>='A'&&s[i]<='Z' /**/) s[i]=s[i]+32; printf(\ } }
9、计算平均值
补充程序Ccon033.C,其中main函数通过调用average函数计算数组元素的平均值。 答案:
#include
float average(int *pa,int n) {
int k;
/**/ float avg=0.0; /**/
for(k=0;k avg = avg+/**/ *(pa+k) /**/; avg = avg/n; return avg; } void main() { int a[5]={20,30,45,64,23}; float m; m=average(/**/ a /**/, 5); printf(\} 10、输入姓名,输出信息 补充程序con041.c使其实现从链盘输入一个同学的姓名(如“Jack”),输出问题该同学的信息(如“Hello, Jack!”)。 答案: /**/ #include /**/ { /**/ char /**/ str[11]; printf(\ scanf(\ printf(\ getch(); } 11、冒泡排序法 补充程序con042.c程序中的in sort()函数用冒泡法对数组a中m个元素从大到小排序。 答案: #include for( i=0; i< /**/ m-1 /**/ ; i++ ) { swap = 0; for( j=0; j < m-i-1; j++) { if /**/ ( a[j] < a[j+1] ) /**/ { swap = 1; t = a[j]; a[j] = /**/ a[j+1] /**/; a[j+1] = t; } } if(!swap) break; } } void main() { int a[] = {23,55,8,32,18,2,9}; int i,k = sizeof(a)/sizeof(int); sort(a,k); for(i=0;i printf(\ \ printf(\ getch(); } 12、判断三角形是否为直角三角形 补充程序con043.c程序中的fun()函数用勾股定理判断一个三角形是否为直角三角形,即输入三角形的三边a,b,c,能回1,不能回0。 答案: #include int fun(/**/ float a,float b,float c /**/) { float temp; int bTrue = 0; if(a { temp = a; a = b; b = temp; } if(a { temp = a; a = c; c = temp; } if( fabs(/**/ a*a /**/ - (b*b + c*c)) < 1.0e-15) bTrue = 1; return bTrue; } main() { float a,b,c; printf(\ scanf(\ if( fun(a,b,c) == 1) printf(\ else printf(\ getch(); } 13、输入一个整数,输出该数的平方 补充程序ccon051.c,使其实现从键盘输入一个整数,输出该数的平方。 答案: #include printf(\ scanf(\ /**/); printf(\ x*x /**/); getch(); } 14、选择排序法 补充程序ccon052.c,使程序中的sort()函数用选择法对数组a中的m个元素,从小到大排序。 答案: #include for( i = 0; i < m-1; i++ ) { k = i; for( j=i+1; j< /**/ /**/; j++) if( a[j] < a[k] ) /**/ /**/; if( k != i ) { t = a[k]; a[k]= a[i]; a[i] = /**/ /**/; } } } void main() { int a[] = {72,25,58,32,2,15,7,64}; int i,m = sizeof(a)/sizeof(int);