18. 采用二维数组输入多个学生五门课的成绩,分别求出每个学生的平均成绩和每门课的成绩。
19.编写程序,逆转字符串。
20. 编写程序,统计一个英语文本中的英语单词个数。
21. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
参考答案:
#include “stdio.h” void main() {
int i,j,k,n;
for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++)
if(i*i*i+j*j*j+k*k*k==i*100+j*10+k) {
n=i*100+j*10+k;
printf(\ } }
22.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
参考答案:
#include \main() {
int n,t,number=20; float a=2,b=1,s=0;
for(n=1;n<=number;n++) {
s=s+a/b;
t=a;a=a+b;b=t; }
printf(\}
6
23.找出101~200中所有的素数。
参考答案:
#include
int isprimer(int n) {
int i,m;
m=(int)(sqrt(n)); for(i=2;i<=m;i++) {
if(n%i==0) return 0; }
return 1; }
void main() {
int i;
for(i=101;i<=200;i++) if(isprimer(i))
printf(\}
24.使用循环结构编写程序,打印出如下图案* *** *****
参考答案:
#include “stdio.h” void main() {
int i,j,k;
for(i=1;i<=3;i++) {
for(j=1;j<=3-i;j++) printf(\
for(k=1;k<=2*i-1;k++)
7
printf(\ printf(\ } }
25.用冒泡排序法将10个整数由大到小排序。
参考答案:
#include
{ int a[10], i, j, t;
printf (\ for (i = 0; i < 10; i++) scanf (\
for (i = 0; i < 9; i++) for (j = 0; j < 9 - i; j++) if (a[j] < a[j+1]) { t = a[j];
a[j] = a[j+1]; a[j+1] = t; }
printf (\ for (i = 0; i < 10; i++) printf (\}
26.输入任意正整数,编程判断该数是否为回文数(回文数是指从左到右读与从右到左读一样,如12321)。
参考答案:
#include
{ int n, m = 0, s, r;
printf (\ scanf (\ s = n;
while (s != 0) { r = s % 10;
m = 10 * m + r; s = s / 10; }
if (m == n)
8
printf (\ else
printf (\}
27. 求出10至1000之内能同时被2、3、7整除的数,并输出。
28. 输入一字符串,检查是否回文 (回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。
29.设计一个函数,用来判断一个整数是否为素数。
参考答案:
#include
int IsPrimer(int n) { int i; if(n<=1) return 0;
for(i=2;i<=(int)sqrt(n);i++) { if(n%i==0)
return 0; } return 1; }
void main() { int i;
scanf(\ if(IsPrimer(i))
printf(\这是素数\\n\ else
printf(\这不是素数\\n\}
printf (\ for (i = 0; i < 10; i++) printf (\}
30.从键盘上输入若干学生成绩(成绩在0~100之间),计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。
参考答案:
#include
9
float x[1000],sum=0,ave, a; int n=0, i;
printf(\:\\n\ scanf(\
while(a>=0 && a<=100 && n<1000) {
sum+=a; x[n]=a; n++;
scanf(\ }
ave= sum/n;
printf(\:\\n\ printf(\ for (i=0;i printf (\} 31.设计一个函数,用来判断一个整数是否为素数。 参考答案: #include int IsPrimer(int n) { int i; if(n<=1) return 0; for(i=2;i<=(int)sqrt(n);i++) { if(n%i==0) return 0; } return 1; } void main() { int i; scanf(\ if(IsPrimer(i)) printf(\这是素数\\n\ else printf(\这不是素数\\n\} printf (\ for (i = 0; i < 10; i++) 10