编写程序
编写程序,一个班级有n个学生,每个学生有学号、姓名和三门课的成绩。要求编程实现以下功能。
①先输入n,再依次输入n个学生的信息。
②按学生平均分从高到低排序。
③将排序结果写到文件C:\STU.TXT文件中,每个学生占一行。
(已知每班学生数少于100个,姓名和学号长度不超过10个字符;要求使用结构体类型。)
循环控制
1.实验目的
①熟悉掌握用while语句,do-while语句和for语句实现循环的方法。
②掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。
③进一步学习调试程序。
2.实验内容
编程序并上机调试运行。
①逐个检查1到200的所有整数,求1到200之间的完全平方数。
②判断一个整数是否为素数。
③由标准输入读一行字符,输出各个字符的编码。
④统计由标准输入得到的文件中字符的个数。
⑤统计输入数据的个数,找出其中的最小值和最大值。
⑥分别统计输入文件中的空格、行、数字、花括号以及其他所有字符的个数。
⑦打印Fibonacci序列前30个数。
⑧填出下列程序的运行结果。
main()
{int k=0;char c='A';
do
{ switch(c++)
{case'A':k++;break;
case'B':k--;
case'c':k+=2; break;
case'D':k=k%2; contlnue;
case'E':k=k*10;break;
default:k=k/3;
}
k++;
}
while(c<'G');
prinff("k=%d\n",k);
}
⑨若运行以下程序时,从键盘输入3.6 2.4<CR> (<CR>表示回车),写出程序的运行结果。
#include<math.h>
main()
(float x,y,z;
scanf("%f%f",&x,&y);
z=x/y
while(1)
{if(fabs(z)>1.0) {x=y;y=z:z=x/y:}
else break;
}
printf("%f\n",y);
}
⑩编写程序,从键盘输入6名学生的5门成绩,分别求出每个学生的平均成绩,并依次输出。
编程求1!+2!+3!+4!+……………+19!+20!。
找出1000之内的所有完数。
输出9*9口诀。
打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,冈为153=13+53+33。
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,只剩下一个桃子了。求猴子第一天共摘了多少个桃子。
要求编写程序使得在屏幕上输出如下图形。
Private Sub Command1_Click() Randomize n=CInt(Text1.Text) n1=0 n2=0 For i=1To【 】 r=Int(Rnd*2) If r=【 】Then n1=n1+1 Else n2=n2+1 End If Next TcxtText=n1 TextText=n2 End Sub
以下程序的功能是输入一个整数,判断是否为素数,若为素数输出1,否则输出0,请填空。
main()
{int i,x,y=1;
scanf("%d",&x);
for(i=2;i<=______;i++)
if(______){y=0;break;}
printf("%d\n",y);
}
图2.3.14(a)、(b)所示为传输门和非门构成的电路及输入波形。试说明该电路实现的逻辑功能,并画出输出L的波形。
#include<stdio.h>
main()
{char*p,s[6];
int n;
p=s;
gets(p);
n=*p-'0';
while(______!='\0')
n=n*8+*p-'0';
printf("%d\n",n);
}