搜档网
当前位置:搜档网 › 一些简单的C语言程序代码

一些简单的C语言程序代码

一些简单的C语言程序代码
一些简单的C语言程序代码

由键盘任意输入1个4位数整数,分别输出其中的个位、十位、百位、千位。

/* expe 3-10 */

#include

#include

void main(void)

{

int mun,a,b,c,d;

scanf("%d",&mun);

a=mun / 1000; /*千位*/

b=(mun % 1000) / 100; /*百位*/

c=(mun % 100) / 10; /*十位*/

d=(mun % 10); /*个位*/

printf("千位数字为=%d\n",a);

printf("百位数字为=%d\n",b);

printf("十位数字为=%d\n",c);

printf("个位数字为=%d\n",d);

}

由键盘任意输入3个数据,找出其中的最大数和最小数。

#include

void main(void)

{

float a,b,c,k,g;/* k 小g 大*/

printf ("请输入三个数");

scanf("%f%f%f",&a,&b,&c);

if (a < b)

{

k = a;

g = b;

}

else

{

k = b;

g = a;

}

if (k < c)/*最小*/

{ printf ("\n最小的数=%5.2f",k);}

else

{printf ("\n最小的数=%5.2f",c);}

if (g > c)/*最大*/

{printf ("\n最大的数=%5.2f",g);}

else

{printf ("\n最大的数=%5.2f",c);} }

判断三角形的形状

#include

#include

void main(void)

{

printf("请输入三角形三边");

float a,b,c,p,s,k1,k2,k3;

scanf("%f%f%f",&a,&b,&c);

while (a + b < c || b + c < a || a + c < b )

{

printf("不能构成三角形,请重新输入");

scanf("%f%f%f",&a,&b,&c);

}

k1 = a * a;

k2 = b * b;

k3 = c * c;

if (a == b && b == c && c ==a)

{printf("此三角形为等边三角形");}

else if (a == b || b == c || c ==a)

{printf("此三角形为等腰三角形"); }

else if ((k1 == b * b + c * c) || (k2 == a * a + c *

c) || (k3 = a * a + b * b))

{printf("此三角形为直角三角形");}

else

{printf("此三角形为一般三角形");} }

九九乘法表

整体

#include

void main(void)

{

int i,j;

for (i = 1;i < 10; i ++)

{

for(j = 1;j < 10; j ++)

{printf("%5d",i * j);}

printf("\n"); } }

右半边

#include

void main(void)

{

int i,j;

for (i = 1;i < 10; i ++)

{

for(j = 1;j <= i; j ++)

{ printf("%5d",i * j);}

printf("\n"); } }

左半边

#include

void main(void)

{

int i,j;

for (i = 1;i < 10;i ++)/*最外层循环*/ {

for (j = 1;j < i; j++)/*打空格*/

{ printf(" "); }

for (j = 1;j <= 10 - i;j ++)/*计算*/

{printf("%5d",j * i); }

printf("\n"); } }

打印菱形

#include

void main(void)

{

int i,j,k;

for (i = 1;i <= 5;i ++)

{

for (j = 0;j < 5 - i;j ++)

{printf(" ! "); }

for (k = 1;k <= 2 * i - 1;k ++)

{printf(" * "); }

printf("\n");

}

for (i = 4;i >= 0;i --)

{

for (j = 4 - i;j > 0;j --)

{printf(" ! "); }

for (k = 2 * i ;k >= 0;k --)

{ printf(" * ");}

printf("\n"); } }

找回文

#include

#include

void main(void)

{

char str[80];

int i,j,iStrlenstr,iFlag;

printf("请输入字符串\n");

gets(str);

iStrlenstr = strlen(str);

for (i = 0 ,j = iStrlenstr - 1;i <= j ;i ++, j --)

{

if (str[i] == str[j])

{iFlag = 1; }

else

{iFlag = 0;break; }

}

if (iFlag == 1)

{printf("输入的是回文!\n"); }

else

{printf("输入的不是回文!\n"); }

}

找名字

指针法

/*不用查找函数,用指针的方法*/

#include

void main(void)

{

char str[10][80],a[80],*p[10],*q = NULL;

int i, j,iFlag = 0;

// int istrlenstr;

printf("请输入名字\n");

for ( i = 0 ; i < 10; i ++)

{

gets(str[i]);

}

printf("请输入想查找的名字\n");

gets(a);

for (i = 0; i < 10; i ++)

{p[i] = str[i]; }

q = a;

for (i = 0; i < 10; i ++ )

{

iFlag = 0;

j = 0;

while(*(p[i] + j) && *(q + j))

{

if (*(p[i]+ j) != *(q + j))

{break; }

j++;

}

if (*(p[i] + j)== '\0' && *(q + j) == '\0')

{ iFlag = 1;break; }

}

if (iFlag == 1)

printf("FOUND ! 该名字的位置为%d",i);

else

printf("NOT FOUND !"); }

/*利用指针给10个数排序*/

#include

int main(void)

{

int a[10],*p = NULL ,iTem;

int i,j,iPos = 0;

printf("请输入10个数\n");

for (i = 0; i < 10; i ++)

{scanf("%d",&a[i]); }

p = a;

for(i = 0; i < 9; i ++)

{

iPos = i;

for (j = i + 1 ; j < 10 ;j ++)

{

if (a[j]< a[iPos])

iPos = j;

}

iTem = *(a + i);

*(a + i) = *(a + iPos);

*(a + iPos) = iTem;

}

printf("排序之后的为");

for (i = 0; i < 10; i ++)

{printf("%4d",*(a + i)); }

return 0; }

/*名字排序,从大到小*/

#include

#include

void main(void)

{

char a[10][10],cTemp[10];

int i,j,iMax;

printf("输入十个学生姓名:\n");

for(i = 0; i < 10; i ++)

{gets(a[i]);}

for(i = 0;i < 10 ;i ++)

{

iMax = i;

for(j = i + 1;j < 10;j ++)

{

if(strcmp(a[iMax],a[j]) < 0)

{iMax = j;}

}

if(iMax != i)

{

strcpy(cTemp,a[i]);

strcpy(a[i],a[iMax]);

strcpy(a[iMax],cTemp);

}

}

printf("按照字典降序排序为:\n");

for(i = 0;i < 10;i ++)

{puts(a[i]);} }

/*查找并删除某字符*/

#include

int main()

{

char str[80],*p = NULL,*q;

char t;

printf("请输入字符串:\n");

gets(str);

printf("请输入想要删除的字符:\n");

t = getchar();

p = str;

q = str;

for (p = str; *p != '\0'; p ++)

{

if (*p != t)

{*q++ = *p; }

}

*q = '\0';

puts(str);}

函数作业(全部)

/*交换器,引用全局变量*/

