[电脑基础知识]c语言上机练习
上机练习一
一、程序改错题:程序功能:求100以内(包括100)的偶数之和.
#include "stdio.h"
main()
{ int i,sum=1;
sum+=i;
printf("Sum=%d \n";sum);
getch();
}
二、程序填空题:程序功能:输入数组最大的与最后一个元素交换,最小的与第一个元素交换,输出数组。
main()
{ int number[10]; input(number); max_min(number); output(number);}
input(int number[10])
{ int i; for(i=0;【?】;i++)
scanf("%d,",&number[i]);
scanf("%d",&number[9]);}
max_min(int array[10])
{ int max,min,k=0,l=0,t,p,;
max=min=array[0];
for(p= 1;p<10;p++)
if(array[p] >max) {max= array[p];k=p;}
else if(array[0]
t=array[0]; array[0]=min; array[l]= t; 【?】; }
output(int array[10])
{ int p;
for(p=0;p< 9;p++) printf("%d,", array[p]);
printf("%d\n",array[9]);
}
三、程序设计题:程序功能:求1到w之间的奇数之和。(w是大于等于100小于等于1000的整数)
#include "stdio.h" #include"conio.h"
long fun(int w)
{ /**********Program**********/
/********** End **********/
}
main()
{ int m; printf("Enter m: "); scanf("%d", &m);
printf("\nThe result is %ld\n", fun(m));
}
上机练习二
一、程序改错题:功能:求1到10的阶乘的和。
main()
{ int i; float t,s=0; float fac(int n);
for(i=1;i<10;i++)
s=fac(i);
printf("%f\n",s);}
float fac(int n)
{ int y=1; int i; for(i=1 ;i<=n;i++) y=y*i; return;}
二、程序填空题:功能:计算一元二次方程的根。
#include #include 【?】
main()
{ float a,b,c,disc,x1,x2,realpart,imagpart;
scanf("%f%f%f",&a,&b,&c); printf("the equation");
if(【?】<=1e-6) printf("is not quadratic\n");
else disc=b*b-4*a*c;
if(fabs(disc)<=1e-6) printf("has two equal roots:%-8.4f\n",-b/(2*a));
else if(【?】)
{ x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("has distinct real roots:%8.4f and %.4f\n",x1,x2); }
else
{ realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a);
printf("has complex roots:\n");
printf("%8.4f=%.4fi\n",realpart,imagpart);
printf("%8.4f-%.4fi\n",realpart,imagpart); }
}
三、程序设计题:功能:判断m是否为素数。
#include "stdio.h"
main()
{ int m,k=0;
for(m=100;m<200;m++)
if(fun(m))
{ printf("%4d",m); k++; if(k%5==0) printf("\n"); }
printf(