C语言程序设计经典体型.docx

上传人:b****5 文档编号:3729673 上传时间:2022-11-25 格式:DOCX 页数:16 大小:19.93KB
下载 相关 举报
C语言程序设计经典体型.docx_第1页
第1页 / 共16页
C语言程序设计经典体型.docx_第2页
第2页 / 共16页
C语言程序设计经典体型.docx_第3页
第3页 / 共16页
C语言程序设计经典体型.docx_第4页
第4页 / 共16页
C语言程序设计经典体型.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言程序设计经典体型.docx

《C语言程序设计经典体型.docx》由会员分享,可在线阅读,更多相关《C语言程序设计经典体型.docx(16页珍藏版)》请在冰豆网上搜索。

C语言程序设计经典体型.docx

C语言程序设计经典体型

《C语言程序设计》

一、顺序结构程序设计

4、输入一个三位整数,拆分并打印出每位数。

例:

输入123,打印:

123的各位数字为1,2,3

#include

voidmain()

{

intn,nn,a,b,c;

scanf("%d",&n);

c=n%10;

nn=n/10;

b=nn%10;

a=nn/10;

printf("%d%d%d",a,b,c);

}

二、选择结构程序设计

1、输入两个整数,比较并打印它们。

例:

86打印:

8>6

#include

voidmain()

