C语言
武某某天天学习
这个作者很懒,什么都没留下…
展开
-
编写一个子函数完成把传递来的字符串颠倒次序的功能,并在主函数中输入字符串(不超过80个字符),调用函数后,输出颠倒后的字符串。
#include <stdio.h>#include <string.h>char * fun(char *s){ int len = strlen(s); int i, n = len / 2; char tem; for (i = 0; i <= n; i++) { tem = s[i]; s[i] = s[len - 1 - i]; s[len - 1 - i] = tem;原创 2020-06-02 08:43:43 · 2123 阅读 · 1 评论 -
编写一个函数,返回数组元素中最大值的地址,并在主函数中输出该元素。说明:主函数中的代码不能修改。
#include <stdio.h>int * maxp(int a[],int len){ int *p,i; p=&a[0];//*p=a[0],证明传递进来的是指针 for(i=0;i<len;i++){ if(a[i]>*p) p=&a[i];//*p=a[i] } return p; } int main(){ int a[10]={23,43,45,2.原创 2020-06-02 08:13:36 · 3986 阅读 · 0 评论 -
.验证哥德巴赫猜想,哥德巴赫猜想的内容是:任何一个大于2的偶数都能写成写成两个素数和的形式。把m到n之间(m,n为偶数,且为输入数据)的所有偶数,写成i=a+b的形式,a,b为素数
#include<stdio.h>int isPrime(int n);int main(){ int x,y,i,t; scanf("%d%d",&x,&y); for(i=x;i<=y;i++){ if(i%2==0){ for(t=2;t<i/2+1;t++){ if(isPrime(t)&&isPrime(i-t)){ printf("%d=%d+%d\n",i,t,i-t); }原创 2020-05-21 15:43:34 · 2457 阅读 · 0 评论 -
设计一个函数 int isPrime(int n)判断n是否为素数,如果n是素数,函数返回值1,否则返回0,在主函数中用此函数找出m到n闭区间内所有的素数输出。
#include<stdio.h>int isPrime(int n);int main(){ int x,y,i; scanf("%d%d",&x,&y); for(i=x;i<=y;i++){ if(isPrime(i)){ printf("%d ",i); } }}int isPrime(int n){ int i,flag=0; for(i=2;i<n;i++){ if(n%i==0){ flag=1;原创 2020-05-21 15:41:46 · 23552 阅读 · 1 评论 -
设计一个函数判断一个三位整数是否为水仙花数,如是则函数返回1,否则返回0,并利用此函数找出所有水仙花数。 输出格式要求:输出一行数据,每个数据之间用一个空格隔开。
#include<stdio.h>int panduan(int x);int main(){ int i; for(i=100;i<1000;i++){ if(panduan(i)){ printf("%d ",i); } }}int panduan(int x){ int ge,shi,bai,t; t=x; ge=x%10; x=x/10; shi=x%10; x=x/10; bai=x; if(ge*ge*ge+bai*原创 2020-05-21 15:38:22 · 5997 阅读 · 1 评论 -
设f(x)=(2*x*x*x+3*x*x-4*x+1)/(10*x*x+3),q(x)=3*f(x)*f(x)*f(x)+2*f(x)*f(x)+f(x), 编程实现输入x值,计算输出 q(x)
#include<stdio.h>double f(double x){ double t; t=(2*x*x*x+3*x*x-4*x+1)/(10*x*x+3); return t;}double q(double t){ double y; y=3*t*t*t+2*t*t+t; return y;}int main(){ double x; scanf("%lf",&x); printf("%lf",q(f(x)));}原创 2020-05-21 15:37:34 · 1137 阅读 · 1 评论 -
已知三角形的三边,求三角形面积,将其编写成一个函数,在主函数中调用验证。
`#include <stdio.h>#include <math.h>double TriArea(double a,double b,double c);int main(){double a,b,c;scanf("%lf%lf%lf",&a,&b,&c);printf("%lf\n",TriArea(a,b,c));}double TriArea(double a,double b,double c){double p}`@TOC欢迎原创 2020-05-21 15:36:44 · 5834 阅读 · 0 评论 -
利用指针作为游标,编写程序完成将输入字符串复制到一个字符数组中,要求每复制三个字符之后插入一个空格。 例如,若给a输入字符串:ABCDEFGHKIJK,字符数组中的内容为:ABC DEF GH
#include<stdio.h>int main(){ char*p,*q; int cnt=0; char a[100]={0},b[200]={0}; gets(a); p=a; q=b; while(*p){ *q=*p; cnt++; if(cnt%3==0){// q++;// *q=' ';可以省略一点嗷 *++q=' '; } q++; p++; } puts(b);}...原创 2020-05-09 17:56:17 · 1008 阅读 · 0 评论 -
用动态内存分配的方法,分配连续的十个整型单元,输入十个整数,然后输出其中最大值,不可再声明新变量,完成程序。 输出格式要求:输出一行数据,每个数据之间用一个空格隔开。
#include "stdio.h"#include "stdlib.h"int main(){ int *a,*p,*maxp; a=(int *)malloc(10*sizeof(int)); maxp=(int *)malloc(sizeof(int)); for(p=a;p-a<10;p++)scanf("%d",p); p=a; *maxp=*p>...原创 2020-05-07 21:16:34 · 960 阅读 · 0 评论 -
下面程序使用动态内存分配的方法,分配十个整型单元,输入十个整数,从小到大排序后输出,请把未完成的部分完成。 输出格式要求:输出一行数据,每个数据之间用一个空格隔开。
#include <stdio.h>#include <stdlib.h>int main(){ int *a,*p,*q,t; a=(int *)malloc(10*sizeof(int)); for(p=a;p-a<10;p++)scanf("%d",p); for(p=a;p-a<9;p++) for(q=p+1;q-a<10;q...原创 2020-05-07 20:24:35 · 644 阅读 · 0 评论