程序设计:C语句

目录

一、条件语句:if ( ) … else …

1. 判断一元二次方程ax²+bx+c=0的根的情况

2. 根据输入的ASCII码判别大写字符、小写字符、数字及其他字符

3. 编写程序输出分段函数 

4. 商场打折 

5. 判断闰年

6. if-else语句的嵌套

① 三个数中找出最大的一个数

二、多分支选择语句:switch ( )…case

1. 银行利率

2. 成绩分级

3. 分类运算

三、当循环语句:while ( ) …

1. 打印1~100

① 正序输出

② 逆序输出

③ 打印偶数 

2. 简单数学运算 

① 求2+4+6+...+100

② 求2*4*6*...*100

③ 求1!+2!+3!+…+20!

④ 用步长为2的while循环语句计算1*2*3+3*4*5+...+99*101*101的值 

⑤ 输入一个正整数m,计算1-3+5-7+9-11+...的前m项之和 

 3. 输出100~999之间的水仙花数

四、直到循环语句:do … while ( )

五、计数循环语句:for ( ) …

1. 用步长为2的for循环语句计算1*2*3+3*4*5+...+99*101*101的值 

2. 输出100~999之间的水仙花数

3. 输出1~100,每行输出8个数 

4.  求1!+2!+3!+…+20!

六、continue与break

1. 求出88888的约数中最大的三位数

2. 输出100~200之内不能被3整除的整数,直到遇到第一个被3整除的数为止

3. 输出100~200之内不能被3整除的整数


一、条件语句:if ( ) … else …

if(条件1为真){执行操作1}

else if(条件2为真){执行操作2};

else if(条件3为真){执行操作2};

...

else {执行操作n};

若(条件1为真){执行操作1};

或者(条件2为真){执行操作2};

或者(条件3为真){执行操作2};

...

都不是的话 {执行操作n};

1. 判断一元二次方程ax²+bx+c=0的根的情况

#include<stdio.h>
int main()
{
	float a,b,c,delta;
	scanf("a=%f,b=%f,c=%f",&a,&b,&c);
	delta=b*b-4*a*c;
	if(delta==0)
		printf("该方程有两个相等的实根\n"); 
	else if(delta==0) 
		printf("该方程有两个不相等的实根\n"); 
	else 
		printf("该方程没有实根\n"); 
    return 0;
}

2. 根据输入的ASCII码判别大写字符、小写字符、数字及其他字符

#include<stdio.h>
int main()
{
	char c;
	printf("Please input a character;\n");
	c=getchar(); //getchar() 从键盘中获取一个字符 
	if (c>='A'&&c<='Z') //重要!
		printf("大写字符!\n") ;
	else if (c>='a'&&c<='z') //重要!
		printf("小写字符!\n") ;
	else if (c>='0'&&c<='9') //重要!
		printf("数字!\n") ;
	else
		printf("其他字符!\n");
	return 0;
}

3. 编写程序输出分段函数 

要求从键盘输入x的值,根据下面的公式求出y的值,并输出

                      2x -1   (-5<x<0)

              y=    x-1     (x=0) 

                      2x+1    0<x<10)

#include<stdio.h> 
int main()
{ 
	float  x,y;
  	printf("please input x:\n");
	scanf("%f",&x);
 	if (x>-5&&x<0)
	  	y=2*x-1;
	else if(x==0)
  		y=x-1;
  	else if(x>0&&x<10)
		y=2*x+1;
 	 printf("y=%f",y);
	return 0;
}

4. 商场打折 

某商场给予顾客购物的折扣率如下:

        购物金额〈200                      不折扣

        500元〉购物金额>=200         9折

        1000元>购物金额>=500元     8折

        购物金额>=1000元                 7.5折

输入一个购物金额,输出打折率、购物实际金额。

#include<stdio.h>
int main()
{  
	float a;
	printf("请输入购物金额:");
	scanf("%f",&a);
	if(a<200)
	{
		printf("无折扣,%f",a);
	}
	else if(500>a&&a>=200)
	{
		printf("9折,%f",0.9*a);
	}
	else if(1000>a&&a>=500)
	{
		printf("8折,%f",0.8*a);
	}
	else if(a>=1000)
	{
		printf("7.5折,%f",0.75*a);
	} 
	return 0;
}

5. 判断闰年

只要满足下列两个条件之一者,即是闰年

(1) 年号能被4整除,但要排除同时能被100整除;

(2) 年号能被400整除。

如何表示这个条件?假设输入年号赋值给变量y

 (y%4= =0 && y%100!=0) || (y%400= =0)

#include <stdio.h>
main()
{ 
   int y;
   printf("输入一个年号:");
   scanf("%d",&y);
   if ((y%4= =0 && y%100!=0) || (y%400= =0))
	   printf("Yes");
   else
	   printf("No"); 
   printf("\n程序运行结束。");
}

6. if-else语句的嵌套

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第二次作业: 1. 编写点类(Point类),属性成员有x,y,都是double数据类型。需要为Point类编写构造函数。 编写直线类(Line类),需要提供两点确定一条直线的函数功能。 如果两点重合,可以返回异常或者返回null引用来解决这个问题。 直线类的数据成员和函数成员请自行设计。 2. 给定文本文件,文件名称为a.txt,文件内容为一个8行8列的字符矩阵,内容为1和0字符, 请编程计算出该矩阵中水平方向或者垂直方向或者斜线方 向连续1最多的个数。 例如: 11001101 10110101 01010101 11001000 01010101 11001101 00011000 11110000 3. 编写程序求出1万以内的所有素数,并将这些素数输出到一个文本文件中,每行文本只包含一个素数数据。 该文本文件内容要求可以用记事本程序来查看。 4. 编写程序求出1万以内的所有素数,然后再判断这些素数中哪些是由素数拼接而成的。 例如素数23就符合条件,23本身是素数,其由素数2,和素数3拼接(连接)组成。 素数29就不满足条件,2是素数,而9不是素数。素数307不满足条件,不能忽略0. 7907这个素数符合条件,7是素数,907是素数。 需要把符合条件的拼接素数全部输出,并统计个数。 5. 要求从控制台输入英语单词及单词解释两项数据, 把录入的数据追加到文件中。要求提供单词查询功能。 用户输入单词后,从单词库文件中查找,如果存在则输出 该单词的解释。注意,单词不能有重复,如果重复则覆盖替换 以前的解释数据。 6. 通过命令行参数输入一个文件夹的路径名称,然后编写程序找出该文件夹下文件名称重复并且文件大小也一样的文件, 如果没有“重复文件”,则输出“没有重复文件”的提示,如果有,需要输出文件名称,和文件所在的文件夹路径(绝对路径)。 提示,需要遍历该文件夹下所有子文件夹,设计一个文件类,属性包括文件名称,文件路径,文件大小,然后进行“重复” 判断,如果文件重复,则需要记录并输出,有可能有文件名重复,但是文件大小不一样,重复的文件可能不止2个,可能 在不同的子文件夹下有多个文件重复。 7. 霍夫曼编码实现压缩文本文件,见文件huffman.rar. 对文件数据读写等功能已经实现,程序在Q2Resources.zip中。 Q2Resources.zip中的文件禁止修改。请将TextZip.java文件所有未实现的函数按照要求给以实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值