{

intx,y;

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

if(x>y)printf("%d>%d",x,y);

elseif(x

elseif(x==y)printf("%d=%d",x,y);

}

2、输入一个整数打印其绝对值。

例:

如输入5,打印:

|5|=5

/xx<1

Y=|2x-11<=x<10

\3x-11x>=10

第4题

如输入-8,打印:

|-8|=8

#include

voidmain()

{

intx;

scanf("%d",&x);

if(x>=0)printf("|x|=%d",x);

elseif(x<0)printf("|x|=%d",-x);

}

3、输入一个整数,判断它是奇数还是偶数。

例:

如输入7,打印:

7是奇数

输入6,打印:

6是偶数

#include

voidmain()

{

intx;

scanf("%d",&x);

if(x%2==0)printf("%d是偶数",x);

elseif(x%2==1)printf("%d是奇数",x);

}

4、输入整数X,计算并打印Y。

#include

voidmain()

{

intx,y;

scanf("%d",&x);

if(x<1)y=x;

elseif(x<10)

y=2*x-1;

else

y=3*x-11;

printf("x=%d,y=%d\n",x,y);

}

5、输入一个字符,若为小写字母,则将其转换为大写并打印,若不为小字母则直接打印。

例:

输入d,打印:

D

输入8,打印:

8

#include

voidmain()

{charch;

ch=getchar();

if(ch>='a'&&ch<='z')

{ch=ch-32;}

putchar(ch);

}

6、输入一个整数(取值为1、2、3、4之一),分别打印“春”、“夏”、“秋”、“冬”。

输入整数不在此范围,则打印“输入错误”。

例:

输入3,打印:

现在是秋季

输入6,打印:

输入错误。

#include

voidmain()

{intn;

scanf("%d",&n);

switch(n)

{case1:

printf("现在是春天\n");break;

case2:

printf("现在是夏天\n");break;

case3:

printf("现在是秋天\n");break;

case4:

printf("现在是冬天\n");break;

default:

printf("error\n");

}}

7、输入学生分数(0至100分),打印成绩的等级。

(注:

90-100为‘A’,80-89为‘B’,70-79为‘C’,60-69为‘D’,0-59为‘E’)

#include

voidmain()

{

intstore;

scanf("%d",&store);

switch(store/10)

{case10:

case9:

printf("等级为A\n");break;

case8:

printf("等级为B\n");break;

case7:

printf("等级为C\n");break;

case6:

printf("等级为D\n");break;

case5:

case4:

case3:

case2:

case1:

case0:

printf("等级为E\n");break;

default:

printf("error\n");

}}

*8、编程实现两个实数的四则运算,如输入:

4*2.5,则打印:

4*2.5=10。

要注意分母为零的情况,以及运算符不是“+-*/”的情况。

#include

voidmain()

{floatnum1,num2;

charop;

scanf("%f%c%f",&num1,&op,&num2);

switch(op)

{

case'+':

printf("%f%c%f=%f\n",num1,op,num2,num1+num2);break;

case'-':

printf("%f%c%f=%f\n",num1,op,num2,num1-num2);break;

case'*':

printf("%f%c%f=%f\n",num1,op,num2,num1*num2);break;

case'/':

if(num2!

=0)

{

printf("%f%c%f=%f\n",num1,op,num2,num1/num2);

}

else

{printf("除数为0!

\n");}break;

default:

printf("运算符错误!

\n");break;

}}

*9、输入年份和月份,打印某年某月的天数。

#include

voidmain()

{

intyear,month,days;

scanf("%d%d",&year,&month);

switch(month)

{

case1:

case3:

case5:

case7:

case8:

case10:

case12:

days=31;break;

case4:

case6:

case9:

case11:

days=30;break;

case2:

days=28;if((year%4==0&&year%100!

=0)||year%400==0)days=29;break;

default:

printf("error\n");

}printf(“%d%dis%ddays\n”,year,month,days);

}

三、循环结构程序设计(共13题)

1、打印出S=1+1/3+1/5+…+1/99。

#include

voidmain()

{

inti;

floatj,s;

for(i=1,s=0;i<=50;i++)

{

j=1.0/(2*i-1);

s=s+j;

j++

}

printf(“%f”,s);}

2、打印‘A’至‘Z’,其中不包含‘P’。

voidmain()

{inti;

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

{if(i+64==’P’)continue;

printf(“%c”,i+64);/’A’is65

}}

3、打印200、199…3、2、1,分别使用递增循环和递减循环各1次。

#include

voidmain()

{

inti;

i=1;

while(i<=200)

{

printf(“%d”,i);i++;}

i--;while(i>=1)

{printf(“%d”,i);i--;}

}

4、打印5、10、15…,共打印30项,每行10个数。

#include

voidmain()

{

inti,j=0;i=5;while(i<=150)

{printf(“%d”,i);i+=5;j++;

if(j%10==0){printf(“\n”);}}}

5、求1-2+3-4+….-100之和。

#include

voidmain()

{

inti,sum;

i=0;sum=0;

while(i<=100)

{

if(i%2==0)sum=sum-i;

elsesum=sum+i;i++;}

printf(“sum=%d\n”,sum);

}

8、有10圆,其半径分别为1.0,1.5,2.0,....5.5,打印每个圆的面积,以及面积之和。

#include

voidmain()

{

floatr,s,x;

r=1.0;x=0;

while(r<=5.5)

{s=3.14*r*r;r+=0.5;printf(“%f\n”,s);x=x+s;}

printf(“%f”,x);}

 *******

*****

***

*

第10题

9、输入一个整数x,判断它是否是素数。

#include"stdio.h"

voidmain()

{

inti,x;

scanf(“%d”,&x);

i=2;

while(i

{

if(x%i==0)break;

i++;

if(i>=x)

printf(“%d是素数\n”,x);

elseprintf(“%d不是素数”,x);

}

10、打印倒三角形图案,其行数从键盘输入。

#include"stdio.h"

voidmain()

{

inti=1,k,j;

scanf(“%d”,&j);

while(i

{k=1;

while(k<=i-1)

{

printf("");

k++;

}

k=1;

while(k<=2*j-1)

{printf("*");

k++;

}

12、从键盘输入10个整数,统计正数、负数和零各有几个数。

#include"stdio.h"

voidmain()

{

inta,b,c,x,i;

i=1;

while(i<=10)

{

scanf(“%d”,&x);

if(x>0)

a=a+1;

elseif(x<0)b=b+1;

elsec=c+1;

}

pintf(“正数有%d个负数有%d个零有%d个”,a,b,c);

}

四、数组程序设计(共15题)

2、键盘输入8个整数,计算第1个、第3个..第7个数之和并输出。

#include

voidmain()

{

inta[8],i,sum=0;

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

{

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

if(i%2==0)

sum=sum+a[i];

}

printf("sum=%d\n",sum);

}

3、键盘输入8个整数,求它们中奇数的个数和偶数的个数并输出。

#include

voidmain()

{

inta[8],i,c=0,b=0;

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

{

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

if(a[i]%2==0)

b=b+1;

if(a[i]%2==1)

c=c+1;

}

printf("%d%d",c,b);

}

4、键盘输入8个整数,逆序存储它们,并输出各元素。

#include

voidmain()

{

inta[8],i,t;

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

{

printf("a[%d]=?

",i);

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

}

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

{t=a[i];a[i]=a[7-i];a[7-i]=t;}

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

printf("%d\t",a[i]);

}

5、键盘输入8个整数,从中查找整数10,若找到则打印其位置(可能有多个10),找不到打印“没有10”。

6、键盘输入8个整数代表8个学生的某门课成绩,打印各分数段等级的人数(注:

90-100为‘A’,80-89为‘B’,70-79为‘C’,60-69为‘D’,0-59为‘E’)。

9、编写一个函数len(chars[]),其功能是返回字符串s的长度。

intlen(chars[])

{

inti=0;

while(s[i]!

='\0')

{

i++;

}

returni;

}

10、输入一个长度不超过20的字符串,统计其中数字字符的个数。

#include

voidmain()

{

chars[20];

inti,c=0;

printf("Enterastring,#end:

\n");

//gets(s);

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

{

scanf("%c",&s[i]);

if(s[i]=='#')

{

s[i]=0;

break;

}

}

i=0;

while(s[i]!

='\0')

{

if(s[i]>='0'&&s[i]<='9')

c++;

i++;

}

printf("%shas%dnum.\n",s,c);

}

五、结构体程序设计(共4题)

1、有3位同学参加了三门课的考试,请将学生信息输入并打印出来。

学生信息包括学号、姓名、三门课的成绩,其中学号、姓名为字符串。

#include

voidmain()

{structstudent

{charnum[6];

charname[8];

intcj1,cj2,cj3;

};

structstudentxs[3];

inti=0;

//intzongf[3];

printf("NumNamecj1cj2cj3:

\n");

while(i<3)

{

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

scanf("%d%d%d",&xs[i].cj1,&xs[i].cj2,&xs[i].cj3);

i++;

}

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

{printf("Xs[%d]:

Num=%sName=%scj1=%dcj2=%dcj3=%d\n",

i+1,xs[i].num,xs[i].name,xs[i].cj1,xs[i].cj2,xs[i].cj3);

}

}

2、有3位同学参加了三门课的考试,请计算每位学生的总分和平均分并打印。

已知学生信息包括学号、姓名、三门课的成绩。

数据如下:

(使用结构体数组初始化方法)

计0900-20张三788990

计0900-21李四856192

计0900-21王王778890

#include

voidmain()

{structstudent

{charnum[10];

charname[8];

intcj1,cj2,cj3;

};

structstudentxs[3]=

{{"计0900-20","张三",78,89,90},{"计0900-21","李四",85,61,92},

{"计0900-21","王五",77,88,90}};

inti=0;

intzongf[3]={0,0,0};

printf("学号姓名成绩1成绩2成绩3总分平均:

\n");

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

{

zongf[i]=xs[i].cj1+xs[i].cj2+xs[i].cj3;

printf("%4s%8s%4d%4d%4d%4d%6.2f\n",

xs[i].num,xs[i].name,xs[i].cj1,xs[i].cj2,

xs[i].cj3,zongf[i],zongf[i]/3.0);

}

}

3、接2题,打印出平均分大于或等于80分的同学的信息。

#include

voidmain()

{structstudent

{charnum[10];

charname[8];

intcj1,cj2,cj3;

};

structstudentxs[3]=

{{"计0900-20","张三",78,89,90},{"计0900-21","李四",85,61,92},

{"计0900-21","王五",77,88,90}};

inti=0;

intzongf[3]={0,0,0};

printf("学号姓名成绩1成绩2成绩3总分平均:

\n");

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

{

zongf[i]=xs[i].cj1+xs[i].cj2+xs[i].cj3;

if(zongf[i]/3.0>=80)

printf("%4s%8s%4d%4d%4d%4d%6.2f\n",

xs[i].num,xs[i].name,xs[i].cj1,xs[i].cj2,

xs[i].cj3,zongf[i],zongf[i]/3.0);

}

}

4、接2题,输入学生姓名,查找其信息,如查到则打印其信息,查不到打印“无此学生”。

#include

#include

voidmain()

{structstudent

{charnum[6];

charname[8];

intcj1,cj2,cj3;

};

structstudentxs[3]=

{{"20","Zhang3",78,89,90},{"21","Li4",85,61,92},

{"21","Wang5",77,88,90}};

inti=0;

intzongf[3]={0,0,0};

intfind=0;

charname[8];

printf("Name=\n");

gets(name);

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

{

zongf[i]=xs[i].cj1+xs[i].cj2+xs[i].cj3;

if(strcmp(name,xs[i].name)==0)//字符串的比较

{

find=1;

printf("学号姓名成绩1成绩2成绩3总分平均:

\n");

printf("%4s%8s%4d%4d%4d%4d%6.2f\n",

xs[i].num,xs[i].name,xs[i].cj1,xs[i].cj2,

xs[i].cj3,zongf[i],zongf[i]/3.0);

}

}

if(find==0)

printf("查无此人\n");

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1