废话不说,咱们直接上车
#include<stdio.h>
#include<math.h>
double area(double a,double b,double c)
{
double s,sarea=-1;
if(a+b>c&&b+c>a&&c+a>b)
{
s=(a+b+c)/2;
sarea=sqrt(s*(s-a)*(s-b)*(s-c));
}
return sarea;
}
void main()
{
double a,b,c,sarea;
printf("请输入三个数:");
scanf("%lf%lf%lf",&a,&b,&c);
sarea=area(a,b,c);
if(sarea>0)
printf("可以构成三角形,其面积为:%.2lf\n",sarea);
else
printf("不可以构成三角形\n");
}
#include <stdio.h>
void main()
{
int x,y;
scanf("%d",&x);
if(x>-5 && x<0) y=x-1;
else if(x==0) y=x;
else if(x>0 && x<8) y=x+1;
else y=10;
printf("y=%d\n",y);
}
#include <stdio.h>
void main ()
{
int i=1;
double s=1,e=1;
while(1/s>=1E-5)
{
s=s*i;
e=e+1/s;
i++;
}
printf("e=%lf\n",e);
}
#include <stdio.h>
void main ()
{ int m,n,i;
printf("请输入两个正整数: ");
scanf("%d%d",&m,&n);
for(i=m;;i++)
if(i%m==0 && i%n==0)
break;
printf("%d,%d的最小公倍数为%d\n",m,n,i);
}
#include <stdio.h>
void main()
{
int cj,max=0;
printf("输入成绩,以负数结束: ");
scanf ("%d",&cj);
while(cj>=0)
{ if(cj>max) max=cj;
scanf ("%d",&cj);
}
printf("最高分:%d\n",max);
}
#include <stdio.h>
void main()
{
int a,b,t,i,n;
double sum=0.0;
printf("请输入n:");
scanf("%d",&n);
a=2,b=1;
for (i=1;i<=n;i++)
{
sum=sum+(double)a/b;
t=a; a=a+b; b=t;
}
printf("sum=%f\n",sum);
}
#include <stdio.h>
void main()
{ int a[100],i,n,score; float sum,ave;
i=0,sum=0;
while(1)
{ printf("请输入第%d个学生成绩: ",i+1);
scanf("%d",&score);
if(score<0) break;
a[i]=score; sum+=a[i];
i++;
}
n=i;
ave=sum/n;
printf("平均分为: %.2f\n",ave);
printf("低于平均分的成绩有: ");
for(i=0;i<n;i++)
if(a[i]<ave) printf("%d ",a[i]);
printf("\n");
}
#include <stdio.h>
#include<string.h>
void main()
{
char a[20];
int i;
printf("请输入字符串:");
gets(a);
for(i=strlen(a)-1;i>=0;i--)
printf("%c",a[i]);
printf("\n");
}
#include<stdio.h>
void main()
{
char s1[80],s2[40];
int i,j;
printf("请输入第1个字符串:");
gets(s1);
printf("请输入第2个字符串:");
gets(s2);
i=0;
while(s1[i]!='\0')
i++;
j=0;
while(s2[j]!='\0')
s1[i++]=s2[j++];
s1[i]='\0';
printf(" 连接后的字符串为:%s\n",s1);
}
#include <stdio.h>
void main()
{
char s1[80],s2[80];
int i;
printf("请输入一个字符串:");
gets(s2);
for(i=0;s2[i]!='\0';i++)
s1[i]=s2[i];
s1[i]='\0';
printf("复制后的字符串为:%s\n",s1);
}
#include<stdio.h>
int sum(int m)
{
int i,sumn=0;
for(i=1;i<=m;i++)
sumn=sumn+i;
return sumn;
}
void main()
{
int m;
int sumn;
printf("请输入一个整数:");
scanf("%d",&m);
sumn=sum(m);
printf("1+2+3+...+%d=%d\n",m,sumn);
}
#include<stdio.h>
double fd(double x)
{
double y;
if(x<0)
y=x*x-2*x+1;
else
y=x*x*x+x+3;
return y;
}
void main()
{
double x,y;
scanf("%lf",&x);
y=fd(x);
printf("y=%.2lf\n",y);
}
#include<stdio.h>
void main()
{ int min(int,int,int);
int a,b,c,d,e,m1,m2;
printf("请输入5个整数: ");
scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
m1=min(a,b,c);
m2=min(m1,d,e);
printf("最小值为: %d\n",m2);
}
int min(int x,int y,int z)
{ int m=x;
if(m>y) m=y;
if(m>z) m=z;
return m;
}
#include<stdio.h>
#include<math.h>
void main()
{ int prime(int m);
int m,i;
i=0;
for(m=2;m<=100;m++)
if(prime(m))
{
printf("%5d",m);
i++;
if(i%5==0) printf("\n");
}
printf("\n");
}
int prime(int m)
{ int k,n;
n=(int)sqrt(m);
for(k=2;k<=n;k++)
if(m%k==0) return 0;
return 1;
}
#include<stdio.h>
int gy(int x,int y)
{
int gyxy,i;
for(i=x;i>=1;i--)
if(x%i==0&&y%i==0)
{gyxy=i;break;}
return gyxy;
}
int gb(int x,int y)
{
int gbxy,i;
for(i=x;i<=x*y;i++)
if(i%x==0&&i%y==0)
{gbxy=i;break;}
return gbxy;
}
void main()
{
int x,y,gyxy,gbxy;
printf("请输入两个整数:");
scanf("%d%d",&x,&y);
gyxy=gy(x,y);
gbxy=gb(x,y);
printf("%d和%d的最大公约数是:%d\n",x,y,gyxy);
printf("%d和%d的最小公倍数是:%d\n",x,y,gbxy);
}
#include<stdio.h>
int f(int a,int n)
{ int i,t=0;
for(i=1;i<=n;i++)
t=t*10+a;
return t;
}
void main()
{ int a,n,i,s=0;
printf("请输入两个整数a,n: ");
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++)
s=s+f(a,i);
printf("结果为: %d\n",s);
}
#include<stdio.h>
#define N 6
int max(int a[])
{ int i,m;
m=a[0];
for(i=1;i<N;i++)
if(m<a[i]) m=a[i];
return m;
}
void main()
{ int i,b[N];
printf("请输入%d个整数: ",N);
for(i=0;i<N;i++)
scanf("%d",&b[i]);
printf("最大数为: %d\n",max(b));
}
//(1)顺序比较法
#include<stdio.h>
void sort(int str[],int n)
{ int i,j;
int t;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(str[i]>str[j])
{ t=str[i]; str[i]=str[j]; str[j]=t; }
}
void main()
{ int i,n,str[100];
printf("请输入元素个数: ");
scanf("%d",&n);
printf("请输入%d个元素: ",n);
for(i=0;i<n;i++)
scanf("%d",&str[i]);
sort(str,n);
printf("排序结果为:");
for(i=0;i<n;i++)
printf("%d ",str[i]);
printf("\n");
}
//(2)冒泡排序法
#include<stdio.h>
void sort(int a[],int n)
{ int i,j,t;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
{ t=a[j]; a[j]=a[j+1]; a[j+1]=t; }
}
void main()
{ int i,n,a[100]; //最多100个元素
printf("请输入元素个数: ");
scanf("%d",&n);
printf("请输入%d个元素: ",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,n);
printf("排序结果为:");
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}
#include<stdio.h>
int fib(int k)
{ int f;
if(k==1) f=0;
else if(k==2) f=1;
else f=fib(k-1)+fib(k-2);
return f;
}
void main()
{ int i,n;
printf("请输入项数: ");
scanf("%d",&n);
printf("前%d项fibonacci数列为:",n);
for(i=1;i<=n;i++)
printf("%d ",fib(i));
printf("\n");
}
#include<stdio.h>
void main()
{ char a[100],*p=a;
int flag=0;
printf("请输入一个字符串: ");
gets(a);
while(*p!='\0')
{ if(*p=='k')
{ flag=1; break; }
p++;
}
if(flag==1) printf("已找到!\n");
else printf("没找到\n");
}
#include<stdio.h>
#include<string.h>
void main()
{ int hw(char *s);
char s[80];
printf("请输入一个字符串: "); gets(s);
if(hw(s)) printf("该字符串是回文!\n");
else printf("该字符串不是回文!\n");
}
int hw(char *s)
{ int flag=1;
char *p,*q;
for( p=s,q=s+strlen(s)-1 ; p<q ; p++,q-- )
if(*p!=*q) { flag=0; break; }
return flag;
}
#include <stdio.h>
int main()
{
int i,j,k,n;
for(i = 100;i < 1000;i++)
{
j = i%10;
k = i/10%10;
n = i/100;
if(j*j*j + k*k*k + n*n*n == i)
printf("%5d\n",i);
}
return 0;
}
#include <stdio.h>
void main()
{ int i,a1=2,a2=3,a3;
printf("%6d%6d%6d",a1,a2);
for(i=3;i<=20;i++)
{ a3=a1+a2;
printf("%6d",a3);
a1=a2;
a2=a3;
if(i%5==0)
printf("\n");
}
}
#include <stdio.h>
#include <math.h>
void main()
{ double sum=0,pi,c=1,s=1;//c为当前项,s为符号位
int n=1;
while(fabs(c)>=1e-6)
{ sum=sum+c;
s=-s;
n++;
c=s/(2*n-1);
}
pi=4*sum;
printf("pi=%lf\n",pi);
}
#include <stdio.h>
void main()
{ int i,m;
scanf("%d",&m);
for(i=2;i<=m-1;i++)
if(m%i==0) break;
if(i>m-1)
printf("%d是素数\n",m);
else
printf("%d不是素数\n",m);
}
#include <stdio.h>
void main()
{ int i,m,n;
scanf("%d%d",&m,&n);
for(i=m;i>=1;i--)
{ if(m%i==0 && n%i==0)
break;
}
printf("最大公约数:%d\n",i);
}
#include <stdio.h>
void main()
{ int a,b,c; //a,b,c分别表示公鸡、母鸡和小鸡的数量
for(a=0;a<=19;a++)
for(b=0;b<=33;b++)
{
c=100-a-b;
if(5*a+3*b+b/3==100 && c%3==0)
printf("公鸡:%d,母鸡:%d,小鸡:%d\n",a,b,c);
}
}
#include <stdio.h>
void main()
{ int i,j,n;
long p,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
p=1;
for(j=1;j<=i;j++)
p=p*j;
sum=sum+p;
}
printf("计算结果为:%d\n",sum);
}
#include <stdio.h>
void main()
{ int i,sum=0,max=0,min=100,c[10];
float ave;
for(i=0;i<10;i++)
{
scanf("%d",&c[i]);
sum=sum+c[i];
if(c[i]>max)
max=c[i];
if(c[i]<min)
min=c[i];
}
ave=(float)sum/10;
printf("平均分为:%f,最高分为:%d,最低分为:%d\n",ave,max,min);
}
#include <stdio.h>
void main()
{ int i;
long f[30]={0,1};
for(i=2;i<30;i++)
f[i]=f[i-1]+f[i-2];
for(i=0;i<30;i++)
{
if(i%6==0)
printf("\n");
printf("%10d",f[i]);
}
}
#include <stdio.h>
void main()
{ char a[20];
int i=0;
scanf("%s",a);
while(a[i]!='\0')
i++;
printf("%s的长度为:%d\n",a,i);
}
#include <stdio.h>
void main()
{ char a[20],b[20];
int i=0,j=0;//i和j分别为数组a和b的下标
gets(a);
while(a[i]!='\0')
{
if(a[i]>='A' && a[i]<='Z')
{
b[j]=a[i];
j++;
}
i++;
}
b[j]='\0';
puts(b);
}
#include <stdio.h>
int fac(int n)
{ int f;
if(n==1)
f=1;
else
f=n*fac(n-1);
return f;
}
void main()
{
int n,c;
printf("请输入n的值:");
scanf("%d",&n);
c=fac(n);
printf("%d!=%d\n",n,c);
}
#include <stdio.h>
void change(char b[10])
{
int i=0;
while(b[i]!='\0')
{
if(b[i]>='a' && b[i]<='z')
b[i]=b[i]-32;
i++;
}
}
void main()
{
char a[10];
printf("请输入一个字符串:");
gets(a);
change(a);
printf("调用函数后数组a的值:");
puts(a);
}
#include <stdio.h>
int letter,digit,space,others;
void main()
{
char str[1000];
void count(char ch[]);
printf("请输入一个字符串(<1000个字符):");
gets(str);
letter=0;
digit=0;
space=0;
others=0;
count(str);
printf("字母:%d\n 数字:%d\n 空格:%d\n 其他:%d\n",letter,digit,space,others);
}
void count(char ch[])
{
int i=0;
while(ch[i]!='\0')
{
if((ch[i]>='a' && ch[i]<='z')|| (ch[i]>='A' && ch[i]<='Z'))
letter++;
else if(ch[i]>='0' && ch[i]<='9')
digit++;
else if(ch[i]==' ')
space++;
else
others++;
i++;
}
}
#include <stdio.h>
void main()
{
int x,y,max,*px,*py;
px=&x;
py=&y;
printf("请输入两个整数:");
scanf("%d%d",px,py);
if(*px<*py)
max=*py;
else
max=*px;
printf("max=%d\n",max);
}
#include <stdio.h>
void main()
{
int m,n;
void swap(int *pm,int *pn);
printf("请输入两个整数:");
scanf("%d%d",&m,&n);
printf("交换前:m=%d,n=%d\n",m,n);//输出交换前两个实参的值
swap(&m,&n);//调用函数
printf("交换后:m=%d,n=%d\n",m,n);//输出交换后两个实参的值
}
void swap(int *pm,int *pn)
{
int temp;
temp=*pm;
*pm=*pn;
*pn=temp;
}
#include <stdio.h>
void main()
{
float score[100],ave;
int i,n;
float compute(float *a,int n);
printf("请输入学生人数:");
scanf("%d",&n);
printf("请输入学生成绩:");
for(i=0;i<n;i++)
scanf("%f", &score[i]);
ave=compute(score,n);
printf("学生平均成绩为:%5.2f\n",ave);
}
float compute(float *p,int n)
{
float sum=0,ave;
int i;
for(i=0;i<n;i++)
sum=sum+*(p+i);
ave=sum/n;
return ave;
}
#include <stdio.h>
void main()
{
int sum=0,i=1;
do
{
sum=sum+i;
i=i+1;
}while(i<=100);
printf("sum=%d\n",sum);
}
#include <stdio.h>
main()
{
static int k[10];
int i,j,n,s;
for(j=2;j<1000;j++)
{
n=-1;
s=j;
for(i=1;i<j;i++)
{if((j%i)==0)
{ n++;
s=s-i;
k[n]=i;
}
}
if(s==0)
{printf("%d是一个完数: ",j);
for(i=0;i<n;i++)
printf("%d,",k[i]);
printf("%d\n",k[n]);
}
}
}
<–精力有限,就先整理这么多–>
有错误的欢迎大家在评论区批评指正😍
以上这些仅供大家参考,建议大家不要照搬照抄,这对提升自己的编程能力没有任何的作用,最主要的是去理解、明白为什么这么写。

