1.程序填空题
给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。
例如,若x=5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、230、302、311、320、401、410、500。共有15个。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
int fun(int x)
{
int n, s1, s2, s3, t;
n=0;
t=100;
/**********found**********/
while (t<=__1__)
{
/**********found**********/
s1=t%10; s2=(__2__)%10; s3=t/100;
/**********found**********/
if(s1+s2+s3==__3__)
{
printf("%d ",t);
n++;
}
t++;
}
return n;
}
int main()
{
int x=-1;
while(x<0)
{
printf("Please input(x>0): ");
scanf("%d",&x);
}
printf("\nThe result is: %d\n",fun(x));
return 0;
}
2.程序修改题
给定程序中,函数fun的功能是:从整数10至55之间,选出能被3整除且有一个位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定,函数中a1存放个位数,a2存放十位数。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include <stdio.h>
int fun (int *b)
{
int k,a1,a2,i=0;
for (k=10;k<=55;k++)
{
/************found************/
a2=k%10;
a1=k-a2*10;
if((k%3==0 && a2==5)||(k%3==0 && a1==5))
{ b[i]=k; i++; }
}
/************found************/
return k;
}
int main()
{
int a[100],k,m;
m=fun(a);
printf("The result is:\n");
for (k=0;k<m;k++) printf("%4d",a[k]);
printf("\n");
return 0;
}
3.程序设计题
假定输入的字符串中只包含字母和*号。编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。
例如,字符串中的内容为:*****A*BC*DEF*G***,删除后,字符串的内容应当为:*****A*BC*DEF*G。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
#include <string.h>
void NONO(void);
void fun( char *a )
{
}
int main()
{
char s[81];
printf("Enter a string:\n");
gets(s);
fun( s );
printf("The string after deleted:\n");
puts(s);
NONO();
return 0;
}
void NONO(void)
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *in, *out ;
int i ;
char s[81] ;
in = fopen("in.dat","r") ;
out = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++)
{
fscanf(in, "%s", s) ;
fun(s) ;
fprintf(out, "%s\n", s) ;
}
fclose(in) ;
fclose(out) ;
}
1.(1)999 (2)t/10 (3)x
2. a2=k/10;
return i;
3. void fun( char *a )
{
int i,j;
for (i=0,j=0;a[i]!='\0';i++)
if (a[i]!='*') j=0;
else j++;
a[i-j]='\0';
}
第76套参考答案1.程序填空题
给定程序中,函数fun的功能是:计算
直到||<=10-3,并把计算结果作为函数值返回。
例如,若形参e的值为1e-3,函数的返回值为2.985678。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
double fun(double e)
{
int i;
double s, x;
/**********found**********/
s=0; i=__1__;
x=1.0;
while(x>e)
{
/**********found**********/
__2__;
/**********found**********/
x=(2.0*i-1)/((__3__)*(2.0*i));
s=s+x;
}
return s;
}
int main()
{
double e=1e-3;
printf("\nThe result is: %f\n",fun(e));
}
2.程序修改题
给定程序中,函数fun的功能是:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。
例如,当s所指字符串为“ABCD”时,则t所指字符串中的内容应为“ABCDDCBA”。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include <stdio.h>
#include <string.h>
/************found************/
void fun (char s, char t)
{
int i, d;
d = strlen(s);
for (i = 0; i<d; i++) t[i] = s[i];
for (i = 0; i<d; i++) t[d+i] = s[d-1-i];
/************found************/
t[2*d-1] = '\0';
}
int main()
{
char s[100], t[100];
printf("\nPlease enter string S:");
scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
return 0;
}
3.程序设计题
编写函数fun,它的功能是:将s所指字符串中除了下标为奇数,同时ASCII码值也为奇数的字符外,其余的字符全部删除;串中剩余字符所形成的一个新串放在t所指的数组中。
例如,若s所指字符串中的内容为:ABCDEFG12345,则t所指数组中的内容应为:135。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
#include <string.h>
void NONO(void);
void fun(char *s, char t[])
{
}
int main()
{
char s[100], t[100];
printf("\nPlease enter string S:");
scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
NONO();
return 0;
}
void NONO(void)
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
char s[100], t[100] ;
FILE *rf, *wf ;
int i ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++)
{
fscanf(rf, "%s", s) ;
fun(s, t) ;
fprintf(wf, "%s\n", t) ;
}
fclose(rf) ;
fclose(wf) ;
}
1.(1)0 (2)i++ (3)2.0*i
2. void fun (char *s, char *t)
t[2*d] = '\0';
3. void fun(char *s, char t[])
{
int i,j=0;
for (i=0;s[i]!='\0';i++)
if (i%2==1 && s[i]%2==1)
t[j++]=s[i];
t[j]='\0';
}
第77套参考答案1.程序填空题
给定程序中,函数fun的功能是:逆置数组元素中的值。
例如,若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
void fun(int a[], int n)
{
int i,t;
/**********found**********/
for (i=0; i<___1___; i++)
{
t=a[i];
/**********found**********/
a[i] = a[n-1-___2___];
/**********found**********/
___3___ = t;
}
}
int main()
{
int b[9]={1,2,3,4,5,6,7,8,9}, i;
printf("\nThe original data :\n");
for (i=0; i<9; i++)
printf("%4d ", b[i]);
printf("\n");
fun(b, 9);
printf("\nThe data after invert :\n");
for (i=0; i<9; i++)
printf("%4d ", b[i]);
printf("\n");
}
2.程序修改题
给定程序中,函数fun的功能是:计算num的各位上的数字之积。
例如,若输入252,则输出应为20;若输入202,则输出应为0。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include <stdio.h>
long fun(long num)
{
/************found************/
long k;
do
{
k*=num%10;
/************found************/
num\=10;
} while(num);
return (k);
}
int main()
{
long n;
printf("Please enter a number:");
scanf("%ld",&n);
printf("\n%ld\n",fun(n));
return 0;
}
3.程序设计题
编写函数fun,它的功能是:找出一维数组元素中最大的值和它所在的下标,最大的值和它所在的下标分别通过形参max和index传回。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
#include <stdlib.h>
void NONO(void);
void fun(int a[], int n, int *max, int *d)
{
}
int main()
{
int i, x[20], max , index, n = 10;
for (i=0;i < n;i++)
{
x[i] = rand()%50;
printf("%4d", x[i]) ;
}
printf("\n");
fun( x, n , &max, &index);
printf("Max =%5d , Index =%4d\n",max, index );
NONO();
return 0;
}
void NONO(void)
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i, x[20], max,index,n=10,j;
fp = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++)
{
for(j = 0 ; j < n ; j++)
fscanf(fp, "%d,", &x[j]) ;
fun( x, n , &max, &index);
fprintf(wf, "Max=%d,Index=%d\n",max,index);
}
fclose(fp) ;
fclose(wf) ;
}
1.(1)n/2 (2)i (3)a[n-1-i]
2. long k=1;
num/=10;
3. void fun(int a[], int n, int *max, int *d)
{
int i;
*d=0;
*max=a[0];
for (i=1;i<n;i++)
if (*max<a[i])
{
*max=a[i]; *d=i;
}
}
第78套参考答案1.程序填空题
给定程序中,函数fun的功能是:计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。
例如,有10个正数:40 30 32 40 6 17 45 15 48 26,平均值为:35.500000,主函数中输出m=30.0。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#include <stdlib.h>
#define N 10
double fun(double x[],double *av)
{
int i,j;
double d,s;
s=0;
for(i=0; i<N; i++) s = s +x[i];
/**********found**********/
__1__=s/N;
d=32767;
for(i=0; i<N; i++)
if(x[i]<*av && *av - x[i]<=d)
{
/**********found**********/
d=*av-x[i]; j=__2__;
}
/**********found**********/
return __3__;
}
int main()
{
int i;
double x[N],av,m;
for(i=0; i<N; i++)
{
x[i]=rand()%50;
printf("%4.0f ",x[i]);
}
printf("\n");
m=fun(x,&av);
printf("\nThe average is: %f\n",av);
printf("m=%5.1f ",m);
printf("\n");
return 0;
}
2.程序修改题
给定程序中,函数fun的功能是:求s=aa..aa-…aaa-aa-a(此处aa..aa表示n个a,a和n的值在1至9之间)。
例如,a=3,n=6,则以上表达式为:s=333333-33333-3333-333-33-3,其值是:296298。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include <stdio.h>
long fun (int a, int n)
{
int j ;
/**************found**************/
long s = 0, t = 1 ;
for ( j = 0 ; j < n ; j++)
t = t * 10 + a ;
s = t ;
for ( j = 1 ; j < n ; j++)
{
/**************found**************/
t = t % 10 ;
s = s - t ;
}
return(s) ;
}
int main( )
{
int a, n ;
printf( "\nPlease enter a and n:") ;
scanf( "%d%d", &a, &n ) ;
printf( "The value of function is: %ld\n", fun(a, n));
return 0;
}
3.程序设计题
编写函数fun,它的功能是:统计tt字符串中’a’到’z’26个小写字母各自出现的次数,并依此放在pp所指数组中。
例如,输入字符串:abcdefgabcdeabc后,程序的输出结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
#include <string.h>
void NONO(void);
void fun(char *tt, int pp[])
{
}
int main()
{
char aa[1000] ;
int bb[26], k;
printf( "\nPlease enter a char string:" );
scanf("%s", aa) ;
fun(aa, bb ) ;
for ( k = 0 ; k < 26 ; k++ )
printf ("%d ", bb[k]) ;
printf( "\n" ) ;
NONO();
return 0;
}
void NONO(void)
{/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
char aa[1000] ;
int bb[26], k, i ;
FILE *rf, *wf ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++)
{
fscanf(rf, "%s", aa) ;
fun(aa, bb) ;
for ( k = 0 ; k < 26 ; k++ )
fprintf (wf, "%d ", bb[k]) ;
fprintf(wf, "\n" ) ;
}
fclose(rf) ;
fclose(wf) ;
}
1.(1)*av (2)i (3)x[j]
2. long s = 0, t = 0 ;
t = t / 10 ;
3. void fun(char *tt, int pp[])
{
int i;
for (i=0;i<26;i++) pp[i]=0;
for (i=0;tt[i]!='\0';i++)
if (tt[i]>='a' && tt[i]<='z')
pp[tt[i]-'a']++;
}
第79套参考答案
1.程序填空题
给定程序中,通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到student.dat文件中。函数fun的功能是:从指定文件中找出指定学号的学生数据,读入此学生数据,对该生的分数进行修改,使每门课的分数加3分,修改后重写文件中该学生的数据,即用该学生的新数据覆盖该学生原来的数据,其他学生的数据不变;若找不到,则什么都不做。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#define N 5
typedef struct student
{
long sno;
char name[10];
float score[3];
} STU;
void fun(char *filename, long sno)
{
FILE *fp;
STU n;
int i;
fp = fopen(filename,"rb+");
/**********found**********/
while (!__1__)
{
fread(&n, sizeof(STU), 1, fp);
/**********found**********/
if (n.sno__2__) break;
}
if (!feof(fp))
{
for (i=0; i<3; i++) n.score[i] += 3;
/**********found**********/
fseek(fp, -1L*__3__, SEEK_CUR);
fwrite(&n, sizeof(STU), 1, fp);
}
fclose(fp);
}
int main()
{
STU t[N]={{10001,"MaChao", 91, 92, 77},
{10002,"CaoKai", 75, 60, 88},
{10003,"LiSi", 85, 70, 78},
{10004,"FangFang", 90, 82, 87},
{10005,"ZhangSan", 95, 80, 88}}, ss[N];
int i,j;
FILE *fp;
fp = fopen("student.dat", "wb");
fwrite(t, sizeof(STU), N, fp);
fclose(fp);
printf("\nThe original data :\n");
fp = fopen("student.dat", "rb");
fread(ss, sizeof(STU), N, fp);
fclose(fp);
for (j=0; j<N; j++)
{
printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);
for (i=0; i<3; i++)
printf("%6.2f ", ss[j].score[i]);
printf("\n");
}
fun("student.dat", 10003);
fp = fopen("student.dat", "rb");
fread(ss, sizeof(STU), N, fp);
fclose(fp);
printf("\nThe data after modifing :\n");
for (j=0; j<N; j++)
{
printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);
for (i=0; i<3; i++)
printf("%6.2f ", ss[j].score[i]);
printf("\n");
}
return 0;
}
2.程序修改题
给定程序中,函数fun的功能是:求S的值。

