博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言 百炼成钢1
阅读量:6113 次
发布时间:2019-06-21

本文共 3034 字,大约阅读时间需要 10 分钟。

//题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#define _CRT_SECURE_NO_WARNINGS#include
#include
void main(){ //三位数,有个,十,百,三位,可以通过循环来解决,百位上循环1次,十位上循环4次,个位上循环4*4=16次 FILE *pf; pf = fopen("E:\\h1.txt", "w"); //定义缓冲区 //字符串数组必须赋初始值 char buff[10] = { 0 }; for (int i = 1; i < 5; i++) { for (int j = 1; j < 5; j++) { for (int k = 1; k < 5; k++) { if (i!=j&&i!=k&&j!=k) { //拼接字符串 sprintf(buff, "%d%d%d\r\n", i, j, k); printf("%s", buff); //写入1.TXT fputs(buff, pf); } } } } printf("执行成功!\n"); //关闭文件指针 fclose(pf); system("pause");}

 

//题目2:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高//于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提//成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于//40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于//100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?#define _CRT_SECURE_NO_WARNINGS#include
#include
//分析:应发放奖金总数=10*10%+10*7.5%(利润高于10万元,低于20万元时)+20*5%....//首先确定奖金处于哪一级别//可以使用多函数实现//低于10万元double low10(int num){ return num*0.1;}//利润高于10万元,低于20万元时double low20(int num){ return num*0.075;}//利润高于20万元,低于40万元时double low40(int num){ return num*0.05;}//利润高于40万元,低于60万元时double low60(int num){ return num*0.03;}//利润高于60万元,低于100万元时double low100(int num){ return num*0.015;}//利润高于60万元,低于100万元时double lowm(int num){ return num*0.01;}void main(){ int num = 0; scanf("%d", &num); printf("\n当月利润是%d\n",num); double resnum = 0.0; switch ((num-1)/10) { case 0: resnum=low10(num); break; case 1: resnum = low10(10) + low20(num-10); break; case 2: case 3: resnum = low10(10) + low20(10) + low40(num - 20); break; case 4: case 5: resnum = low10(10) + low20(10) + low40(20)+low60(num-40); break; case 6: case 7: case 8: case 9: resnum = low10(10) + low20(10) + low40(20) + low60(20) + low100(num-60); break; default: resnum = low10(10) + low20(10) + low40(20) + low60(20) + low100(40)+lowm(num-100); break; } printf("应发放奖金总数%lf", resnum); system("pause");}

 

//题目3:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?#define _CRT_SECURE_NO_WARNINGS#include
#include
#include
//分析:枚举法,用while循环 找到为止void main(){ int x, y,i=0; while (1){ //sqrt在头文件mat.h中,函数原型为double sqrt(double);功能是求一个非负实数的平方根 //这里存在强转,所以sqrt((double)(i + 100))求的值不一定是整数 x =(int)sqrt((double)(i + 100)); y =(int)sqrt((double)(i + 268)); //x*x == (i + 100)用来判断上面sqrt((double)(i + 100))求的值是不是一个整数,如果不是整数就不会相等 if (x*x == (i + 100) && y*y == (i + 268)) { printf("该数i是%d,x的值是%d,y的值是%d\n",i,x,y); break; } i++; if (i>100000) { break; } } system("pause");}

 

转载地址:http://eycka.baihongyu.com/

你可能感兴趣的文章
shiro入门示例
查看>>
Spring实现封装自定义注解@Trimmed清除字符串前后的空格
查看>>
bootstrap-datepicker应用
查看>>
Linux如何实现开机启动程序详解(转)
查看>>
使用js冒泡实现点击空白处关闭弹窗
查看>>
通过经纬度坐标计算距离的方法(经纬度距离计算)ZZ
查看>>
Requests: 让 HTTP 服务人类
查看>>
Android:ImageView控件显示图片
查看>>
I.MX6 Linux 3.0.35 SD boot
查看>>
Anaconda
查看>>
Linux中挂载新的磁盘到指定目录或分区
查看>>
Failed to load ApplicationContext
查看>>
详谈如何定制自己的博客园皮肤
查看>>
html怎样可是使文本框内容不可修改
查看>>
Redis在本地测试没有问题,上传的服务器后出现错误
查看>>
Mybatis常见面试题(转)
查看>>
Getting started with OpenCL and GPU Computing
查看>>
Django通过pycharm创建后,如何登录admin后台?
查看>>
高压缩文件是如何实现的?
查看>>
POJ 3210 : Coins
查看>>