c 语言编程练习,c语言编程练习

由于自己的编程水平不高,所以从现在开始每天编一个小程序来提高编程能力。

编程1

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

//printf("\1\1\n"); /*输出两个笑脸*/ 为什么‘\1’输出的就是一个笑脸呢?

//因为\1表示ASCII码为1的字符(即笑脸符)

#include int a[4] = {1, 2, 3, 4};

int main()

{

int i=0, j=0, k=0, m=0;

for(i=0;i<4;i++)

{

for(j=0;j<4;j++)

{

for(k=0; k<4;k++)

{

if(a[i] != a[j] && a[i] != a[k] && a[j] != a[k])

{

printf("%d", a[i]);

printf("%d", a[j]);

printf("%d",a[k]);

printf(" ");

m++;

if(m%5 == 0)

printf("\n");

}

}

}

}

printf("%d\n",m);

return 0;

}

//总结其实根本可以不用数组的,直接用数,加三个循环就行了

编程练习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,求应发放奖金总数?

#include void main()

{

for(;;)

{

float I=0;

double cash=0;

printf("请输入当月利润!单位:万元\n");

scanf("%f",&I);

if(I<10 || I==10)

{

cash = I * 0.1;

printf("%f\n",cash);

}

else if(I>10 || I<20)

{

I = I - 10;

cash = 10*0.1 + I*0.075;

printf("%f\n",cash);

}

else if(I>20 || I<40)

{

I = I - 20;

cash = 10*0.1 + 10*0.075 + I*0.05;

printf("%f\n",cash);

}

else if(I>40 || I<60)

{

I = I - 40;

cash = 10*0.1 + 10*0.075 + 20*0.05 + I*0.03;

printf("%f\n",cash);

}

else if(I>60 || I<100)

{

I = I - 60;

cash = 10*0.1 + 10*0.075 + 20*0.05 + 20*0.03 + I*0.015;

printf("%f\n",cash);

}

else if(I>100)

{

I = I - 100;

cash = 10*0.1 + 10*0.075 + 20*0.05 + 20*0.03 + 40*0.015 + I*0.01;

printf("%f\n",cash);

}

}

}

//总结:答案解析说:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

//奖金定义成长整型,大概和四舍五入一个意思,由于单位是万元,所以就算是小数点后几位也是一笔不小

//的数目

编程练习3

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

#include #include void main()

{

//int x=0, y=0;

long int i,x=0, y=0;

for(i=1;i<100000;i++)

{

x=sqrt(i+100);

y=sqrt(i+168);

if(x*x == i+100 && y*y == i+168)

printf("%d\n",i);

}

}

//总结:可以直接使用编译器自身提供的函数来开方,但是要包含《math.h》这个头文件

//在定义变量的时候,注意int只能存放4个字节的数据

编程练习4

题目:输入某年某月某日,判断这一天是这一年的第几天?

#include void main()

{

long int year;

int month, day;

printf("请输入年月日:\n");

scanf("%d %d %d",&year, &month, &day);

if((year/4==0 && year/100!=0)||(year/400==0))

{

switch(month)

{

case 1:

printf("%d\n",day);

break;

case 2:

printf("%d\n",day+31);

break;

case 3:

printf("%d\n",day+31+28);

break;

case 4:

printf("%d\n",day+31+28+31);

break;

case 5:

printf("%d\n",day+31+28+31+30);

break;

case 6:

printf("%d\n",day+31+28+31+30+31);

break;

case 7:

printf("%d\n",day+31+28+31+30+31+30);

break;

case 8:

printf("%d\n",day+31+28+31+30+31+30+31);

break;

case 9:

printf("%d\n",day+31+28+31+30+31+30+31+31);

break;

case 10:

printf("%d\n",day+31+28+31+30+31+30+31+31+30);

break;

case 11:

printf("%d\n",day+31+28+31+30+31+30+31+31+30+31);

break;

case 12:

printf("%d\n",day+31+28+31+30+31+30+31+31+30+31+30);

break;

}

}

else

{

switch(month)

{

case 1:

printf("%d\n",day);

break;

case 2:

printf("%d\n",day+31);

break;

case 3:

printf("%d\n",day+31+27);

break;

case 4:

printf("%d\n",day+31+27+31);

break;

case 5:

printf("%d\n",day+31+27+31+30);

break;

case 6:

printf("%d\n",day+31+27+31+30+31);

break;

case 7:

printf("%d\n",day+31+27+31+30+31+30);

break;

case 8:

printf("%d\n",day+31+27+31+30+31+30+31);

break;

case 9:

printf("%d\n",day+31+27+31+30+31+30+31+31);

break;

case 10:

printf("%d\n",day+31+27+31+30+31+30+31+31+30);

break;

case 11:

printf("%d\n",day+31+27+31+30+31+30+31+31+30+31);

break;

case 12:

printf("%d\n",day+31+27+31+30+31+30+31+31+30+31+30);

break;

}

}

}

