c语言 if语句 字符串,C语言练习:if语句

C语言练习题:if语句(12题)

判定三角形类型

/*

__author__ = 'xiaofeizhang'

函数作用:判定三角形类型

*/

#include

int main(void){

float a, b, c;

printf("请输入第一条边的长度:%f", &a);

scanf("%f", &a);

printf("第一条边的长度为:%f\n", a);

printf("请输入第二条边的长度:%f", &b);

scanf("%f", &b);

printf("请输入第三条边的长度:%f", &c);

scanf("%f", &c);

if (a>=b+c || b>=a+c || c>=a+b){

printf("这三条边无法组成一个三角形\n");

}

else{

if (a==b && a==c && b==c){

printf("这是一个等边三角形\n");

}

else if (a==b || a==c || b==c){

printf("这是一个等腰三角形\n");

}

else if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a){

printf("这是一个直角三角形");

}

}

return 0;

}

/*

请输入第一条边的长度:0.0000001

第一条边的长度为:1.000000

请输入第二条边的长度:0.0000002

请输入第三条边的长度:0.0000003

这三条边无法组成一个三角形

--------------------------------

Process exited after 2.5 seconds with return value 0

请按任意键继续. . .

*/

根据x的不同,输出不同的y

/*

__author__ = 'xiaofeizhang'

函数作用: 根据x的不同,输出不同的y

*/

#include

int main(void){

int x, y;

printf("请输入x的值:");

scanf("%d", &x);

if(x>0){

y = 1;

}

else if (x == 0){

y = 0;

}

else{

y = -1;

}

printf("y的值为%d", y);

return 0;

}

/*

请输入x的值:-1

y的值为-1

请输入x的值:0

y的值为0

请输入x的值:1

y的值为1

--------------------------------

Process exited after 0.975 seconds with return value 0

请按任意键继续. . .

*/

判定某年某月有多少天

/*

__author__ ='xiaofeizhang'

函数作用:判定某年某月有多少天

*/

#include

int main(void){

int year, month, days=0;

printf("请输入年份: ");

scanf("%d", &year);

printf("请输入月份: ");

scanf("%d", &month);

switch (month){

case 1:;

case 3:;

case 5:;

case 7:;

case 8:;

case 10:;

case 12: days = 31; break;

case 4:;

case 6:;

case 9:;

case 11: days = 30; break;

case 2: if ((year%4==0 && year%100!=0)||year%400==0){

days = 29; }

else{

days = 28;

break;

}

}

if (days != 0){

printf("%d年%d月有%d天", year,month,days);

}

else {

printf("输入的时间有问题");

}

return 0;

}

/*

请输入年份: 2019

请输入月份: 2

2019年2月有28天

--------------------------------

Process exited after 4.642 seconds with return value 0

请按任意键继续. . .

*/

简单计算器

/*

__author__ ='xiaofeizhang'

函数作用:简单计算器

*/

#include

int main(void){

float a, b;

int symbol;

printf("请输入第一个操作数:");

scanf("%f", &a);

printf("请输入第二个操作数:");

scanf("%f", &b);

printf("请输入操作符\n");

printf("1: 为乘法 *\n");

printf("2: 为除法 /\n");

printf("3: 为加法 +\n");

printf("4:为减法 -\n");

printf("请输入:");

scanf("%d", &symbol); //找问题,找了半天,最后才发现是scanf函数输入格式有问题,记住这个取地址符号&

switch(symbol){

case 1: printf("结果为:%f", a*b); break;

case 2: printf("%f 除以 %f 的结果为:%f\n", a, b, a/b); break;

case 3: printf("%f 加上 %f 的结果为:%f\n", a, b, a+b); break;

case 4: printf("%f 减去 %f 的结果为:%f\n", a, b, a-b); break;

default: printf("输入的操作符可能有些问题,请检查后重新输入");

}

return 0;

}

/*

请输入第一个操作数:2

请输入第二个操作数:3

请输入操作符

1: 为乘法 *

2: 为除法 /

3: 为加法 +

4:为减法 -

请输入:3

2.000000 加上 3.000000 的结果为:5.000000

--------------------------------

Process exited after 8.262 seconds with return value 0

请按任意键继续. . .

*/

判定一个数字能否被7整除

/*

__author__ ='xiaofeizhang'

函数作用: 判定一个数字能否被7整除

*/

#include

