C语言简单算法样例
整理资料的时候发现之前学习的一些简单算法样例,整理了一下做个汇总,对之前的学习做个小结,例子简单适用,偶尔回味感也不错。
- 从键盘输入10个学生的成绩,求出成绩中的最高分、最低分、平均分以及超过平均分的人数并输出
#include<stdio.h>
void main()
for(j=0;j<9;j++)//由小到大排列
{
for(i=0;i<(9-j);i++)
{
if(data[i]>data[i+1])
{
temp=data[i];
data[i]=data[i+1];
data[i+1]=temp;
}
}
}
//最大值为data[9]
//最小值为data[0]
//平均值为avr:
sum=0;
for(i=0;i<10;i++)
{
sum += data[i];
}
avr = sum/10;
//超过平均值的人数为num:
num=0;
for(i=0;i<10;i++)
{
if( data[i] > avr)
{
num++;
}
}
- 从键盘输入10个整数存放于数组中,并从小到大进行排序,并把排序结果输出。、
#include"stdio.h"
void main()
{int a[10],i,j,m;
printf("please enter the number:\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]>a[j])
{m=a[j];a[j]=a[i];a[i]=m;}
}
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
- 从键盘输入一串字符,统计其中英文字母,空格和数字以及其他字符的个数。
#include <string.h>
#include <ctype.h>
#include <stdio.h>
#define M 100
void main()
{
char pc[M];
printf("\n输入字符串:");
gets(pc);
int len = strlen(pc);
int zm=0, sz=0, kg=0, qt;
for(int i=0;i<M;i++)
{
if(isdigit(pc[i])) sz++; // 判断字符是否数字
if(isalpha(pc[i])) zm++; // 判断字符是否字母
if(pc[i]==' ') kg++; // 判断字符是否空格
}
qt = len-zm-sz-kg;
printf("字符串中字母个数为:%d、数字个数为:%d、空格个数为:%d、其它字符个数为:%d .\n", zm, sz, kg, qt);
}
- 从键盘输入一个正整数n,计算1(1!)-1(2!)+1(3!)-1(4!)+…+1(n!)的值保留4位小数
#include<stdio.h>
#include <stdlib.h>
int factorial(int n);
double fact(int n);
double power(int n);
int main()
{
int i,j;
double ff=0;
double mm;
printf("Input a integer:");
scanf("%d",&i);
mm = fact(i);
printf("%f\n",mm);
for(j=1;j<=i;j++)
{
ff+=power(j)*fact(j);
}
printf("%0.4f\n",ff);
return 0;
}
int factorial(int n)
{
if(n==0||n==1)
return 1;
else
return n*factorial(n-1);
}
double fact(int n)
{
double result,f;
char s[20];
f = factorial(n);
result = 1/f ;
sprintf(s,"%0.4f",result);
result = atof(s);
return result;
}
double power(int n)
{
int i;
double result=-1;
for(i=0;i<n;i++)
{
result*=-1;
}
return result;
}
- 任意输出3个数字 按从小到大排序输出
#include<stdio.h>
void main()
{
float a,b,c,t;
printf("input 3 number:\n");
scanf("%f%f%f",&a,&b,&c);
if(a>b)
t=a;
a=b;
b=t;
if(a>c)
t=a;
a=c;
c=t;
if(b>c)
b=t;
t=c;
c=t;
printf("the 3 number =%f %f %f",a,b,c);
}