例如,当k=10时,函数值应为:1.533852。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include <stdio.h>
/************found************/
void fun(int k)
{
int n;
float s, w, p, q;
n = 1;
s = 1.0;
while ( n <= k )
{
w = 2.0 * n;
p = w - 1.0;
q = w + 1.0;
s = s * w *w/p/q;
n++;
}
/************found************/
return s
}
int main()
{
printf("%f\n", fun (10));
return 0;
}
3.程序设计题
编写函数fun,它的功能是:计算下列级数和

例如,当n=10时,函数值为 0.909091。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
void NONO(void);
double fun(int n)
{
}
int main()
{
printf("%f\n", fun(10));
NONO();
return 0;
}
void NONO(void)
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i, n ;
double s ;
fp = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++)
{
fscanf(fp, "%d", &n) ;
s = fun(n) ;
fprintf(wf, "%f\n", s) ;
}
fclose(fp) ;
fclose(wf) ;
}
1.(1)feof(fp) (2)==sno (3)sizeof(STU)
2. float fun(int k)
return s;
3. double fun(int n)
{
double s=0;
int i;
for (i=1;i<=n;i++)
s+=1.0/(i*(i+1));
return s;
}
第80套参考答案
这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,
项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU
我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我
给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in
给定两个大小相等的数组,如何找到不考虑位置的匹配元素的数量?例如:[0,0,5]和[0,5,5]将返回2的匹配项,因为有一个0和一个5共同;[1,0,0,3]和[0,0,1,4]将返回3的匹配项,因为0有两场,1有一场;[1,2,2,3]和[1,2,3,4]将返回3的匹配项。我尝试了很多想法,但它们都变得相当粗糙和令人费解。我猜想有一些不错的Ruby习惯用法,或者可能是一个正则表达式,可以很好地回答这个解决方案。 最佳答案 您可以使用count完成它:a.count{|e|index=b.index(e)andb.delete_at
我有一个帖子属于城市的关系,城市又属于一个州,例如:classPost现在我想找到所有帖子及其所属的城市和州。我编写了以下查询来获取带有城市的帖子,但不知道如何在同一查找器中获取带有城市的相应州:@post=Post.find:all,:include=>[:city]感谢任何帮助。谢谢。 最佳答案 Post.all(:include=>{:city=>:state}) 关于ruby-on-rails-使用Rails事件记录获取二级模型,我们在StackOverflow上找到一个类似的问
Ruby中如何“一般地”计算以下格式(有根、无根)的JSON对象的数量?一般来说,我的意思是元素可能不同(例如“标题”被称为其他东西)。没有根:{[{"title":"Post1","body":"Hello!"},{"title":"Post2","body":"Goodbye!"}]}根包裹:{"posts":[{"title":"Post1","body":"Hello!"},{"title":"Post2","body":"Goodbye!"}]} 最佳答案 首先,withoutroot代码不是有效的json格式。它将没有包
目标我正在尝试计算自给定日期以来周的距离,而无需跳过任何步骤。我更喜欢用普通的Ruby来做,但ActiveSupport无疑是一个可以接受的选择。我的代码我写了以下内容,这似乎可行,但对我来说似乎还有很长的路要走。require'date'DAYS_IN_WEEK=7.0defweeks_sincedate_stringdate=Date.parsedate_stringdays=Date.today-dateweeks=days/DAYS_IN_WEEKweeks.round2endweeks_since'2015-06-15'#=>32.57ActiveSupport的#weeks
技术选型1,前端小程序原生MINA框架cssJavaScriptWxml2,管理后台云开发Cms内容管理系统web网页3,数据后台小程序云开发云函数云开发数据库(基于MongoDB)云存储4,人脸识别算法基于百度智能云实现人脸识别一,用户端效果图预览老规矩我们先来看效果图,如果效果图符合你的需求,就继续往下看,如果不符合你的需求,可以跳过。1-1,登录注册页可以看到登录页有注册入口,注册页如下我们的注册,需要管理员审核,审核通过后才可以正常登录使用小程序1-2,个人中心页登录成功以后,我们会进入个人中心页我们在个人中心页可以注册人脸,因为我们做人脸识别签到,需要先注册人脸才可以进行人脸比对,进
如何计算两个字符串之间的字符交集?例如(假设我们有一个名为String.intersection的方法):"abc".intersection("ab")=2"hello".intersection("hallo")=4好的,男孩女孩们,感谢你们的大量反馈。更多示例:"aaa".intersection("a")=1"foo".intersection("bar")=0"abc".intersection("bc")=2"abc".intersection("ac")=2"abba".intersection("aa")=2一些补充说明:维基百科定义intersection如下:Int