C语言一个小程序怎么写

C语言一个小程序怎么写,第1张

//maincpp

//根据你的要求,在有数字相同时输出“相同的数字”,出现不是2的n次方的数字时输出“还可以化简”

//没有使用链表,因为太麻烦,realloc足以满足。

//

#include <stdioh>

#include <malloch>

#include <mathh>

int main()

{

    int number=0;

    size_t array_length = 1;

    int  array =(int) malloc(sizeof(array_lengthsizeof(int)));

    int ret = 0;

    do

    {

        ret = scanf("%d",&number);

        if(ret==0 || ret==EOF)

            return 0;

        size_t idx=0;

        //检查是否有相同的数字

        for(;idx<array_length;idx++)

        {

            //相同的数字

            if(array[idx]==number)

            {

                //printf("相同的数字\n");

                printf("还可以化简");

                free(array);

                return 1;

            }

        }

        if(realloc(array,(array_length+1)sizeof(int))==NULL)

            return -1;

        array_length++;

        array[array_length-1]=number;

        

        ret = log2(number);

        //printf("number %d : log2 = %d ,%lf \n",number,ret,log2(number));

if(!(log2(number)-ret==0))//不是2的n次方

        {

            printf("还可以化简");

            break;

        }

    }

    while(1);

    free(array);

    return 0;

}

double log2(double x)

{

return log(x)/log(2);

}

你说的是 vc 还是 tc 啊???

其他的运算:

#include <stdioh>

int add(int x,int y) {return x+y;}

int sub(int x,int y) {return x-y;}

int mul(int x,int y) {return xy;}

int div(int x,int y) {return x/y;}

int (func[])()={add,sub,mul,div};

int num,curch;

char chtbl[]="+-/()=";

char corch[]="+-/()=0123456789";

int getach() {

int i;

while(1) {

curch=getchar();

if(curch==EOF) return -1;

for(i=0;corch[i]&&curch!=corch[i];i++);

if(i<strlen(corch)) break;

}

return curch;

}

int getid() {

int i;

if(curch>='0'&&curch<='9') {

for(num=0;curch>='0'&&curch<='9';getach()) num=10num+curch-'0';

return -1;

}

else {

for(i=0;chtbl[i];i++) if(chtbl[i]==curch) break;

if(i<=5) getach();

return i;

}

}

int cal() {

int x1,x2,x3,op1,op2,i;

i=getid();

if(i==4) x1=cal(); else x1=num;

op1=getid();

if(op1>=5) return x1;

i=getid();

if(i==4) x2=cal(); else x2=num;

op2=getid();

while(op2<=4) {

i=getid();

if(i==4) x3=cal(); else x3=num;

if((op1/2==0)&&(op2/2==1)) x2=(func[op2])(x2,x3);

else {

x1=(func[op1])(x1,x2);

x2=x3;

op1=op2;

}

op2=getid();

}

return (func[op1])(x1,x2);

}

void main(void) {

int value;

printf("Please input an expression:\n");

getach();

while(curch!='=') {

value=cal();

printf("The result is:%d\n",value);

printf("Please input an expression:\n");

getach();

}

}

只能 + - /

/输入两个整数a和b,求平均值ave。并输出平均值。/

#include

<conioh>

/

此头函数请不要删除

/

main()

{

float

a,b,ave;

printf("请输入整数a和b以逗号隔开:\n");

scanf("%f,%f",&a,&b);

ave=(a+b)/2;

printf("整数a和b的平均值是ave=%62f",ave);

getch();

}

/

输入圆柱底面的半径radius和圆柱的高height,求圆柱的表面积area和体积volumn,

要求输出结果保留两位小数、/

main()

{

float

radius,height,area,volumn;

printf("请输入圆柱底面的半径radius:\n");

scanf("%f",&radius);

printf("请输入圆柱的高height:\n");

scanf("%f",&height);

area=314(radiusradius)+2314radius;

volumn=314(radiusradius)height;

printf("圆柱的表面积area=%82f

\n体积volumn=%82f",area,volumn);

getch();

}

/

设银行定期存款的年利率rate为382%,并已知存款期为n年,存款本金为capital元,

试编程计算n年后的本利之和deposit要求rate,n

,capital均从键盘输入,输出信息要完整清晰。。

/

main()

{

float

rate,n,capital,deposit,i;

printf("请输入年利率rate:");

scanf("%f",&rate);

printf("请输入存款本金capital:");

scanf("%f",&capital);

printf("请输入存期年n:");

scanf("%f",&n);

deposit=capital;

i=n;

while(i!=0)

{

deposit=(1+00382)deposit;

i=i-1;

}

printf("%1f年后的本利之和为:%92f",n,deposit);

getch();

}

#include <stdioh>

#include <stdlibh>

#include <timeh>

void Init(int a[],int n); //随机生成元素取值范围在0到99的数组

void Short(int p,int n); //用选择法对数组中的元素从小到大排序

void Print(int p,int n); //在屏幕上输出数组各元素的值(逗号分隔)

#define N (10)

int main()

{

    int a[N],b[N],c[N2],i;

    srand(time(NULL));

    

    Init(a,N);

    Print(a,N);

    Short(a,N);

    Print(a,N);

    

    Init(b,N);

    Print(b,N);

    Short(b,N);

    Print(b,N);

    

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

    {

        c[i]=a[i];

    }

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

    {

        c[i+N]=b[i];

    }

    Print(c,2N);

    Short(c,2N);

    Print(c,2N);

    

    return 0;

}

void Init(int a[],int n)

{

    int i;

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

    {

        a++=rand()%100;

    }

}

void Short(int p,int n)

{

    int i,j,t;

    for(i=0;i<n-1;++i)

    {

        for(j=0;j<n-i-1;++j)

        {

            if(p[j]>p[j+1])

            {

                t=p[j];

                p[j]=p[j+1];

                p[j+1]=t;

            }

        }

    }

}

void Print(int p,int n)

{

    int i;

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

    {

        printf("%d%c",p++,i<n-1',':'\n');

    }

}

以上就是关于C语言一个小程序怎么写全部的内容,包括:C语言一个小程序怎么写、用C语言编一个简单的计算器小程序、编写几个C语言小程序。。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10062285.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存