我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby
在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has
我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru
我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的
几个月前,我读了一篇关于rubygem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:
我目前正在使用以下方法获取页面的源代码:Net::HTTP.get(URI.parse(page.url))我还想获取HTTP状态,而无需发出第二个请求。有没有办法用另一种方法做到这一点?我一直在查看文档,但似乎找不到我要找的东西。 最佳答案 在我看来,除非您需要一些真正的低级访问或控制,否则最好使用Ruby的内置Open::URI模块:require'open-uri'io=open('http://www.example.org/')#=>#body=io.read[0,50]#=>"["200","OK"]io.base_ur
前言作为一名程序员,自己的本质工作就是做程序开发,那么程序开发的时候最直接的体现就是代码,检验一个程序员技术水平的一个核心环节就是开发时候的代码能力。众所周知,程序开发的水平提升是一个循序渐进的过程,每一位程序员都是从“菜鸟”变成“大神”的,所以程序员在程序开发过程中的代码能力也是根据平时开发中的业务实践来积累和提升的。提高代码能力核心要素程序员要想提高自身代码能力,尤其是新晋程序员的代码能力有很大的提升空间的时候,需要针对性的去提高自己的代码能力。提高代码能力其实有几个比较关键的点,只要把握住这些方面,就能很好的、快速的提高自己的一部分代码能力。1、多去阅读开源项目,如有机会可以亲自参与开源
?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------
嗨~大家好,这里是可莉!今天给大家带来的是7个C语言的经典基础代码~那一起往下看下去把【程序一】打印100到200之间的素数#includeintmain(){ inti; for(i=100;i 【程序二】输出乘法口诀表#includeintmain(){inti;for(i=1;i 【程序三】判断1000年---2000年之间的闰年#includeintmain(){intyear;for(year=1000;year 【程序四】给定两个整形变量的值,将两个值的内容进行交换。这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。1.创建临时变量来