第1题
编写一程序,求一维数组中下标为偶数的元素之和。 编程提示: 1.定义一个数组a并初始化。 2.定义一个整型变量sum,存放下标为偶数的元素和,并初始化为0。 3.从数组的第0个元素开始,每次循环变量递增2,一直到数组的最后一个元素,将其累加到sum变量。 4.输出sum变量即为下标为偶数的元素之和。/* c6-6.c 求一维数组中下标为偶数的元素之和*/ #include "stdio.h" int main( ) { int i,sum=0; /* 初始化sum为0 */ int a[]={2,3,4,5,6,7,8,9}; for(i=0; i<8; ) * 请补充完整循环语句 sum+="a[i];" printf("sum="%d\n",sum);" return 0;>
第2题
下面程序的功能是:根据输入的整数x和n,利用函数fact实现求。 例如:输入:2,3 输出=8 请在程序中的横线上填入正确的内容,将程序补充完整。 /* c7-1.c 利用函数fact实现求x的n次方*/ #include "stdio.h" int main( ) { long int fact(long x,long n) ; /*声明fact函数*/ long int x ; long int n; printf("please enter X and N(>=0): "); scanf("%ld,%ld", &x, &n ); printf("%ld,%ld=%ld",x,n, (1) ); /*调用fact函数 */ return 0; } long int fact(long int x, long int n) /*定义fact函数求xn */ { long int i,s; (2) ; /*求累积变量的初始化*/ if (n= =0) return 0; for(i=1; i<=n; i++) *用循环实现xn* s="s*x;" (3) ; *返回结果xn*>
第3题
求过点N(2,-3,4)且与直线垂直相交的直线方程。 解:设交点M,因为M在直线上,故可用的参数方程表示M点坐标,利用垂直条件解出具体参数即M点坐标,则所求直线MN方程即可写出。下设M点坐标(2t+1,t,-t+1)(t为参数),则向量的坐标表示(1-2t,-3-t,3+t)。直线MN与垂直,设的方向向量为,则由可解得t=( )
A、
B、
C、
D、
第4题
请编写程序,生成随机密码。具体要求如下: (1)使用random库,采用0x1010作为随机数种子。 (2)密码由26个字母大小写、10个数字字符和!@#$%^&*等8个特殊符号组成。 (3)每个密码长度固定为10个字符。 (4)程序运行每次产生10个密码,每个密码一行。 (5)每次产生的10个密码首字符不能一样。 (6)程序运行后产生的密码保存在“随机密码.txt”文件中。 import random f=open("d:\\随机密码.txt","w") random.seed(0x1010) s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*" ls=[] lt=[] while len(ls)<10: pwd for i in range(10): if pwd[0] not lt: ls.append(pwd) lt.append(pwd[0]) f.write(pwd+"\n")>
第5题
1. 文法G=({A,B,S},{a,b,c},P,S), 其中P 为: S→Ac|aB A→ab B→bc 写出L(G[S])的全部元素。 2. 文法G[S]为: S→Ac|aB A→ab B→bc 该文法是否为二义的?为什么? 3. 考虑下面上下文无关文法: S→SS*|SS+|a (1)表明通过此文法如何生成串aa+a*,并为该串构造语法树。 (2)G[S]的语言是什么? 4. 给出生成下述语言的二型文法: (1) {anbn | n >=0 } (2) { ambn | m≥n ≥0 } (3) {uawb | u,w ∈{a,b}*∧|u|=|w| } (4) { anbm | n≥2m ≥0 } (5) { anbm | n ≥ 0, m ≥ 0,3n≥m≥2n } (6) {wwR|w∈{a,b}*,wR 表示w的逆} (7) {uvwvR|u,v,w∈{a,b}+=1 } 5. 给出生成下述语言的三型文法: (1) {an | n >=0 } (2) { anbm | n,m>=1 } (3) {anbmck | n,m,k>=0 }
第6题
编写程序,输出一维数组a中的元素最小值及其下标。 编程提示: 1.定义一个整型变量存放最小值下标,将其初始化为0 ,例如:int p=0;即从数组第零个元素开始判断。 2.通过循环,依次判断数组中的每一个元素a[i]是否小于a[p],如果是,则将p和a[p]的值作相应的改变。/* c6-5.c 输出一维数组中元素的最小值及其下标*/ #include "stdio.h" int main( ) { int i,m,p,a[10]={9,8,7,6,1,3,5,18,2,4}; /* m为最小值,p为其下标 */ m=a[0]; p=0; for(i=1;i<10;i++) if { ; p="i;}" * 请补充完整此语句 printf("%d,%d\n",a[p],p); 输出一维数组a中的最小值及其下标 return 0;>
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!