电视剧坎坷全集中文版:c 语言的编程

来源:百度文库 编辑:高考问答 时间:2024/04/28 10:00:54
1.输出100以内能被4整除且个位数为8的所有整数.
2.编写函数,实现计算n个元素组成的整型数组中去掉一个最大值和一个最小值后的平均值(如果有多个相同的最大值和最小值,只要去掉一个)。
3.设计函数,求整数n的阶乘,并在主函数中调用该函数计算下列多项式的和:
y=2!+4!+6!+8!+…+20!
4.在main函数中输入5个学生3门课的成绩,用自定义函数找出最高分以及所对应的学生和课程。
5.定义一个函数,统计3行4列的整数二维数组中有多少个正数、多少个负数、多少个零,并返回结果。
6. 编写一个函数 int f (int p),它的功能是:判断p是否为素数,若是,返回1;否则,返回0。

第一题:

#include <stdio.h>

void main()
{
int i;

for(i = 1; i <= 100; ++i)
{
if( (i % 4 == 0) && ( (i - (i/10)*10) == 8) )
printf("%d\n", i);
}
}

第二题:假设有10个元素

#include <stdio.h>

void main()
{
int array[10] = {3, 654, 443, 33, 3, 97, 443, 212, 121, 2};
int min, max;
int all = array[0];
int average;
int i;

min = max = array[0];

for(i = 1; i < 10; ++i)
{
if( array[i] < min)
{
min = array[i];
}

if( array[i] > max)
{
max = array[i];
}

all += array[i];
}

all -= min;
all -= max;

average = all / (10-2);
}

第三题:

#include <stdio.h>

int factorial(int n)
{
int i;

if(n > 1)
{
for(i = n - 1; i >= 1; --i)
{
n *= i;
}

return n;
}

return 1;
}

void main()
{
unsigned long y = 0;
int i;

for(i = 1; i <= 10; ++i)
{
y += factorial(2*i);
}

printf("%d\n", y);
}

第四题:写不下去了,题目不清,如果有几门课成绩相同怎么处理?而且不同科目成绩比较,没有意义。
不过我把写了一半的代码给你。

#include <stdio.h>

typedef struct subj
{
char *subname;
int mark;
} subject;

typedef struct stu
{
const char *name;
subject math;
subject english;
subject sport;
} student;

void findStudent(student temp[], char *stuname, char *subname, int *Mark)
{
int i;

for(i = 0; i < 5; ++i)
{
temp[i].
}

return;
}

void main()
{
int i;
int max;
char stuName[10];
char subName[10];
student s[5];

s[0].name = "student1";
(s[0].math).subname = "数学";
(s[0].english).subname = "英语";
(s[0].sport).subname = "体育";

s[1].name = "student2";
(s[1].math).subname = "数学";
(s[1].english).subname = "英语";
(s[1].sport).subname = "体育";

s[2].name = "student3";
(s[2].math).subname = "数学";
(s[2].english).subname = "英语";
(s[2].sport).subname = "体育";

s[3].name = "student4";
(s[3].math).subname = "数学";
(s[3].english).subname = "英语";
(s[3].sport).subname = "体育";

s[4].name = "student5";
(s[4].math).subname = "数学";
(s[4].english).subname = "英语";
(s[4].sport).subname = "体育";

for(i = 0; i < 5; ++i)
{
printf("输入学生 %d 的数学成绩:\n", i);
scanf("%d", &(s[i].math).mark);
printf("输入学生 %d 的英语成绩:\n", i);
scanf("%d", &(s[i].english).mark);
printf("输入学生 %d 的体育成绩:\n", i);
scanf("%d", &(s[i].sport).mark);
}

findStudent(s, stuName, subName, &max);

// printf("最高成绩是学生 %s 的 %s 课程,成绩为:%d",
}

第五题:

#include <stdio.h>

void findNum(int temp[3][4], int *plusNum, int *negativeNum, int *zeroNum)
{
int i, j;

for(i = 0; i < 3; ++i)
{
for(j = 0; j < 4; ++j)
{
if(temp[i][j] > 0)
{
++(*plusNum);
}

if(temp[i][j] < 0)
{
++(*negativeNum);
}

if(temp[i][j] == 0)
++(*zeroNum);
}
}
}

void main()
{
int plusNum = 0;
int negativeNum = 0;
int zeroNum = 0;

int array[3][4] =
{
{3, 0, -8, 98},
{3, -8, -7, 211},
{88, 0, 0, 99}
};

findNum(array, &plusNum, &negativeNum, &zeroNum);

printf("正数个数为:%d\n负数个数为:%d\n为零的个数为:%d\n",
plusNum, negativeNum, zeroNum);
}

第六题:

#include <stdio.h>
int num;
int pri;
int prime (int);

int main()
{
printf ("输入待测数据:\n");
scanf ("%d", &num);

pri=prime(num);

if (pri==0)
printf ("这不是一个素数\n");
if (pri==1)
printf ("这是一个素数\n");
}

int prime(int n)
{
int i;
for (i=2; i<n; i++)
if (n%i == 0)
return 0;

return 1;
}

#include <stdio.h>

void main()
{
int i;

for(i = 1; i <= 100; ++i)
{
if( (i % 4 == 0) && (( i mod 10)== 8) )
printf("%d\n", i);
}
}