int main(void){

int num;

printf("请输入一个正数:");

scanf("%d", &num);

// 输入的字符串中如果含有数字和字母,输入函数会从第一位开始寻找数字,找到就输出,找不到就截止对应

// 如果首位为字母,直接输出0

if (num%7==0 && num%11==0){

printf("输入的数值为:%d, 该数能否被7或者11整除:Yes\n", num);

}

else{

printf("输入的数值为:%d, 该数能否被7或者11整除:No\n", num);

}

return 0;

}

/*

请输入一个正数:18

输入的数值为:18, 该数能否被7或者11整除:No

--------------------------------

Process exited after 2.748 seconds with return value 0

请按任意键继续. . .

*/

判断一个数是否为整数

/*

__author__ ='xiaofeizhang'

函数作用: 判断一个数是否为整数

*/

#include

bool check(const char *p) {

if(p == NULL)

return 0;

else {

while(*p != '\0') {

if(*p <= '9' && *p++ >= '0')

continue;

else

return 0;

}

}

return 1;

}

int main()

{

bool count;

bool check(const char *p);

count = check("123456.");

if (count){

printf("输入数据的类型为数值类型");

}

else {

printf("输入的类型不为数值类型");

}

return 0;

}

/*

输入的类型不为数值类型

--------------------------------

Process exited after 0.0212 seconds with return value 0

请按任意键继续. . .

*/

求解二元一次方程的解

/*

__author__ ='xiaofeizhang'

函数作用: 求解二元一次方程的解

*/

#include

#include

int main(void){

float a, b, c, delta;

float x1, x2;

printf("请输入系数a: ");

scanf("%f", &a);

printf("请输入系数b: ");

scanf("%f", &b);

printf("请输入系数c: ");

scanf("%f", &c);

// a = 1; b= 2; c=1;

if (a > 0 || a<0 ){

delta = b*b - 4*a*c;

printf("delta的值为:%lf\n", delta);

if (delta<0){

printf("该方程无解");

}

else if (delta==0){

x1 = -b / (2 * a);

printf("该方程有两个相同的解, %f, %f\n", x1, x1);

}

else {

x1 = (-b + sqrt(delta)) / (2 * a);

x2 = (-b - sqrt(delta)) / (2 * a);

printf("该方程有两个不相同的解,解一为:%f, 解二为:%f\n", x1, x2);

}

}

else{

printf("这不是一个二元一次方程");

}

return 0;

}

/*

请输入系数a: 2

请输入系数b: 4

请输入系数c: 1

delta的值为:8.000000

该方程有两个不相同的解,解一为:-0.292893, 解二为:-1.707107

--------------------------------

Process exited after 4.65 seconds with return value 0

请按任意键继续. . .

*/

确定一个正数的位数以及反转

/*

__author__ ='xiaofeizhang'

函数作用: 确定一个正数的位数以及反转

*/

#include

#include

int main(void){

int symbol, symbol_copy, len=0, symbol_reverse=0, tmp;

printf("请输入一个位数不多于4位的正整数:");

// scanf("%c", &symbol); // strlen函数为 返回字符串的长度

// len = strlen(symbol);

scanf("%d", &symbol);

symbol_copy = symbol;

while (symbol)

{

tmp = symbol % 10;

symbol_reverse = symbol_reverse * 10 + tmp;

symbol = symbol / 10;

len++;

}

printf("%d 的位数为 %d\n", symbol_copy, len);

printf("%d这个序列的反序列为: %d", symbol_copy, symbol_reverse);

}

/*

请输入一个位数不多于4位的正整数:399

399 的位数为 3

399这个序列的反序列为: 993

--------------------------------

Process exited after 4.271 seconds with return value 0

请按任意键继续. . .

*/

使用随机函数

/*

__author__ ='xiaofeizhang'

函数作用: 使用随机函数

*/

#include

#include

#include

int main(void){

int num, rnd;

srand(time(NULL)); //srand 返回的是随机数序列, time(NULL)返回的是从1970/1/1/0/0/0到当前时间的秒数

printf("已经过去多少%d秒了\n", time(NULL));

// rnd = rand(); //该随机函数确实可以生成一个随机数,该数的范围为0~Rand_max之间,但是时伪随机数

rnd = rand()%100+1; //该随机数的范围为1~100之间

printf("预设值为:%d\n", rnd);

printf("猜猜看(1-100之间):");

scanf("%d", &num);

if (num>rnd){

printf("猜大了哟");

}

else if (num

printf("猜小了哟");

}

else{

printf("恭喜你,猜对了");

}

return 0;

}

/*

已经过去多少1546506166秒了

预设值为:16

猜猜看(1-100之间):2

猜小了哟

--------------------------------

Process exited after 6.061 seconds with return value 0

请按任意键继续. . .

*/

