i+=11; a+=i;
}
printf(\
} 答:32
27. #include
void main()
{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; inti,s=0 ;
for(i=0;i<4;i++) s+=aa[i][2]; printf(“%d\\n”,s); } 答:29
28. #include
fun(int a, int b) { if(a>b) return(a); else return(b); }
void main()
{ int x=3, y=8, z=6, r; r=fun(fun(x,y), 2*z); printf(\} 答:12
三、编程题 1. 设有分段函数:
x (x<1)
Y= 2x-1 (1≤x<10) 写一程序,输入 x,输出 y 的值。
3x-11 (x≥10)
答:#include
void main() { intx,y;
printf(“输入x:”);
scanf(“%d\\n”,&x); if(x<1) {y=x;
printf(“x==,y=x=%d\\n”,x,y); }
else if(x<10)
{y=2*x-1;
printf(“x==,y=2*x-1=%d\\n”,x,y); } else {y=3*x-11;
printf(“x==,y=3*x-11=%d\\n”,x,y); } }
2.编程任意输入两个实数a和b,计算下面函数的值,并输出y值。 a-b a>b ay= a
ba*b a=b
答:#include
floata,b,y;
scanf(“%f,%f”,&a,&b); if(a
if(a==b)y=a*b; else y=a-b;
printf(“y=%f\\n”,y); }
3.编程序求如下分段函数的值
?x?3?y??1?x2??2x?x答:#include
scanf(“%d”,&x); if(x<=0) y=fabs(x)+3; else if(x<1&&x>=0) {y=1+x*x;} else
{y=2*x+sqrt(x);
?x?0??0?x?1?x?1
printf(“x=%f,y=%f\\n”,x,y); }
4.写一个判断素数的函数。要求在主函数中输入一个整数并输出相应的判断信息。
答:#include
void main() {intn,i;
printf(“please enter a integer number,n=?”); scanf(“%d”,&n); for(i=2;i<=n-1;i++) if(n%i==0)break;
if(i 5.编程序计算 s=1!-2!+3!-4!+ ?? -10!,并输出结果。 答:#include void main() {inti,k=1,njie=1; float sum=0; for(i=1;i<=10;i++) {njie=njie*i; sum=sum+njie*k; k=-1*k; } printf(\} 6.编写一个函数,将一个字符串(最多80个字符)中的大写字母变为小写字母,小写字母变为大写字母。要求字符串的输入与输出在主函数中完成。 答:include void main() { inti; char a[80]; gets(a); puts(a); for(i=0;i<80;i++) if(a[i]>=65&&a[i]<=90) a[i]=a[i]+32; puts(a); } 7.编程计算:s=1+12+123+1234+12345+123456 (必须用循环控制语句实现) 答:#include void main() { longint t=0,s=0,i; for(i=1;i<=6;i++) {t=i+t*10;s=s+t;} printf(”s=%ld\\n”,s); } 8.编写函数change使输入的字符串按反序存放,在主函数中输入和输出字符串。 例如输入是:12345abcde,则输出为:edcba54321 答:void main() { char a[100]; gets(a); change(a); puts(a); } #include inti,j,k; char temp; k=strlen(a); for(i=0;i temp=a[i]; a[i]=a[j]; a[j]=temp; } } 9.编程,在N×N矩阵中(即N行N列的数组),求主对角线和次对角线上的各元素之和。 答:#define N 10; main() { inti,j; int a[N][N]; int sum=0; for(i=0;i if(i==j||(i+j==N))//i==j是判断是否主对角线的元素i+j==N 是判断是否 是次对角线的元素sum+=a[i][j]; printf(\} 10.10个评委给出某选手打分,编程实现去掉一个最高分和一个最低分,求最后得分(平均分) 答:#include int main() { int a[10],i,max,min; float sum; for(i=0;i<10;i++ ) { scanf(\ } max=a[0]; min=a[0]; for(i=1;i<=9;i++) { if(max else if(min>a[i]) min=a[i]; } for(i=0;i<=9;i++) {sum=sum+a[i];} sum=(sum-max-min)/8; printf(\} }