//总结:代码写得太复杂,起始switch语句可以只使用一次的

编程练习5

题目:输入三个整数x,y,z,请把这三个数由小到大输出。

#include void main()

{

int m, n, p, q;

int a[3];

printf("请输入三个整数\n");

scanf("%d %d %d",a, &a[1], &a[2]);

for(m=0;m<3;m++)

{

for(n=m+1;n<3;n++)

{

if(a[n]

编程练习6

题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!

#include main()

{

char a=176,b=219;

printf("%c%c%c%c%c\n",b,a,a,a,b);

printf("%c%c%c%c%c\n",a,b,a,b,a);

printf("%c%c%c%c%c\n",a,a,b,a,a);

printf("%c%c%c%c%c\n",a,b,a,b,a);

printf("%c%c%c%c%c\n",b,a,a,a,b);

}

//总结:输出的ascii码被cmd以GBK编码输出了,在cmd里面输入

//mode con cp select=437选择英文编码再运行就可以正常显示了

//用完了使用mode con cp select=936改回简体中文

//即在cmd中修改,然后在cmd命令行模式下运行该程序

编程练习7

题目:输出9*9口诀。

#include void main()

{

int i, j;

for(i=1;i<10;i++)

{

for(j=1;j

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像识别技术在病虫害检测中的应用是一个快速发展的领域,它结合了计算机视觉和机器学习算法来自动识别和分类植物上的病虫害。以下是这一技术的一些关键步骤和组成部分: 1. **数据收集**:首先需要收集大量的植物图像数据,这些数据包括健康植物的图像以及受不同病虫害影响的植物图像。 2. **图像预处理**:对收集到的图像进行处理,以提高后续分析的准确性。这可能包括调整亮度、对比度、去噪、裁剪、缩放等。 3. **特征提取**:从图像中提取有助于识别病虫害的特征。这些特征可能包括颜色、纹理、形状、边缘等。 4. **模型训练**:使用机器学习算法(如支持向量机、随机森林、卷积神经网络等)来训练模型。训练过程中,算法会学习如何根据提取的特征来识别不同的病虫害。 5. **模型验证和测试**:在独立的测试集上验证模型的性能,以确保其准确性和泛化能力。 6. **部署和应用**:将训练好的模型部署到实际的病虫害检测系统中,可以是移动应用、网页服务或集成到智能农业设备中。 7. **实时监测**:在实际应用中,系统可以实时接收植物图像,并快速给出病虫害的检测结果。 8. **持续学习**:随着时间的推移,系统可以不断学习新的病虫害样本,以提高其识别能力。 9. **用户界面**:为了方便用户使用,通常会有一个用户友好的界面,显示检测结果,并提供进一步的指导或建议。 这项技术的优势在于它可以快速、准确地识别出病虫害,甚至在早期阶段就能发现问题,从而及时采取措施。此外,它还可以减少对化学农药的依赖,支持可持续农业发展。随着技术的不断进步,图像识别在病虫害检测中的应用将越来越广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值