计算机基础C程序设计之一

学习目的:

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++;
	}
}

猜你喜欢

转载自blog.csdn.net/qq_42880059/article/details/90742464