当前位置:首页 > C语言实验报告参考答案(原)
k=sqrt(m);
for(i=2;i<=k;i++) if(m%i==0)break; if(i>k)return 1; return 0; }
main() {
int i,k; k=0;
for(i=3;i<=5000;i++)
if(prime(i)==1){k++;printf(\ printf(\共有%d个素数\\n\ }
3. 编写自定义函数count(int x),计算x的因子个数。利用此函数找出并输出1~1000中有奇数个不同因子的整数。 #include
int count(int x) {
int sum,i;
sum =0;//记住因子的个数 for(i=1;i<=x/2;i++) if(x%i == 0) sum +=1;
return sum+1; }
int main(void) {
int i,y;
for(i=1;i<=100;i++) { y=count(i);
if(y%2==1)printf(\ }
return 0;
} 六、调试和测试结果 1.输入:2 3 输出:s=8
2.输出:共有668个素数
2.
3、输出结果为:
实验六 数组
四、设计流程(算法描述)
(请写出上机内容1的算法描述)
设置两个变量分别指示头和尾。第一个和最后一个元素值互换,然后头和尾变量向里移动,最终到两变量相遇为止。
五、程序清单
1.编写程序:从键盘输入一串整数保存到数组中,调用函数antitone()将数组反序输出。自定义函数void antitone(int a[],int n)实现将数组中的n个数据按逆序存放。 void antitone(int a[],int n) {
int i,j; int k;
i=0; j=n-1;
while(i k=a[i]; a[i]=a[j]; a[j]=k; i +=1; j -=1; } } 2.已知某数列的前两项为2和3,其后每一项为其前两项之积。编程实现:从键盘输入一个整数x,判断并输出x最接近数列的第几项? #include void Mad(int a[],int n) { int i; a[0]=2; a[1]=3; for(i=2;i a[i] = a[i-1] * a[i-2]; } } int main(void) { int a[100],x,k1,k2; int i; Mad(a,100);//产生序列 printf(\ scanf(\ i=0; for(;x>a[i];i++); k1 = abs(x-a[i-1]); k2 = abs(x-a[i]); if(k1>k2) printf(\ else printf(\ return 0; } 3.编程实现:输入10个学生5门课的成绩并完成如下功能 (1)求每个学生的平均分; (2)求每门课程的平均分。 #include typedef struct student { char name[20]; float math; float englis; float computer; float Chinese; float history; }STUDENT; int main(void) { STUDENT stu[num]; int i; float score,sum,average; char s[10]; float scoreMath,scoreEng,scoreCom,scoreChi,scoreHis; for(i=0;i printf(\ gets(stu[i].name); printf(\ scanf(\ stu[i].math = score; printf(\ scanf(\ stu[i].englis = score;
共分享92篇相关文档