1. Descripción del tema:
#include<stdio.h>
#include<stdlib.h>
float fact(int n)
{
if(n==1)
{
return 1;
}
return n*fact(n-1);
}
int main(void)
{
float sum=1.0;
int i;
for(i=1;1;i++)
{
printf("%f\n",1.0/fact(i));
if((1.0/fact(i))<(1e-6))
{
break;
}
sum+=(1/fact(i));
}
printf("%f",sum);
return 0;
}
2. Descripción del título:
escriba un programa para encontrar todos los números primos (también conocidos como números primos) entre 1 y 100 y generarlos.
#include<stdio.h>
int isprime(int n)
{
int i;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
{
return 0;
}
}
return 1;
}
int main(void)
{
int i;
for(i=2;i<100;i++)
{
if(isprime(i))
{
printf("%d\n",i);
}
}
return 0;
}
3. Descripción del título:
escriba un programa, hay 10 estudiantes y los datos de cada estudiante incluyen: número de estudiante, nombre y calificaciones de tres cursos. Requisito: ingrese los datos de 10 estudiantes desde el teclado y, finalmente, calcule la calificación promedio de cada curso y la calificación promedio de cada estudiante, y emita los resultados correspondientes.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct student{
int no;
char name[100];
float english;
float chinese;
float math;
};
int main(void)
{
struct student student[10];
int i=0;
float eaver=0;
float caver=0;
float maver=0;
float paver=0;
float stuaverage;
printf("请输入10个学生的信息:");
for(i=0;i<10;i++)
{
scanf("%d%s%f%f%f",&student[i].no,&student[i].name,&student[i].english,&student[i].chinese,&student[i].math);
}
for(i=0;i<3;i++)
{
eaver+=student[i].english;
caver+=student[i].chinese;
maver+=student[i].math;
}
printf("英语的平均成绩为:%f\n",eaver/10.0);
printf("语文的平均成绩为:%f\n",caver/10.0);
printf("数学的平均成绩为:%f\n",maver/10.0);
for(i=0;i<10;i++)
{
stuaverage=(student[i].chinese+student[i].english+student[i].math)/3.0;
printf("第%d个的平均成绩为%f",i,stuaverage);
stuaverage=0;
}
return 0;
}
4. Descripción del tema:
Escriba un programa cuya función sea leer un conjunto de datos (10 enteros) del teclado, guardar los números pares e impares en los archivos de disco "odd.c" y "even.c" respectivamente, y generar el contenido de los dos archivos
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int i;
int arr[10];
FILE *fa,*fe;
char str[100];
if((fa=fopen("odd.c","w"))==NULL)
{
printf("can not open this file.");
exit(0);
}
if((fe=fopen("even.c","w"))==NULL)
{
printf("can not open this file.");
exit(0);
}
printf("请输入10个整数:\n");
for(i=0;i<10;i++)
{
scanf("%d",&arr[i]);
if(arr[i]%2==0)
{
fputc(arr[i]+'0',fa);//数字转成字符
}
else{
fputc(arr[i]+'0',fe);
}
}
fclose(fa);
fclose(fe);
if((fa=fopen("odd.c","r"))==NULL)
{
printf("can not open this file.");
exit(0);
}
if((fe=fopen("even.c","r"))==NULL)
{
printf("can not open this file.");
exit(0);
}
fscanf(fa,"%s",str);
puts(str);
fscanf(fe,"%s",str);
puts(str);
fclose(fa);
fclose(fe);
return 0;
}