学习目的:
1.熟练掌握IF语句及SWITCH语句的基本结构和使用方法。
2.熟练掌握循环语句中for语句、while语句和do while语句使用方法。
3.掌握逻辑运算中,真(1)、假(0)判断方法。
学习内容:
1.从键盘输入两个实数和一个四则运算符(+、-、*、/),由运算符决定相应的运算。
2.用程序实现下面的分段函数:(提示:利用IF-ELSE IF语句)
3.键盘上输入一个字符,判读该字符是大写字母、小写字母、空格、数字和其他字符,并打印输出。(提示:利用IF-ELSE IF语句)备注:扩展此题,如果输入一行字符,请分别统计大写字母、小写字母、数字和其他字符的个数
4.从键盘任意输入一个年号,判断它是否是闰年,是闰年则输出“当前年份是闰年”,不是输出“当前年份不是闰年”。(提示:符合条件之一是闰年:1.能被4整除,但不能被100整除2.能被400整除)
5.如果一个3位整数数等于它每一位数的立方和,则称此数为“水仙花数”,求所有水仙花数。
例如:153是一个水仙花数,因为153=。
6.计算1+3+5+7+……+99+100的值(提示:请分别使用do-while、while、for)。
7.计算1x2x3+3*4*5+……+99x100x101的和。
8.编程计算并输出1……n之间的所有数的平方和立方
程序实现:
1.从键盘输入两个实数和一个四则运算符(+、-、*、/),由运算符决定相应的运算。
#include <stdio.h>
main()
{
int a,b;
char op;
printf("请输入一个表达式:");
scanf("%d%c%d",&a,&op,&b);
switch(op)
{
case'+':
printf("%d+%d=%d\n",a,b,a+b);
break;
case'-':
printf("%d-%d=%d\n",a,b,a-b);
break;
case'*':
printf("%d*%d=%d\n",a,b,a*b);
break;
case'/':
if(0==b)
printf("被除数不能为0");
else
printf("%d/%d=%d\n",a,b,a/b);
break;
default:
printf("invalid operator!\n");
}
}
2.用程序实现下面的分段函数:(提示:利用IF-ELSE IF语句)
#include <stdio.h>
main()
{
int x=0;
int y=0;
printf("请您输入x的值:\n");
scanf("%d",&x);
if(x<1)
{
y=x;
}
else if(x>=1 && x<10)
{
y=2*x-3;
}
else if(x>=10)
{
y=3*x-10;
}
printf("函数的结果为:%d\n",y);
}
3.键盘上输入一个字符,判读该字符是大写字母、小写字母、空格、数字和其他字符,并打印输出。
#include <stdio.h>
main()
{
char ch;
printf("请输入一个字符:\n");
ch=getchar();
if(ch>='A'&&ch<='Z')
{
printf("您输入的是大写字母:%c\n",ch);
}
else if(ch>='a'&&ch<='z')
{
printf( "您输入的是小写字母:%c\n",ch);
}
else if(ch>='0'&&ch<='9')
{
printf( "您输入的是数字:%c\n",ch);
}
else if(ch==' ')
{
printf( "您输入的是空格\n");
}
else
{
printf("您输入的是其他字符\n");
}
}
4.从键盘任意输入一个年号,判断它是否是闰年,是闰年则输出“当前年份是闰年”,不是输出“当前年份不是闰年”。
#include <stdio.h>
main()
{
int year;
printf("请您输入一个年份:(例如:1998)\n");
scanf("%d",&year);
if((year%4==0 && year%100!=0)||(year%400==0))
{
printf("您输入的年份%d是闰年!\n",year);
}
else
{
printf("您输入的年份%d不是闰年!\n",year);
}
}
5.如果一个3位整数数等于它每一位数的立方和,则称此数为“水仙花数”,求所有水仙花数。
#include<stdio.h>
main()
{
int b0=0; //个位
int b1=0; //十位
int b2=0; //百位
int sum=0; //三位立方之和
int x=0; //三位整数
printf("从100-999之间的所有的水仙花数是:\n");
for(x=100;x<=999;x++)
{
b2=x/100;
b1=(x-b2*100)/10;
b0=x%10;
sum=b0*b0*b0+b1*b1*b1+b2*b2*b2;
if(x==sum)
{
printf("%6d\n",x);
}
}
}
6.计算1+3+5+7+……+99+100的值(提示:请分别使用do-while、while、for)。
#include <stdio.h>
main()
{
int i=0;
int sum=0;
i=1;
do
{
sum=sum+i;
i+=2; //i=i+2
}while(i<=100);
printf("1+3+5+7+……+100=%d\n",sum);
}
7.计算1x2x3+3*4*5+……+99x100x101的和。
#include <stdio.h>
main()
{
int i=0;
int sum=0;
int temp=0;
for(i=1;i<=99;i+=2)
{
temp=i*(i+1)*(i+2);
sum=sum+temp;
}
printf("1*2*3+3*4*5+……+99*100*101=%d\n",sum);
}
8.编程计算并输出1……n之间的所有数的平方和立方。
#include <stdio.h>
main()
{
int n=0;
int i=0;
int mianji=0;
int lifang=0;
printf("请您输入n的值:\n");
scanf("%d",&n);
printf("从1-%d之间的所有平方和立方如下:\n",n);
i=1;
while(i<=n)
{
mianji=i*i;
lifang=i*i*i;
printf("%d*%d=%d\n%d*%d*%d=%d\n",i,i,mianji,i,i,i,lifang);
i++;
}
}