下面程序的功能是统计用0至9之间的不同的数字组成的三位数的个数。main(){ int i,j,k,count=0;for(i=1;i<=9;i++)for(j=0;j<=9;j++)if(【】)continue;else for(k=0;k<=9;k++)if(【】)count++;printf("%d",count);}
第1题:
下列给定程序中,函数fun()的功能是找出100~n(n不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include<stdio.h>
define N 100
int fun(int *s,int n)
{
int i,j,k,a,b,c;
j=0;
for(i=100;i<n;i++)
{
/*************found***********/
k=n;
a=k%10;
k/=10;
b=k%10;
c=k/10;
if(a==b+c)
/************found**************/
s[j]=i;
}
return j;
}
main()
{
int a[N],n,num=0,i;
do
{
printf("\nEnter n(<=1000):”);
scanf("%d",&n);
}
while(n>1000);
num=fun(a,n);
printf("\n\nThe result:\n”);
for(i=0;i<num;i++)
printf("%5d",a[i]);
printf("\n\n");
}
第2题:
有如下程序段#include "stdio.h"void fun(int *a,int *b,int *c,int *d,int *e){ int i,j,k,m; for(i=0;i< *a;i++) for(j=0;j< *b;j++) for(k=0;k<*c;k++) for(m=0;m< *d;m++) ++*e;}main(){ int a=10,b=10,c=10,d=10,e=0; fun(&a,&b,&c,&d,&e); printf("%d\n",e);} 则程序段的输出结果是A.10000 B.1000 C.100 D.0
第3题:
以下程序段的功能是统计其中正数的个数,横线处应填 。 int i,a[20],count; count=0; for(i=0;i<20;i++) if(a[i]>0) ;
第4题:
以下程序的输出结果是#include <conio.h>#include <stdio.h>#define M 100void fun(int m, int *a, int *n){ int i,j=0; for(i=1;i<=m;i++) if(i%7==0||i%11==0) a[j++]=i; *n=j;}main(){ int aa[M],n,k; clrscr(); fun(100,aa,&n); for(k=0;k<n;k++) if((k+1)%20==0)printf("\n"); else printf("%d",aa[k]); printf("\n"); }
第5题:
有以下程序
#include <stdio.h>
void fun(int *s,int n1,int n2)
{ int i,j,t;
i=n1; j=n2;
while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}
}
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},k;
fun(a,0,3); fun(a,4,9); fun(a,0,9);
for(k=0;k<l0;k++)printf("%d",a[k]); printf("\n");
}
程序的运行结果是
A.0987654321
B.4321098765
C.5678901234
D.0987651234