![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
一个正在爬的小白
以梦为马,不负韶华。
展开
-
打印出三种不同颜色球的可能取法《C语言》
3. 有红、黄、蓝、白、黑五种颜色的球若干个,每次取出三个球,打印出三种不同颜色球的可能取法。要求分别使用字符串“red”,“yellow”,“blue”,“white”,“black”表示5种不同颜色的球。#include<stdio.h>#define N 5typedef char Type;int main(){int i,j,q;Type* a[N] = { "red","yellow","blue","white","black" };...原创 2022-04-21 08:48:53 · 1640 阅读 · 0 评论 -
2、 设计一个函数f(char *p),对p指向的字符串进行逆序《C语言》
2、 设计一个函数f(char *p),对p指向的字符串进行逆序,要求函数f()中不能定义任何数组,不能调用任何字符串处理函数。在main()函数中,输入字符串,调用函数f(),最后输出逆序后的字符串。#include<stdio.h>#define N 10typedef char Type;void f(char* p){int count=0;Type* ptop = p;while (*p!='\0'){ count++;...原创 2022-04-21 08:47:53 · 1840 阅读 · 0 评论 -
1.在主程序中输入一个字符串和一个整数n,将字符串中第n个字符删除z《C语言》
、在主程序中输入一个字符串和一个整数n,将字符串中第n个字符删除,要求删除字符的操作通过函数delete(char *p, int n)实现。#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 10void Delete(char* p, int n){for (p = p + (n-1);; ++p){ if (*(p + 1) == '\0') ...原创 2022-04-21 08:45:33 · 1408 阅读 · 0 评论 -
求主对角线上各元素之和(C语言)
定义一个3行3列的整型二维数组arr和一个整型指针变量p,让p指向数组arr,使用指针变量p输入数组arr各元素的值,并求主对角线上各元素之和。#include<stdio.h>#define N 3typedef int Type;void Add(Type* p){ int sum=0,i; for (i = 0; i < N; i++) { if ((p + N * (i)+i)!= (p + (N - 1) + (N-1) * i)) { sum.原创 2022-04-18 21:19:02 · 3711 阅读 · 0 评论 -
在主函数中输入一个整型数组,然后调用这两个函数对数组做排序和输出(C语言)
编写函数p_sort(int *p,int n)和p_output(int *p,int n)分别实现对数组的冒泡排序和输出功能,在主函数中输入一个整型数组,然后调用这两个函数对数组做排序和输出。#include<stdio.h>#define N 10void p_output(int* p, int n){ int i; for (i = 0; i < n; i++) { printf("%d ", *(p + i)); }}void p_sort(in.原创 2022-04-18 21:18:08 · 3285 阅读 · 0 评论 -
并求所有大于0的元素之和(C语言)
定义整形数组a和指针变量p,让指针变量p指向数组a。使用指针变量p输入数组a各元素的值,并求所有大于0的元素之和。#include<stdio.h>#define N 5void Add(int* p){ int i = 0,sum=0; for (i = 0; i < N; i++) { if (*(p + i) > 0) sum += *(p + i); } printf("%d", sum);}int main(){ int a[N] .原创 2022-04-18 21:16:50 · 1016 阅读 · 1 评论 -
被拆分的整数和小数部分(C语言)
自定义函数void splitfloat(float x, int *intpart, float *floatpart), 拆分实数的整数部分和小数部分,其中x是实数,*intpart和*floatpart分别是被拆分的整数和小数部分。在主函数中输入一个实数,调用函数splitfloat拆分这个实数,然后在主程序中输出结果。#include<stdio.h>void splitfloat(float x, int *intpart, float *floatpart){ *int.原创 2022-04-14 22:45:11 · 5494 阅读 · 0 评论 -
调用函数求两个数的和与差(C语言)
调用函数求两个数的和与差:要求自定义一个函数sum_diff(float op1,float op2,float *psum,float *pdiff)。从主函数输入两个实数,调用函数sum_diff求两实数的和与差,然后在主程序中输出结果。 #include<stdio.h>void sum_diff(float op1,float op2,float *psum,float *pdiff){ *psum=op1+op2; *pdiff=op1-op2;}int main(.原创 2022-04-14 22:44:11 · 11510 阅读 · 0 评论 -
c语言(第一题)
在主函数中输入整型变量a,b,c,编写函数实现:将变量a,b,c从大到小排序。#include<stdio.h>void swep(int* pa,int* pb,int* pc){ int ptemp; if(*pa<*pb) { ptemp=*pa; *pa=*pb; *pb=ptemp; } if(*pa<*pc) { ptemp=*pa; *pa=*pc; *pc=ptemp; } if(*pb<*pc) {...原创 2022-04-14 22:42:37 · 814 阅读 · 0 评论 -
简单选择排序
将给定的n个整数从大到小排序后输出#include <stdio.h>int main(){ int i,j,n,t,max; scanf("%d",&n); int a[n]; for(i=0; i<n; i++) scanf("%d", &a[i]); for(i=0; i<n-1; i++) { max=i; for(j=i+1; j<n; j++)原创 2022-04-06 22:32:23 · 211 阅读 · 0 评论 -
螺旋方阵PTA
所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。输入格式:输入在一行中给出一个正整数N(<10)。输出格式:输出N×N的螺旋方阵。每行N个数字,每个数字占3位。输入样例:5输出样例: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9#include<原创 2022-04-06 22:12:06 · 154 阅读 · 0 评论 -
6翻了pta
“666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”!本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。输入格式:输入在一行中给出一句话,即一个非空字符串,由不超过 1000 个英文字母、数字和空格组成,以回车结束。输出格式:从左到右扫描输入的句子:如果..原创 2022-04-06 21:23:58 · 186 阅读 · 0 评论 -
倒数第N个字符串pta
给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, ..., aaz, aba, abb, ..., abz, ..., zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。输入格式:输入在一行中给出两个正整数 L(2≤L≤6)和 N(≤105)。输出格式:在一行中输出对应序...原创 2022-04-06 20:58:25 · 114 阅读 · 0 评论 -
简化的插入排序pta
本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。输入格式:输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。输出格式:在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。输入样例:51 2 4 5 73输出样例:1 2 3 4 5 7 记得点个赞!代码:#include<stdio.h>int main(){ i..原创 2022-04-06 20:43:01 · 873 阅读 · 0 评论 -
(C语言)组合数的和 --pta
给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。输入格式:输入在一行中先给出 N(1<N<10),随后给出 N 个不同的非 0 个位数字。数字间以空格分隔。输出格式:输出所有可能组合出来的2位数字的和。输入样例:3 2 8 5输出样例:330记得点个赞!代码:...原创 2022-04-06 20:39:53 · 3523 阅读 · 1 评论 -
求集合数据的均方差pta
设计函数求 N 个给定整数的均方差。若将 N 个数 A[ ] 的平均值记为 Avg,则均方差计算公式为:[(A1−Avg)2+(A2−Avg)2+⋯+(AN−Avg)2]/N。输入格式:输入首先在第一行给出一个正整数 N(≤104),随后一行给出 N 个正整数。所有数字都不超过 1000,同行数字以空格分隔。输出格式:输出这N个数的均方差,要求固定精度输出小数点后5位。输入样例 1:106 3 7 1 4 8 2 9 11 5输出样例 1:3.03974原创 2022-04-06 20:29:38 · 2189 阅读 · 0 评论 -
(C语言)抓老鼠啊~亏了还是赚了?--pta
某地老鼠成灾,现悬赏抓老鼠,每抓到一只奖励10元,于是开始跟老鼠斗智斗勇:每天在墙角可选择以下三个操作:放置一个带有一块奶酪的捕鼠夹(T),或者放置一块奶酪(C),或者什么也不放(X)。捕鼠夹可重复利用,不计成本,奶酪每块3元。聪明的老鼠呢?它们每天可能会派出一只老鼠到墙角,看看墙角有啥:若什么也没有(X),老鼠们就不高兴了(Unhappy),会有长达一天(也就是第二天)的不高兴期。在不高兴期间,不派出老鼠。不高兴期结束之后,派出老鼠。 若有捕鼠夹(T),这只老鼠被引诱吃掉奶酪并被打死(Dead),原创 2022-04-06 20:23:58 · 1810 阅读 · 1 评论 -
(C语言)打印沙漏---pta
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式:首先打印出由给定符号组成的原创 2022-04-06 19:59:34 · 3520 阅读 · 0 评论 -
(C语言)不变初心数 (15 分)---pta
不变初心数是指这样一种特别的数,它分别乘 2、3、4、5、6、7、8、9 时,所得乘积各位数之和却不变。例如 18 就是这样的数:18 的 2 倍是 36,3+6=9;18 的 3 倍是 54,5+4=9;…… 18 的 9 倍是 162,1+6+2=9。对于 18 而言,9 就是它的初心。本题要求你判断任一个给定的数是否有不变的初心。输入格式:输入在第一行中给出一个正整数 N(≤100)。随后 N 行,每行给出一个不超过105的正整数。输出格式:对每个给定的数字,如果它有不变的初心,...原创 2022-04-06 19:33:22 · 1702 阅读 · 0 评论 -
(C语言)比较大小 (10 分)--pta(使用冒泡排序)
本题要求将输入的任意3个整数从小到大输出。输入格式:输入在一行中给出3个整数,其间以空格分隔。输出格式:在一行中将3个整数从小到大输出,其间以“->”相连。输入样例:4 2 8输出样例:2->4->8#include<stdio.h>int main(){ int a[3],i,j; for(i=0;i<3;i++) { scanf("%d",&a[i]); }原创 2022-04-05 16:56:08 · 802 阅读 · 0 评论 -
(C语言)6-5 递归求Fabonacci数列 (10 分)pta
本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下:f(n)=f(n−2)+f(n−1)(n≥2),其中f(0)=0,f(1)=1。函数接口定义:int f( int n ); 函数f应返回第n个Fabonacci数。题目保证输入输出在长整型范围内。建议用递归实现。裁判测试程序样例:#include <stdio.h>int f( int n );int main(){ int n; scanf(.原创 2022-04-03 21:28:07 · 3098 阅读 · 0 评论 -
(C语言)6-4 递归求阶乘和 (15 分)pta
本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+...+n! 的值。函数接口定义:double fact( int n ); double factsum( int n ); 函数fact应返回n的阶乘,建议用递归实现。函数factsum应返回 1!+2!+...+n! 的值。题目保证输入输出在双精度范围内。裁判测试程序样例:#include <stdio.h>double fact( int n );double factsum原创 2022-04-03 21:26:45 · 951 阅读 · 0 评论 -
(C语言)6-3 使用函数求Fibonacci数 (15 分)pta
本题要求实现求Fabonacci数列项的函数。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。函数接口定义:#include <stdio.h>int fib( int n );int main(){ int n; scanf("%d", &n); printf("%d\n", fib(n)); return 0;}/* 你的代码将被嵌在这里 */函数fib应返回第n项Fibo原创 2022-04-03 21:24:38 · 3080 阅读 · 0 评论 -
(C语言)6-2 使用函数判断完全平方数 (10 分)--pta
本题要求实现一个判断整数是否为完全平方数的简单函数。函数接口定义:#include <stdio.h>#include <math.h>int IsSquare( int n );int main(){ int n; scanf("%d", &n); if ( IsSquare(n) ) printf("YES\n"); else printf("NO\n"); return 0;}/*原创 2022-04-03 21:22:58 · 1416 阅读 · 1 评论 -
6-1 使用函数输出水仙花数 (20 分)---pta
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义:int narcissistic( int number );void PrintN( int m, int n );函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。函数PrintN则打印开区间(m,.原创 2022-04-03 21:18:57 · 554 阅读 · 0 评论 -
【C语言】使用函数输出水仙花数
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义:int narcissistic( int number );void PrintN( int m, int n );函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。函数PrintN则打印开区间(m,n...原创 2022-04-01 20:17:40 · 2562 阅读 · 1 评论 -
使用函数的选择法排序---pta
本题要求实现一个用选择法对整数数组进行简单排序的函数。函数接口定义:void sort( int a[], int n ); 其中a是待排序的数组,n是数组a中元素的个数。该函数用选择法将数组a中的元素按升序排列,结果仍然在数组a中。裁判测试程序样例:#include <stdio.h> #define MAXN 10 void sort( int a[], int n ); int main() { int i, n; int a[MAXN]; scanf(".原创 2022-04-01 20:10:23 · 2601 阅读 · 0 评论 -
使用函数的选择法排序 (20 分)---(PTA)
void sort( int a[], int n ){ int i,j; for(i=0;i<n;i++) for(j=i+1;j<n;j++) { if(a[i]>a[j]) { a[i]=a[i]+a[j]; a[j]=a[i]-a[j]; a[i]=a[i]-a[j]; .原创 2022-04-01 20:19:21 · 563 阅读 · 0 评论 -
(PTA)使用函数输出水仙花数(三位数以上)
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义:int narcissistic( int number ); void PrintN( int m, int n );函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。函数PrintN则打印开区间(m..原创 2022-04-01 15:13:53 · 1263 阅读 · 0 评论 -
求两个数的最大公约数。(C语言)
#include<stdio.h>#define N 2int main(){ int a[N] = {24,60}; if (a[0] / a[1] == 0) { a[0] = a[0] + a[1]; a[1] = a[0] - a[1]; a[0] = a[0] - a[1]; } while (a[1]) { int i=a[0],j=a[1]; a[0...原创 2022-03-31 13:25:48 · 730 阅读 · 0 评论 -
(C语言)使用异或交换两个数。
#include<stdio.h>typedef int Type;void swap(Type* n, Type* m){ *n = *n ^ *m; *m = *n ^ *m; *n = *n ^ *m;}int main(){ Type i,j; scanf_s("%d %d", &i, &j); printf("i=%d,j=%d\n", i, j); swap(&i, &j); ...原创 2022-03-29 19:28:59 · 557 阅读 · 0 评论 -
(C语言)打印100~200之间的素数(试除法)
#include<stdio.h>#include<math.h>int main(){ int i = 0; for (i = 100; i <= 200; i++) { int q=(int)sqrt(i); //这里应用了试除法。 int j; for (j = 2; j < q; j ++) { if (i%j == 0) //说明了如果j到q都不能整除i,则说明i是素数...原创 2022-03-29 17:04:04 · 251 阅读 · 0 评论