输入三个数,并按照从小到大顺序排列

/*

__author__ = 'xiaofeizhang'

函数作用:输入三个数,并按照从小到大的顺序排列

*/

#include

bool check(const char *p) {

if(p == NULL)

return 0;

else {

while(*p != '\0') {

if(*p <= '9' && *p++ >= '0')

continue;

else

return 0;

}

}

return 1;

}

int main()

{

int a, b, c;

int new_1, new_2, new_3;

bool count;

bool check(const char *p);

printf("请输入a:\n");

scanf("%d", &a);

printf("请输入b:\n");

scanf("%d", &b);

printf("请输入c:\n");

scanf("%d", &c);

if (a>=b && a>=c){

new_1 = a;

if (b>c){

new_2 = b;

new_3 = c;

}

else {

new_2 = c;

new_3 = b;

}

}

if (b>=a && b>=c){

new_1 = b;

if (a>=c){

new_2 = a;

new_3 = c;

}

else {

new_2 = c;

new_3 = a;

}

}

if (c>=a && c>=b){

new_1 = c;

if (a>=b){

new_2 = a;

new_3 = b;

}

else {

new_2 = b;

new_3 = a;

}

}

printf("这组数据从小到大为:%d, %d, %d\n", new_3, new_2, new_1);

count = check("12345.6");

if (count){

printf("输入数据的类型为数值类型");

}

else {

printf("输入的类型不为数值类型");

}

return 0;

}

/*

请输入a:

123

请输入b:

321

请输入c:

456

这组数据从小到大为:123, 321, 456

输入的类型不为数值类型

--------------------------------

Process exited after 5.888 seconds with return value 0

请按任意键继续. . .

*/

自动售卖机

/*

__author__ = 'xiaofeizhang'

函数作用:自动售卖机

*/

#include

int main(void){

int choice;

printf(" ***** 自动售卖机清单 *****\n");

printf(" ***** 1. 瓜子 *****\n");

printf(" ***** 2. 花生 *****\n");

printf(" ***** 3. 爆米花 *****\n");

printf(" ***** 4. 可乐 *****\n");

printf(" ***** 5. 雪碧 *****\n");

printf(" ***** 6. 果汁 *****\n");

printf(" ***** 7. 咖啡 *****\n");

printf("请输入你想购买的物品序号(1-7):\n");

scanf("%d", &choice);

switch (choice){

case 1: printf("这是你购买的瓜子\n"); break;

case 2: printf("这是你购买的花生\n"); break;

case 3: printf("这是你购买的爆米花\n"); break;

case 4: printf("这是你购买的可乐\n"); break;

case 5: printf("这是你购买的雪碧\n"); break;

case 6: printf("这是你购买的果汁\n"); break;

case 7: printf("这是你购买的咖啡\n"); break;

default: printf("你下的单有问题,请检查后,在重新下单\n");

}

return 0;

}

/*

***** 自动售卖机清单 *****

***** 1. 瓜子 *****

***** 2. 花生 *****

***** 3. 爆米花 *****

***** 4. 可乐 *****

***** 5. 雪碧 *****

***** 6. 果汁 *****

***** 7. 咖啡 *****

请输入你想购买的物品序号(1-7):

6

这是你购买的果汁

--------------------------------

Process exited after 3.891 seconds with return value 0

请按任意键继续. . .

*/

字符转换

/*

__author__ = 'xiaofeizhang'

函数作用:字符转换

*/

#include

#include

int main(void) {

char symbol, symbol_change;

printf("请输入要转化的内容(大写字母,小写字母,数字):");

symbol = getchar();

if ('A'<=symbol && symbol<='Z'){

symbol_change = symbol + 32;

printf("本次输入的字符为:%c\n", symbol);

printf("转化以后的字符为:%c\n", symbol_change);

}

else if ('0'<=symbol && symbol<='9'){

symbol_change = symbol-48;

printf("本次输入的字符为:%c\n", symbol);

printf("转化以后的字符为:%d\n", symbol_change);

}

else if ('a'<=symbol && symbol<='z'){

symbol_change = symbol - 32;

printf("本次输入的字符为:%c\n", symbol);

printf("转化以后的字符为:%c\n", symbol_change);

}

else {

printf("输入的字符可能不在本次转化的考察范围之内\n");

exit(0);

}

return 0;

}

/*

请输入要转化的内容(大写字母,小写字母,数字):j

本次输入的字符为:j

转化以后的字符为:J

--------------------------------

Process exited after 3.495 seconds with return value 0

请按任意键继续. . .

*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值