下列给定程序中,函数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");
}
第1题:
程序test.c的功能是:选出1000至5000范围内(包括l 000、5000)符合下面条件的四位自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的整10倍。计算并输出这些四位自然数的个数cnt以及这些数的和sum。请编写函数countValue实现程序的要求。最后main函数调用函数 writeDAT把结果cnt和sum输出到out.dat文件中。 注意:部分源程序存放在test.c文件中。 请勿改动主函数main和输出数据函数writeDAT的内容。
第2题:
程序test.c的功能是:选出1000至5 000范围内(包括1 000、5 000)符合下面条件的四位自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的整10倍。计算并输出这些四位自然数的个数cnt以及这些数的和sum。请编写函数countValue实现程序的要求。最后main函数调用函数 writeDAT把结果crlt和sum输出到out.dat文件中。
第3题:
如下程序段的功能是判断一个4位自然数个位和十位数字是否相同,在划线处填写表达式。 int num; scanf ("%d",&num); if (num>=1000 && num<10000) if (______________) printf (“该4位自然数个位和十位数字相同n”); else printf (“该4位自然数个位和十位数字不同n”);
A.num%10 ==num/10%10
B.num/10%10==num/100%10
C.num/100%10==num%10
D.num/1000==num%10
第4题:
程序test.c的功能是:选出大于100小于1000的所有个位数字与十位数字之和被10除所得余数恰是百位数字的所有素数(如293)。计算并输出上述这些素数的个数cnt以及这些素数值的和sum。请考生编写函数countValue实现程序要求,最后调用函数writeDAT把结果cnt和sum输出到文件out.dat中。
第5题:
给定程序MODll.C中函数fun的功能是:计算n的5次方的值(规定n的值大于2、小于8),通过形参指针传回主函数;并计算该值的个位、十位、百位上数字之和作为函数值返回。
例如,7的5次方是16807,其低3位数的和值是15。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!