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");
}