方法一

int a,b;

void main(void)

{

scanf("%d%d",&a,&b);

fun();

printf("a=%d,b=%d\n",a,b);

}

void fun(void)

{

int c;

c = a;

a = b;

b = c;

}

方法二

#include

#define swap(x,y) {int tmp=x;x=y;y=tmp;}

int main()

{

int x,y;

printf("请输入两个数字\n");

scanf("%d%d",&x,&y);

swap(x,y);

printf("交换之后的数字是\n");

printf("%d\t%d\t",x,y);

return 0;

}

/*用函数找最大公约数*/

#include

int maxd(int,int);

int main()

{

int a,b,d;

printf("请输入两个整数\n");

scanf("%d%d",&a,&b);

d = maxd(a,b);

printf("这两个数的最大公约数为:%d",d);

return 0;

}

int maxd(int a,int b)

{

int m,n,k;

if(a

{

m = b;

n = a;

}

else

{

m = a;

n = b;

}

do

{

k = m%n;

m = n;

n = k;

}while(n != 0);

return(m);}

/*用函数统计*/

#include

int icount(char* );

int main()

{

char str[80];

int m = 0;

printf("请输入字符串\n");

gets(str);

m = icount(str);

printf("字符串中数字的个数有:%d",m);

return 0;

}

int icount(char *p)

{

int k = 0;

while( *p != '/0')

{

if (*p >= '0' && *p <= '9')

k ++;

}

return k;}

/*排序函数*/

#include

#include

void iSort (int[],int);

int main()

{

int a[10];

int i;

printf("请输入10个整数\n");

for (i = 0; i < 10 ; i ++)

{scanf("%d",&a[i]); }

iSort(a,10);

printf("从小到大排序为\n");

for (i = 0; i < 10; i ++)

{ printf("%4d",a[i]); } }

void iSort(int x[],int n)

{

int i,j,t,iPos;

for (i = 0; i < n - 1; i ++)

{

iPos = i;

for (j = i + 1; j < n; j ++)

{

if (x[j] < x[iPos])

iPos = j ;

}

if (iPos != i)

{

t = x[i];

x[i] = x[iPos];

x[iPos] = t; } } }

/*用函数找素数*/

#include

int iPrime(int);

int main()

{

int i,k = 0;

for (i = 1; i < 201; i += 2)

{

k = iPrime(i);

if (k == 1)

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

int iPrime(int x)

{

int a;

for (a = 2; a <= x/2; a ++)

{

if (x % a == 0)

return 0;

}

return 1; }

/*八进制转十进制*/

#include

int iChange(char*);

int main()

{

char s[10];

int i,k;

printf("请输入一个八进制的数");

gets(s);

k = iChange(s);

printf("对应的十进制的数位=%d",k); }

int iChange(char *x)

{

char *p;

int n = 0;

p = x;

for(;*p != '\0'; p ++)

{n = n * 8 + *p - '0'; } }

/*用函数将矩阵转置

规定是方阵*/

#include

void change(int[][4]);

int main()

{

int a[4][4],b[4][4]={0};

int i,j;

printf("请输入一个四阶矩阵\n");

for (i = 0; i < 4; i ++)

{

for (j = 0; j < 4 ;j ++)

{ scanf("%d",&a[i][j]); }

}

change(a);

printf("转置过后的矩阵式\n");

for (i = 0; i < 4; i ++)

{

for (j = 0; j < 4 ;j ++)

{printf("%3d",a[i][j]);}

printf("\n"); } }

void change(int x[][4])

{

int i,j,t;

for (i = 0;i < 4; i ++)

{

for (j = 0; j < i; j ++)

{

t = x[i][j];

x[i][j] = x[j][i];

x[j][i] = t; } } }

/*判断是否是对称矩阵

以4*4 的矩阵为例*/

#include

int dui(int[][4]);

int main()

{

int a[4][4],i,j,k = 0;

printf("请输入一个四阶矩阵\n");

for (i = 0; i < 4; i ++)

{

for (j = 0; j < 4 ;j ++)

{scanf("%d",&a[i][j]);}

}

k = dui(a);

if (k == 1)

{printf("该矩阵为对称矩阵"); }

else

{printf("该矩阵不是对称阵");} }

int dui(int x[][4])

{

int i,j,t = 0;

for (i = 0;i < 4; i ++)

{

for (j = 0; j < i; j ++)

{

if (x[i][j] == x[j][i])

t = 1;} }

return t;}

/*用函数求cos与sin*/

#include

#include

float icos(float);

float isin(float);

int main() {

float a,cosx,sinx;

printf("请输入x\n");

scanf("%f",&a);

cosx = icos(a);

sinx = isin(a);

printf("cos(x)=%7.2f\n",cosx);

printf("sin(x)=%7.2f\n",sinx);

}

float icos(float a)

{

int n = 2;

float t,k,fcos;

k = 0;

t = 1;

do

{

t *= (-1) * a * a / (n *( n - 1));

k += t;

n += 2;

}

while (fabs(t) >= 1e-6);

fcos = 1 + k;

return fcos;

}

float isin(float a)

{

float fsin;

fsin=sqrt(1 - (double)icos(a) * (double)icos(a));

return fsin;

}

/*int n = 3;

float t,k,fsin;

k = 0;

t = 1;

do

{

t *= (-1) * a * a / (n * (n - 1));

k += t;

n += 2;

}

while (fabs(t) >= 1e-6);

fsin =1 + k;

return fsin;*/

/*用函数分别统计26个字母的个数*/

#include

void jishu(char str[]);

int iCount1[26] = {0};

void main(void)

{

char str[80];

int i;

printf("请输入字符串");

gets(str);

jishu(str);

printf("26个大写字母的个数分别是\n");

for (i = 0; i < 26; i ++)

{printf("%d\n",iCount1[i]);}

}

void jishu(char x[])

{

int i;

for (i = 0; x[i] != '\0'; i ++)

{

if (x[i] >= 'A' && x[i] <= 'Z')

{iCount1[x[i] - 'A'] ++; } } }

位运算

/*地位字节按位取反*/

#include

void main(void)

{

unsigned int x;

printf("请输入数据:");

scanf("%d",&x);

x = x ^ 0X00ff;

printf("%x\n",x);} /*循环移位

通过位或运算来实现循环的功能*/

#include

void main(void)

{

int a,n;

printf("请输入一个整数:\n");

scanf("%d",&a);

printf("请输入移动的位数:\n");

printf("注意:正数代表右移,负数代表左移

");

scanf("%d",&n);

if(n > 0)

{

a = ((a >> n) | (a << ((8 * sizeof(int)) - n)));//右移

}

if(n < 0)

{a = ((a << (- n)) | (a >> ((8 * sizeof(int)) - (-

n))));//左移}

printf("%u\n",a);}

/*利用位异或运算加密*/

#include

int main()

{

int stc,code,dst;

dst = 0;//加密后

code = 1234;//密码

printf("请输入明文:\n");

scanf("%d",&stc);

dst = stc ^ code;

printf("\n加密之后的文件是:%d\n",dst);

return 0;

}

/*偶数为清零*/

#include

void main(void)

{

int a;

printf("请输入");

scanf("%d",&a);

a = a & 0x5555;

printf("%x\n",a);

}

/*十六进制转二进制*/

#include

void main(void)

{

int a,b[32],c = 1,i;

scanf("%x",&a);

for(i = 0; i < 32; i ++)

{

b[i] = (a & c) >> i;

c <<= 1;

}

for(i = 31; i >= 0; i --)

{ printf("%d",b[i]); } }

员工工资

#include

#define N 1

struct man

{

long ch;

char nam[10];

int year;

float fareJB;

float fareYJ;

float fareYF;

float fareBX;

float fareSD;

float fareSF;

};

void fare(struct man *p) {

struct man *q;

for(q=p;q

{

q->fareYF=p->fareJB+p->fareYJ;

q->fareSF=q->fareYF-q->fareBX-q->fareSD;

}

for(q=p;q

{

printf("应发工资\t实发工资\n");

printf("%5.2f\t%5.2f\n",q->fareYF,q->fareSF);

} }

void PRINTF(struct man *p)

{

struct man *q=p;

printf("职工工号\t姓名\t年龄\t基本工资\t

业绩工资\t应发工资\t保险费\t\t水电费\t

实发工资\t\n");

for(q=p;q

{

printf("%8d%10s\t%d\t%8.2f\t%8.2f\t%8.2f\t

%8.2f\t%8.2f\t%8.2f\t",q->ch,q->nam,q->year,q->f

areJB,q->fareYJ,q->fareYF,q->fareBX,q->fareSD,q->f

areSF);

} }

void main(void)

{

struct man person[N],*per;

printf("输入员工信息");

for(per=person;per

{gets(per->nam);

scanf("%d%d%f%f%f%f",&per->ch,&per->year

,&per->fareJB,&per->fareYJ,&per->fareBX,&per->fa

reSD);

}

fare(person);

PRINTF(person);

}

部门销售情况管理程序

#include

#define N 1

struct bumen

{

long num;

char name[20];

float get[4];

float ave;

}a[N];

void chazhao(struct bumen *p)

{

long NUM;

int i;

printf("输入要查找的部门的代码:");

scanf("%ld",&NUM);

printf("\n");

for(i=0;i

{

if((p+i)->num==NUM)

{

break;

}

}

printf("部门代码\t部门名称\t春季销售额\t 夏季销售额\t秋季销售额\t冬季销售额\t平均值\n");

printf("%ld\t %6s\t\t%8.2lf\t%8.2lf\t%8.2 lf\t%8.2lf\t%8.2lf\t\n

",p->num,p->name,p->get[0],p->get[1],p->get[2],p->get[3],p->ave);

}

void qiuave(struct bumen *p)

{

int i,j;

float sum=0;

for(i=0;i

{

for(j=0;j<4;j++)

{sum=sum+p[i].get[j];}

p[i].ave=sum/4;

} } void order(struct bumen *p)

{

struct bumen *min,P;

int i,j,k;

for(i=0;i

{

min=&p[i];

for(j=i+1;j

{

if(p[j].aveave)

min=&p[j];

}

P=p[i];p[i]=*min;*min=P;

}

printf("部门代码\t部门名称\t春季销售额\t

夏季销售额\t秋季销售额\t冬季销售额\t平均值

\n");

for(k=0;k

{

printf("%ld\t %6s\t\t%8.2lf\t%8.2lf\t%8.2

lf\t%8.2lf\t%8.2lf\t\n

",p[k].num,p[k].name,p[k].get[0],p[k].get[1],p[k].g

et[2],p[k].get[3],p[k].ave);

}

}

void main(void)

{

int i,j,n,x;

float t;

printf("输入部门数据");

for(i=0;i

{

scanf("%ld",&a[i].num);

scanf("%s",&a[i].name);

for(j=0;j<4;j++)

{

scanf("%f",&t);

a[i].get[j]=t;

}

}

printf("1.输入部门代码或部门名称,查找此

部门的销售情况\n2.计算各部门的平均销售额。

\n3.将销售情况表按各部门的平均销售额由高到

低排序\n");

for(x=0;x<3;x++)

{

printf("输入调用的函数序号:");

scanf("%d",&n);

printf("\n");

switch(n)

{

case 1:chazhao(a);break;

case 2:qiuave(a);break;

case 3:order(a);break;

} } }

链表

/*与链表相关*/

#include

#include

#define SIZE sizeof(struct Note)

struct Note

{

int value;

struct Note *pNext;

};

/*原型声明*/

struct Note * Creatlist(void);

int Traverlist(struct Note * );

int searchlist(struct Note * ,int);

int Deletelist(struct Note *,int);

void Printlist(struct Note * );

/*----------主函数----------------------------------------*/ void main(void)

{

int a,k,l,m;

int iFound,iDelete;

struct Note *num;

num = Creatlist();

while (1)

{

printf("1.统计\n2.查找\n3.插入\n4.删除

\n5.打印\n6.退出\n请输入以选择:\n");

scanf("%d",&a);

if (a == 1)

{

k = Traverlist(num);

printf("整型数据的个数是:%d\n",k);

}

if (a == 2)

{

printf("请输入想要查找的数:");

scanf("%d",&iFound);

l = searchlist(num,iFound);

if (l == 1)

printf("404 NOT FOUND\n");

}

if (a == 3)

{printf("404 NOT FOUND\n");}

if (a == 4)

{

printf("请输入想删除的项目");

scanf("%d",iDelete);

m =Deletelist(num , iDelete);

if (m == 0)

printf("删除成功\n");

else

printf("删除失败\n");

}

if (a == 5)

{void Printlist(num); }

if (a == 6)

{exit(1);}

}

}

/*----------主函数到此结束-------------------*/

struct Note * Creatlist(void)//建立链表

{

struct Note *spHead,*spPre,*spCur;

int a;

spPre = (struct Note *)malloc(SIZE);

spHead = spPre;

spHead -> pNext = NULL;

do

{

scanf("%d",&a);

if (a != 0)

{

spCur = (struct Note *)malloc(SIZE);

spCur -> value = a;

spCur -> pNext = NULL;

spPre -> pNext = spCur;

spPre = spCur;

}

}while(a != 0);//以输入0作为结束

return spHead;

}

int Traverlist(struct Note * sp)//统计

{

struct Note *spCur;

int b = 0;

spCur = sp -> pNext;

while(spCur != NULL )

{

b ++;

spCur = spCur -> pNext;

}

return b;

}

int searchlist(struct Note *sp,int x)//查找

{

struct Note *spCur;

spCur = sp -> pNext;

while (spCur -> pNext != NULL && spCur -> value != x)

{spCur = spCur -> pNext; }

if (spCur -> value == x)

{

printf("THE NUMBER IS %d",spCur -> value);

return 0;

}

else

{return 1;}

}

int Deletelist(struct Note *sp,int x)//删除

{

struct Note *spCur,*spT;

spCur = sp;

while(spCur -> pNext != NULL && spCur ->

pNext -> value != x)

{spCur = spCur ->pNext; }

if (spCur -> pNext == NULL)

{return 1; }

spT = spCur -> pNext;

spCur -> pNext = spCur -> pNext -> pNext;

free(spT);

return 0;}

void Printlist(struct Note *sp)

{

struct Note *spCur;

spCur = sp -> pNext;

printf("链表中的整型数据为:/n");

while (spCur != NULL)

{

printf("%d\n",spCur -> value);

spCur = spCur -> pNext;

}

printf("\n");

}

学生成绩

1.0版本

/*五个学生四门功课成绩排名

感觉像是回到了高中=。=

第一次录入时,总分,均分输入0!*/

#include

#define swap(x,y) {int tmp=x;x=y;y=tmp;}

/*定义了一个交换器函数不然感觉很烦人*/

void main(void)

{

int iCj[5][7]={0};

int i,j,k;

int iPos,iTem = 0;

printf("请依次输入五位学生的学号和各科

成绩\n");

for (i = 0; i < 5; i ++)

{

for (j = 0; j < 7; j ++)

{scanf("%d",&iCj[i][j]);}

}

for (i = 0; i < 5; i ++ )

{

for (j = 1; j < 5; j ++ )/*第一列是学号=。=*/

{

iCj[i][5] += iCj[i][j];

iCj[i][6] = iCj[i][5] / 4 ;/*真正的总分和均分*/ }

}

for (i = 0; i < 4; i ++)

{

iPos = i;

for(j = i + 1; j < 5; j ++)

if (iCj[j][5] > iCj[iPos][5])

iPos = j;

for (k=0;k<7;k++)

swap(iCj[i][k],iCj[iPos][k]);

}

for (i = 0; i < 5; i ++)

{

for (j = 0; j < 7; j ++ )

{printf("%d\t",iCj[i][j]);}

printf("\n"); } }

/*学生成绩系统2.0*/

#define N 3

#include

struct student

{

long num;

char name[20];

float score[2];

}st[N],*p;

int high(struct student *);

void ave(struct student * ,int *);

#define swap(x,y) {struct student tmp = x; x = y; y =

tmp;}

void mysort(struct student st[N]);

void main(void)

{

int i,j,iPos,iAve[N];

float t;

p = st;

printf("请录入学生的各项信息\n");

for (i = 0; i < N; i ++)

{

scanf("%ld",&st[i].num);

gets(st[i].name);

for (j = 0;j < 2; j ++)

{

scanf("%f",&t);

st[i].score[j] = t;

}

}/*完成了输入数据的工作*/

iPos = high(st);/*找最好*/

printf("学号姓名\t成绩1\t成绩2\n");

printf("%ld %s\t",st[iPos].num,st[iPos].name);

for (j = 0; j < 2; j ++)

{printf("%f\t",st[iPos].score[j]); }

printf("\n");

ave(st,iAve);/*两门成绩都在平均分以下的*/

printf("学号姓名\t\n");

for (i = 0;i < N; i ++)

{

if (iAve[i] != 0)

{printf("%ld %s\t",st[i].num,st[i].name); }

printf("\n");

}

mysort(st);

printf("学号姓名\t成绩1\t成绩2\n");

for (i = 0;i < N; i ++)

{

printf("%ld %s\t",st[i].num,st[i].name);

for (j = 0; j < 2; j ++)

{printf("%f\t",st[i].score[j]); }

printf("\n");

}

}

/*-----------------------主函数到此结束---------------*/ /*找最好成绩*/

int high(struct student *x)

{

int i,iPos = 0;

float c[N];

for (i = 0; i < N; i ++)

{c[i] = (st[i].score[0] > st[i].score[1]) ? st[i].score[0] : st[i].score[1];}

iPos = 0;

for (i = 1; i < N; i ++)

{

if(c[i] > c[iPos])

{iPos =i;}

}

return iPos;

}

/*找在平均分以下的*/

void ave(struct student st[N], int *x) {

float ave1 = 0,ave2 = 0;

int i;

for (i = 0; i < N; i ++)

{

ave1 = st[i].score[0];

ave2 = st[i].score[1];

}

ave1 = ave1 / N;

ave2 = ave2 / N;

for (i = 0; i < N; i ++)

{

if (st[i].score[0] <= ave1 && st[i].score[1]

<= ave2)

{ x[i] = i;}

}

}

/*以第一门课的成绩排名*/

void mysort(struct student st[N])

{

int i,j,iPos = 0;

for (i = 0; i < N - 1; i ++)

{

iPos = 0;

for (j = i + 1; j < N; j ++)

{

if (st[i].score[i] < st[i].score[iPos])

iPos = i;

}

swap(st[i],st[iPos]);

}

}

/*学生成绩3.0文件版录入统计三科成绩*/

#include

#include

#define N 5

struct student

{

char name[20];

long ID;

float score[3];

float fAve;

float fSum;

}st[N];

int main(void)

{

FILE *fpGet;

int i,j;

float t;

fpGet = fopen("a.txt","w");

if (fpGet == NULL)

{

printf("error !");

return 1;

}

printf("请输入学生信息\n");

for(i = 0; i < N; i ++)

{

scanf("%s",st[i].name);

scanf("%ld",&st[i].ID);

for (j = 0;j < 3; j ++)

{

scanf("%f",&t);

st[i].score[j] = t;

}

}//完成输入

for(i = 0; i < N; i ++)

{

fprintf(fpGet,"%s\t%ld\t",st[i].name,st[i].ID);

for(j = 0; j < 3; j ++)

{fprintf(fpGet,"%5.2f\t",st[i].score[j]); }

fprintf(fpGet,"\n");

}

fclose(fpGet);

return 0;

}

/*学生成绩2.0文件版,处理从文件中读取并统计平均,总分*/

#include

#include

#define N 5

struct student

{

char name[20];

long ID;

float Score[3];

float fAve;

float fSum;

}st[N];

int main(void)

{

FILE *fpIn,*fpOut;

int i,j,iPos=0;

struct student sTem;

fpIn = fopen("a.txt","r");

if(fpIn == NULL)

{

printf("error !");

return 1;

}

fpOut = fopen("stut.txt","w");

if(fpOut == NULL)

{printf("error !");return 1; }

for(i = 0; i < N; i ++)

{

fscanf(fpIn,"%s%ld%f%f%f",st[i].name,&st[i].ID,

&st[i].Score[0],&st[i].Score[1],&st[i].Score[3]);

st[i].fSum = st[i].Score[0] + st[i].Score[1]

+ st[i].Score[1];

st[i].fAve = st[i].fSum / 3.0f;

}//输入

for(i = 0; i < N; i ++)

{

printf("%s\t%ld\t",st[i].name,st[i].ID);

for(j = 0; j < 3; j ++)

{printf("%5.2f\t",st[i].Score[j]);}

printf("%5.2f\t%5.2f",st[i].fAve,st[i].fSum);

printf("\n"); }

for(i = 0 ;i < N - 1 ;i ++)//排序

{

iPos = i;

for(j = i + 1 ;j < N ;j ++)

{

if(st[iPos].fSum > st[j].fSum)

iPos = j;

}

sTem = st[iPos] ;

st[iPos] = st[i];

st[i] = sTem;

}

for(i = 0; i < N; i ++)

{

fprintf(fpOut,"%s\t%ld\t",st[i].name,st[i].ID);

for(j = 0; j < 3; j ++)

{fprintf(fpOut,"%5.2f\t",st[i].Score[j]); } fprintf(fpOut,"%5.2f\t%5.2f",st[i].fAve,st[i].fSum); fprintf(fpOut,"\n"); }

printf("FINISH !");

fclose(fpIn);

fclose(fpOut);

return 0;

}

c语言程序代码

1.要求在屏幕上输出下一行信息。 This is a c program. 程序: #include int main() { printf(“this is a c program.\n”); return 0; } 2.求两个整数之和。 程序: #include int main() { int a,b,sum; a=122; b=234; sum=a+b; printf(“sum is %d\n”,sum); return 0; } 3.求两个整数之间的较大者。

#include int main() { int max(int x,int y); int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d\n",c); return 0; } int max(int x,int y) { int z; if(x>y)z=x; else z=y; return(z); } 4.有人用温度计测量出华氏发表示的温度(如69°F),今要求把 她转换成以摄氏法表示的温度(如20℃)。 公式:c=5(f-32)/9. 其中f代表华氏温度,c代表摄氏温度。

#include int main() { float f,c; f=64.0; c=(5.0/9)*(f-32); printf("f=%f\nc=%f\n",f,c); return 0; } 5.计算存款利息。有1000元,想存一年。有一下三种方法可选: (1)活期:年利率为r1;(2)一年定期:年利率为r2;(3)存两次半年定期:年利率为r3。分别计算一年后按三种方法所得到的本息和。 程序: #include int main() { float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3; p1=p0*(1+r1); p2=p0*(1+r2);

C语言编程游戏代码

#include #include #include #include #include #define L 1 #define LX 15 #define L Y 4 static struct BLOCK { int x0,y0,x1,y1,x2,y2,x3,y3; int color,next; intb[]={{0,1,1,1,2,1,3,1,4,1},{1,0,1,3,1,2,1,1,4,0},{1,1,2,2,1,2,2,1,1,2},{0,1,1,1,1,0,2,0,2,4}, {0,0,0,1,1,2,1,1,2,3},{0,0,1,0,1,1,2,1,3,8},{1,0,1,1,2,2,2,1,2,5},{0,2,1,2,1,1,2,1,2,6},{0,1,0,2,1,1,1 ,0,3,9},{0,1,1,1,1,2,2,2,3,10},{1,1,1,2,2,1,2,0,3,7},{ 1,0,1,1,1,2,2,2,7,12},{0,1,1,1,2,1,2,0,7,13},{0 ,0,1,2,1,1,1,0,7,14},{0,1,0,2,1,1,2,1,7,11},{0,2,1,2,1,1,1,0,5,16},{0,1,1,1,2,2,2,1,5,17},{1,0,1,1,1, 2,2,0,5,18},{0,0,0,1,1,11,2,1,5,15},{0,1,1,1,1,0,2,1,6,2,0},{0,1,1,2,1,1,1,0,6,21},{0,1,1,2,1,1,2,1,6 ,22},{1,0,1,1,1,2,2,1,6,19}}; static int d[10]={33000,3000,1600,1200,900,800,600,400,300,200}; int Llevel,Lcurrent,Lnext,Lable,lx,ly,Lsum; unsigned Lpoint; int La[19][10],FLAG,sum; unsigned ldelay; void scrint(),datainit(),dispb(),eraseeb(); void throw(),judge(),delayp(),move(0,note(0,show(); int Ldrop(),Ljudge(),nextb(),routejudge(); } main() { char c; datainit(); Label=nextb(); Label=Ldrop(); while(1){ delayp(); if(Label!=0) { Ljudge(); Lable=nextb(); } ldelay--; if(ldelay==0)

c语言程序代码

创作编号: GB8878185555334563BT9125XW 创作者:凤呜大王* 1.要求在屏幕上输出下一行信息。 This is a c program. 程序: #include int main() { printf(“this is a c program.\n”); return 0; } 2.求两个整数之和。 程序: #include int main() { int a,b,sum; a=122; b=234;

sum=a+b; printf(“sum is %d\n”,sum); return 0; } 3.求两个整数之间的较大者。 程序: #include int main() { int max(int x,int y); int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d\n",c); return 0; } int max(int x,int y) { int z; if(x>y)z=x; else z=y; return(z);

} 4.有人用温度计测量出华氏发表示的温度(如69°F),今要 求把她转换成以摄氏法表示的温度(如20℃)。 公式:c=5(f-32)/9. 其中f代表华氏温度,c代表摄氏温度。 程序: #include int main() { float f,c; f=64.0; c=(5.0/9)*(f-32); printf("f=%f\nc=%f\n",f,c); return 0; } 5.计算存款利息。有1000元,想存一年。有一下三种方法可 选:(1)活期:年利率为r1;(2)一年定期:年利率为r2; (3)存两次半年定期:年利率为r3。分别计算一年后按三种方法所得到的本息和。 程序: #include

c语言基本代码

c语言基本代码 Prepared on 22 November 2020

'\0':是字符串的结束标志 ‘‘:空格 auto:声明自动变量一般不使用 double:声明双精度变量或函数(和%lf连用), m=(double)(v-l)/l*100+; 这个式子加个double是将后面式子中非double类型强制转换类型为double float:声明浮点型变量或函数(和%f连用),单精度 int:声明整型变量或函数(与%d连用) struct:声明结构体变量或函数 long:声明长整型变量或函数 switch:用于开关语句 enum:声明枚举类型 register:声明积存器变量 typedef:用以给数据类型取别名(当然还有其他作用) extern:声明变量是在其他文件正声明(也可以看做是引用变量) return:子程序返回语句(可以带参数,也看不带参数) union:声明联合数据类型 const:声明只读变量 short:声明短整型变量或函数 unsigned:声明无符号类型变量或函数 signed:生命有符号类型变量或函数 void:声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)default:开关语句中的“其他”分支 goto:无条件跳转语句 sizeof:计算数据类型长度,,是整型表达式用法sizeof(类型说明符,数组名或表达式);sizeof()是获取类型占用的字节数,是整形的 volatile:说明变量在程序执行中可被隐含地改变 static:声明静态变量 char:声明字符型变量或函数 strcmp:strcmp(s1,s2)比较字符串大小两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止大于返回1小于返回-1等于返回0 循环: for:一种循环语句(可意会不可言传)for(表达式1;表达式2;表达式3)while:循环语句的循环条件 do:循环语句的循环体 break:跳出当前循环 continue:结束当前循环,开始下一轮循环 判断: d=a>30b:c:相当于if暨当a>30是d=b否则d=c;

(完整word版)一些简单的C语言程序代码

由键盘任意输入1个4位数整数,分别输出其中的个位、十位、百位、千位。 /* expe 3-10 */ #include #include void main(void) { int mun,a,b,c,d; scanf("%d",&mun); a=mun / 1000; /*千位*/ b=(mun % 1000) / 100; /*百位*/ c=(mun % 100) / 10; /*十位*/ d=(mun % 10); /*个位*/ printf("千位数字为=%d\n",a); printf("百位数字为=%d\n",b); printf("十位数字为=%d\n",c); printf("个位数字为=%d\n",d); } 由键盘任意输入3个数据,找出其中的最大数和最小数。 #include void main(void) { float a,b,c,k,g;/* k 小g 大*/ printf ("请输入三个数"); scanf("%f%f%f",&a,&b,&c); if (a < b) { k = a; g = b; } else { k = b; g = a; } if (k < c)/*最小*/ { printf ("\n最小的数=%5.2f",k);} else {printf ("\n最小的数=%5.2f",c);} if (g > c)/*最大*/ {printf ("\n最大的数=%5.2f",g);} else {printf ("\n最大的数=%5.2f",c);} } 判断三角形的形状 #include #include void main(void) { printf("请输入三角形三边"); float a,b,c,p,s,k1,k2,k3; scanf("%f%f%f",&a,&b,&c); while (a + b < c || b + c < a || a + c < b ) { printf("不能构成三角形,请重新输入"); scanf("%f%f%f",&a,&b,&c); } k1 = a * a; k2 = b * b; k3 = c * c; if (a == b && b == c && c ==a) {printf("此三角形为等边三角形");} else if (a == b || b == c || c ==a) {printf("此三角形为等腰三角形"); } else if ((k1 == b * b + c * c) || (k2 == a * a + c * c) || (k3 = a * a + b * b)) {printf("此三角形为直角三角形");} else {printf("此三角形为一般三角形");} } 九九乘法表 整体 #include void main(void) { int i,j;

一些比较简c语言程序源代码

/**返回的long型的最大值是startLongValue+count-1(产生一个随机数) * param needCount * param count * param startLongValue * return */ public static List randomNoRepeatLongArray(int needCount,int count,long startLongValue){ //这种情况会出现无限循环的 if(needCount>count) return null; Random random = new Random(); int[] ints = new int[count]; for(int i=0;i list = new ArrayList(); while(list.size() #include #include

C语言程序代码

1.编写一个C程序,输入a、b、c三个数,输出其中最大者。 #include "stdio.h" void main() { int paixu(int a,int b,int c); int a1,a2,a3,m; scanf("%d %d %d",&a1,&a2,&a3); m=paixu(a1,a2,a3); printf("%d",m); } int paixu(int a,int b,int c) { int max(int x,int y); int m; m=max(a,b); m=max(m,c); } int max(int x,int y) { if(x>y) return x; else return y; } 依次将10个数输入,要求将其中最大的数打印出来。 #include "stdio.h" void main() { int a[10],i,m; for(i=0;i<10;i++) scanf("%d",&a[i]); m=a[0]; for(i=1;i<10;i++) if(a[i]>m){m=a[i];} printf("最大数是:"); printf("%d\n",m); } 有3个数a、b、c,要求按从大到小的顺序把它们打印出来。 #include "stdio.h" void main() { int a[3]; int m,i,j; for(i=0;i<3;i++) scanf("%d",&a[i]); for(i=1;i<3;i++) for(j=0;ja[j]) {m=a[j];a[j]=a[i];a[i]=m;} printf("按由大到小排列:"); for(i=0;i<3;i++) printf("%d ",a[i]); } 求1+2+3+ (100) #include "stdio.h" void main() { int i,sum=0; for(i=1;i<=100;i++) { sum=sum+i; } printf("1+2+3+……+100=%d\n" ,sum); } 判断一个数n能否同时被3和5除。 #include "stdio.h" void main() { int a,b; printf("请输入一个整数\n"); scanf("%d",&a); if(a%3==0 && a%5==0) printf("能同时被3和5整除\n"); else printf("不能同时被3和5整除\n"); } 将100~200之间的素数打印出来。

C语言源程序

C语言程序设计 <一> 1、程序运行从main()函数开始,也从main()函数结束。 2、函数是C程序的基本单位,由函数头和函数体组成。 3、C语言源程序是由函数组成,它们的数目可以有多个。 4、在C语言源程序中,是必须有一个函数名为main的函数。main()后的小括号()没有任何内容,它不可以省略。 5、C程序中的语句用分号结束,在一个程序行上可以有多个语句,一个C 语句能写在多个程序行上。 6、函数体是由一对大括号围起来语句序列组成。小括号是函数的标志。 二、C语言的组成元素 1、命令、函数和变量等是组成程序的基本对象,每一个程序对象都需要一个名字来标识,程序对象的名称就是标识符。 2、在C语言中,标识符分为用户标识符和系统标识符。 3、用户标识符是指在程序中由程序员为变量、函数、数组等程序对象自行命名的标识符。 4、系统标识符是指C语言编译系统内部预定义的用于表示命令数据内型的标识符,又称保留字符。 5、基本字符集 英文字母:a~z和A~Z。 阿拉伯数字:0~9。其他字符:()、[]、+、-、*、/、%、<、>、<=、>=、==、!=、!、&&、‖、++、--、+=、-=、*=、/=、%=。它们是由1~2个字符组成。用作C语言的运算符;还包括:空格、换行符,回车符,单双引号,大括号,逗号,分号,反斜线,它们在程序中起到分隔和定界作用。 6、标识符:是用于标识命令;变量、函数,数组,数据类型等程序对象名称的字符序列。 7、组成标识符的合法字符有:字母,数字,下划线,三种,数字不能作首字符。 三、执行C语言程序 1、单击“开始”——“程序”——“附件”——“命令提示符”。 2、按功能键<10>激活菜单,执行“File”——“NEW”(ALT+回车)全屏。 3、为保存,输入程序文件名。 4、+运行 有输入:等待输入→回车 通过 无输入:返回到编辑 未通过:回车→F6→修改 F3(打开)

初学C语言常用简单程序代码

初学C语言常用简单程序代码素数的筛选 #include #include #define N 1000 int main(int argc, char* argv[]) { int i,j,num[N]; for(i=0;i

main() { int x,s,t,d; scanf("%d",&x); s=x%60; t=(x/60)%60; d=(x/60)/60; printf("%d时%d分%d秒",d,t,s); } 三个数的交换 #include void main() { int a,b,c,t; scanf("%d%d%d",&a,&b,&c); printf("The original number:a=%d,b=%d,c=%d\n",a,b,c); t=a,a=b,b=t; t=a,a=c,c=t; printf("after swap:a=%d,b=%d,c=%d",a,b,c); } switch语句的运用 #include main() { int a,m; printf("please input a number:"); scanf("%d",&a); switch(a/10) { case 10: case 9: m=5; break;

C语言程序设计(医院信息管理系统)附源代码

C语言程序设计(医院信息管理系统)附源代码

————————————————————————————————作者:————————————————————————————————日期:

专业设计报告 课程名称: C 语言程序设计课题名称:医院信息管理系统 专业班别:12本计算机科学与技术二班 姓名: 学号: 指导教师: 设计日期:2012-5-25

教师评语: 等级 优良中及格差项目 专业设计目的 设计基本要求 算法分析 源程序代码 源程序代码测试 设计总结 成绩评定: 指导教师签名: 日期:2012 年月日

课程设计题目医院信息管理程序 作者姓名: 同组成员: 摘要利用结构体存储每个病人的信息和每种药品的信息,并使用链表存储全部病人的信息;能完成对医院内所有病人信息的注册、查询、删除和修改等操作,同时又能对药房内库存的药品进行查询;可以将链表中的病人信息保存在文件中,并且可以对文件中的病人信息进行读取与显示 1.专业设计目的 1、掌握链表的操作,包括链表节点的创建、释放还有链表的遍历 2、掌握对二进制文件的创建、增添等基本操作。 3、熟悉C语言函数的使用方法,学会模块化处理问题以及多个源文件的处理方式 2.设计基本要求( 1、使用结构体来存储病人的信息,结构体中包括病的id号码、姓名、病历以及消费信息,并用链表将所有病人信息整合。 2、用文件来存储链表的信息以便下次再使用该程序时载入病人信息 3、能够实现病人信息的注册、病人信息的查询、病人消费统计、保存链表信息、载入链表信息、查询库存等几项功能。 4、要求用四个源文件main.c、link.c、find.c、save_load.c 5、系统完成后应实现类似下面所示界面

C语言简单程序代码

以下代码亲自运行成功,可黏贴到vc中运行gets和puts函数 #include"stdio.h" void main() { char str[20]; gets(str);//输入字符串 puts(str);//输出字符串 } 整型、字符、字符串、一维数组的初始化、输入和输出 #include"stdio.h" #include"string.h" void main() { int i = 2; printf("%d\n请输入一个int型",i); int ii; scanf("%d",&ii); printf("%d\n",ii); //字符类型 char c = 'x'; printf("%c\n请输入一个char型",c); char cc; scanf("%c",&cc); //cc = getchar(); printf("%c\n",cc); //putchar(cc); //字符串型 char str[] = "xuxunxun"; printf("%s\n请输入一个字符串类型",str); char strr[100];//必须指定大小 //scanf("%s",strr);//字符数组名就代表了地址 gets(strr);//字符串输入函数 //printf("%s\n",strr); puts(strr); //一维数组 int a[5] = {1,2,3,4,5}; for(int j = 0;j < 5;j ++)

printf("%d\n",a[j]); int b[3]; printf("请输入三个数字\n"); for(int k = 0;k < 3;k ++) { scanf("%d",&b[k]); } printf("输入三个数字是:\n"); for(k = 0;k < 3;k ++) printf("%d\n",b[k]); } //结构体 struct student { char name[9]; int score[3];//存放3门课成绩 }; student stu[2];//定义两个学生的数组 for(int i = 0;i < 2;i ++) { printf("请输入第%d个学生的信息:\n",i + 1); printf("姓名:"); scanf("%s",&stu[i].name); for(int j = 0;j < 3;j ++) { printf("成绩%d:",j + 1); scanf("%d",&stu[i].score[j]); } } 字符串输出

经典C语言源代码

经典C语言源代码 1、(1)某年某月某日是星期几 #include int main() { int year, month, day; while (scanf_s("%d%d%d", &year, &month, &day) != EOF) { if (month == 1 || month == 2)//判断month是否为1或2 { year--; month += 12; } int c = year / 100; int y = year - c * 100; int week = (c / 4) - 2 * c + (y + y / 4) + (13 * (month + 1) / 5) + day - 1; while (week<0) { week += 7; } week %= 7; switch (week) { case 1:printf("Monday\n"); break;

case 2:printf("Tuesday\n"); break; case 3:printf("Wednesday\n"); break; case 4:printf("Thursday\n"); break; case 5:printf("Friday\n"); break; case 6:printf("Saturday\n"); break; case 0:printf("Sunday\n"); break; } } return 0; } 1、(2)某年某月某日是第几天(一维数组) #include "stdio.h" void main() { int i, flag, year, month, day, dayth; int month_day[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 }; printf("请输入年/月/日:\n"); scanf_s("%d/%d/%d", &year, &month, &day); dayth = day; flag = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0); if (flag) month_day[2] = 29;

C语言简单程序代码

C语言程序5-3 #include void main() { char ch; int b,s=0; while((ch=getchar())!='\n') { if(ch<='9'&&ch>='0') { b=ch-'0'; s=s+b;} } printf("%d",s); getchar(); } 5-4: #include void main() { int a,b,i,s=0,n; scanf("%d,%d",&a,&b); n=a>b?b:a; for(i=1;i<=n;i++) { if(a%i==0&&b%i==0) s=i; } printf("%d",s); getchar(); } 5-5: #include void main() { char ch; while((ch=getchar())!='\n') { if(ch<='Z'&&ch>='A') ch=ch+32; printf("%c",ch); } }

5-6: #include void main() { int i,n; float a=1,b=2,s=0,t; scanf("%d",&n); for(i=1;i<=n;i++) { s=s+b/a; b=a+b; a=b-a; } printf("%.4f",s); } 5-7: #include void main() { int a[10]; int i,t,s; for(i=0;i<=9;i++) scanf("%d",&a[i]); s=a[0]; for(i=1;i<=9;i++) {if(a[i]>s) s=s; else s=a[i]; } printf("%d",s); } 1031:(统计单词) #include void main() { int n=0,a=0; char ch; while((ch=getchar())!='\n') { if(ch==' ')a=0; else if(a==0)

几个简单的c语言源程序

1》分解质因数的程序: #include zhishu(x,y) { int m=1; while(y%x==0) { if(y%x==0) y=y/x; if(y%x==0) m++; } printf("^%d x ",m); } sushu(j) { int n,m=0; for(n=2;n

2》看你的星座的程序: #include void main() { int m,d; float s; printf("请输入你的生日(月、日):\n"); scanf("%d",&m); scanf("%d",&d); if(m>12||m<1||d>31||d<1) printf("你输入的生日错误!"); if(m>=1&&m<=12&&d>=1&&d<=31); { s=(float)(m+d/100); if(s>=3.21&&s<=4.20) printf("你的星座是:白羊座"); else if(s>=4.21&&s<=5.20) printf("你的星座是:金牛座"); else if(s>=5.21&&s<=6.21) printf("你的星座是:双子座"); else if(s>=6.22&&s<=7.22) printf("你的星座是:巨蟹座"); else if(s>=7.23&&s<=8.22) printf("你的星座是:狮子座"); else if(s>=8.23&&s<=9.22) printf("你的星座是:处女座"); else if(s>=9.23&&s<=10.23) printf("你的星座是:天秤座"); else if(s>=10.24&&s<=11.21) printf("你的星座是:天蝎座"); else if(s>=11.22&&s<=12.21) printf("你的星座是:射手座"); else if((s<=12.31&&s>=12.22)||(s<=1.19&&s>1.00)) printf("你的星座是:摩羯座"); else if(s>=1.20&&s<=2.18) printf("你的星座是:水瓶座"); else if(s>=2.19&&s<=3.20) printf("你的星座是:双鱼座"); else printf("ERRORS!OUT OF MY EXPECTATION!"); } printf("\n\n"); }

C语言编程项目源代码

常用的C语言编程实例-实训01 1.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?代码: #include "stdio.h" #include "conio.h" main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) /*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k); } getch(); } 2.输入某年某月某日,判断这一天是这一年的第几天? 代码: #include "stdio.h" #include "conio.h" main() { int day,month,year,sum,leap; printf("\nplease input year,month,day\n"); scanf("%d,%d,%d",&year,&month,&day); switch(month) /*先计算某月以前月份的总天数*/ { case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; default:printf("data error");break; }

经典C语言程序50例(1-50)

经典C语言程序50例(1-50) 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: main() { int i,j,k; printf("\n"); for(i=1;i<5;i++)/*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k); } } ============================================================== 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码: main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i); bonus1=100000*0.1;bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1;

c语言源程序段

1.有三个整数a,b,c ,由键盘输入,输出其中最大的数。 #include void main() { int a,b,c; printf("输入三个不同的整数: "); scanf("%d%d%d",&a,&b,&c); if(a>b&&a>c) printf("%d\n",a); else if(b>a&&b>c) printf("%d\n",b); else printf("%d\n",c); } 2.编程输入整数a 和b ,若22a b +大于100,则输出22a b +百位以上的数字,否则输出两数之和。 #include void main() { int a,b,c,d,e,f; c=10; printf("输入两个整数:"); scanf("%d%d",&a,&b); e=(a*a+b*b)/c; d=(a*a+b*b)%c; f=(a*a+b*b)/(c*c); if((a*a+b*b)<100) printf("%d\n",(d+e)); else printf("%d\n",f); } 3.有一函数: (1)211(110)311(10)x x y x x x x void main() { int x,y; printf("输入一个整数:");

scanf("%d",&x); if(x<1) y=x; else if(x<10&&x>=1) y=2*x-11; else y=3*x-11; printf("%d\n",y); } 4.给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。90分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’ #include void main() { int x; printf("输入学生成绩:"); scanf("%d",&x); if(x>=90) printf("A"); else if(x<90&&x>=80) printf("B"); else if(x<80&&x>=70) printf("C"); else if(x<70&&x>=60) printf("D"); else printf("E"); printf("\n"); } 5.提高题:给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数是321,应输出123。 #include void main() { int a,b,i,k; float j; printf("jghg:"); scanf("%d",&a); j=a; {

C语言程序源代码

C语言程序源代码

C语言程序源代码 #include // 51寄存器定义 #include "intrins.h" #define control P1 //P1_0:A相,P1_1:B相,P1_2:C相,P1_3:D相 #define discode P0 //显示代码控制端口 #define uchar unsigned char //定义无符号型变量 #define uint unsigned int sbit en_dm=P3^0; //显示代码锁存控制 sbit en_wk=P3^1; //位控锁存控制 uchar code corotation[4]= {0x03,0x06,0x0c,0x09};//电机正转 uchar code rollback[4]={0x0c,0x06,0x03,0x09}; //电机反转 uchar code tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示字段uint code Levspeed[5]={500,400,300,200,100};//电机速度等级 uchar Hscan,speedcount;//Hscan行扫描,speedcount 速度等级计数 uint uu; //频率计数 uint step,setstep; //step:电机步伐计数,setstep:手动设置电机步伐 uint speed=500; //电机初始速度 uchar count; uchar flag[5]; uchar butcount; //按键次数 //**************************************** //flag[0] 正转标志 //flag[1] 反转标志 //flag[2] 加速标志 //flag[3] 减速标志 //flag[4] 设置标志 //**************************************** Delay1mS(unsigned int tt) //延时1ms “Delay1mS”延时子程序,用循环语句延时。 { unsigned char i; while(tt--) for(i=113;i>0;i--); } keyscan() //键盘扫描“keyscan”键盘扫描子程序,用于寻找是否有按键按下。 { P2=0xf0; //把oxfe赋值给P2口//将按键控制口置于未按键的状态.单片机输出//口假设不是按键按下状态. if(P2!=0xf0) //如果P2口的值不等于0xfe //检查是否有按键按下.如果有,处理{}内的事

C程序代码大全

<=70) cout<<"Your grade is a C."<=60) cout<<"Your grade is a D."< main() { int n; cout<<"n="; cin>>n; if (n>=0 && n<=100 &&n%2==0) cout<<"n="< main() { int a,b,Max; .10 for(int i=1;i<=10;i++) cout<=1;j--) cout<

相关主题