Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4052894
  • 博文数量: 272
  • 博客积分: 7846
  • 博客等级: 少将
  • 技术积分: 6476
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-25 16:27
文章分类

全部博文(272)

分类: C/C++

2010-06-22 13:11:42


C语言程序设计

刘凯

  第一章 基本语法规则
项目一:分支语句
【实训目的】
1.掌握if语句的使用。
2.掌握switch……case语句的使用。
【实训内容】
1.输入三个整数x,y,z,请把这三个数由小到大输出。
main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x>y)
{t=x;x=y;y=t;} /*交换x,y的值*/
if(x>z)
{t=z;z=x;x=t;}/*交换x,z的值*/
if(y>z)
{t=y;y=z;z=t;}/*交换z,y的值*/
printf("small to big: %d %d %d\n",x,y,z);
}

2.输入一个百分制成绩,输出其对应的等级。(90-100为A,80-99为B,70-79为C,60-69为D,0-59为E)。
main()
{ int x; char y;
scanf("%d",&x);
if(x>=90) y='A';
else if(x>=80) y='B';
else if(x>=70) y='C';
else if(x>=60) y='D';
else y='E';
printf("y=%c\n",y);
}

3.用swich~case语句实现第二题。
main()
{ int a;
char y;
scanf("%d",&a);
switch(a/10)
{ case 10:
case 9:y='A';break;
case 8:y='B';break;
case 7:y='C';break;
case 6:y='D';break;
default:y='E';break;
}
printf("y=%c\n",y);
}



项目二:循环语句
【实训目的】
1.掌握while语句的使用。
2.掌握do while语句的使用。
3.掌握for语句的使用。
【实训内容】
1.从键盘上输入十个小于100的整数,输出偶数的个数及偶数和。
main(){
int a,i,sum,num;
i=0;
while(i<10){
scanf("%d",&a);
if(a%2==0){
sum+=a;
num++;
}
i++;
}
printf("%d,%d",num,sum);
}
2.计算1至100之间的整数和。
main(){
int i,sum;
i=1;
do{
sum+=i;
}while(i<=100);
printf("%d",sum);
}
3.输出九九表
#include
int main()
{
 int x=1,y=1,sum;
 int i;
 while(x<10)
 {
 for(i=0;i<9;i++)
 {
 sum=x*y;
 y++;
 printf("%3d  ",sum);
 }
 printf("\n");
 x++;
 y=1;
 }
    return 0;
}



第二章 数组
项目三:一维数组与一维字符数组
【实训目的】
1.掌握一维数组的定义、初始化及使用。
2.掌握一维字符数组的定义及使用。
【实训内容】
1.将整型数组a中的十个整型数逆序存放并输出。
main()
{ int a[10],i,j,t;
for(i=0;i<10;i++) /* 输入10个整型数存入数组a中 */
scanf("%d",&a[i]);
for(i=0,j=9;i
{ t=a[i];a[i]=a[j];a[j]=t;}
for(i=0;i<10;i++) /* 输出数组a中的10个元素值 */
printf("%4d",a[i]);
}
2.将一个字符串逆置后接到原串的后面。
#include "stdio.h"
main()
{ char str[81];
int i,j;
gets(str);
i=0;
while(str[i]!= '\0') i++;
j=i;
i--;
while(i>=0)
{ str[j]=str[i];
i--;
j++;
}
str[j]= '\0';
puts(str);
}
3.将字符数组a中的字符串复制到字符数组b。
#include "stdio.h"
main()
{ char a[81],b[81];
int i=0;
gets(a);
while(*(a+i)!= '\0')
{ *(b+i)=*(a+i);
i++;
}
*(b+i)= '\0';
puts(b);
}
4.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
#include "stdio.h"
main()
{char c;
 int letters=0,space=0,digit=0,others=0;
 printf("please input some characters\n");
 while((c=getchar())!='\n')
 {
 if(c>='a'&&c<='z'||c>='A'&&c<='Z')
  letters++;
 else if(c==' ')
  space++;
   else if(c>='0'&&c<='9')
       digit++;
     else
       others++;
}
printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,
space,digit,others);
}


第三章  函数
项目四:函数的定义、调用与参数传递
【实训目的】
1.掌握函数的定义;
2.掌握函数的调用;
3.掌握函数参数的传递方式。
【实训内容】
1.通过调用函数计算任意三个整数的和。
int add(x,y,z)
int x,y,z;
{ return x+y+z;
}
main()
{ int a,b,c;
printf("Input a,b&c:"); scanf("%d%d%d",&a,&b,&c);
printf("add=%d\n",add(a,b,c));
}
2.将3×5数组中的最大值与最小值互换位置。
exchangemm(int x[][5])
{ int i,j,max,min,hi,hj,li,lj,t;
max=min=x[0][0];hi=hj=li=lj=0;
for(i=0;i<3;i++)
for(j=0;jmax) { max=x[i][j];hi=i;hj=j;}
if(x[i][j] }
t=x[hi][hj]; x[hi][hj]=x[li][lj]; x[li][lj]=t;
}
main()
{ int a[3][5],i,j;
for(i=0;i<3;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
exchangemm(a);
for(i=0;i<3;i++)
{ for(j=0;j<5;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
}

阅读(2001) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~