- 博客(13)
- 收藏
- 关注
原创 还是扩写,我只能说:指针真好用,以前的六十多行,现在才二十多行
#include <stdio.h>#include <assert.h>const int N = 10001;void expand(char [], char []);int main(){// freopen("0.in", "r", stdin);// freopen("0.out", "w", stdout); char s1[N], s2[N * 30]; while(scanf("%s", s1) != EOF) {.
2022-01-01 19:55:03 315
原创 凯撒密码,用到了函数指针
#include<stdio.h>#include<ctype.h> //区分大小写#define MAX 100char changeplus(char, int);//加上key个char changeback(char, int);//减去key个char *fun(char (*)(char, int), char[]);int main() { char v[MAX]; .
2021-12-12 13:09:03 523
原创 分数四则运算计算器终极版3.0
#include<stdio.h>void mygcd(int m1, int n1){ int t; int m = m1; int n = n1; while(1){ if(n > m){ t = m; m = n; n = t; } else{ t = m % n; if(t == .
2021-11-21 21:27:30 421 1
原创 分数加法计算器2.0版。
#include<stdio.h>#define MAX 1000 //a/b + c/d = (ad + cb)/bd;int computeup(int a, int b, int c, int d);int computedown(int a, int b);void mygcd(int m1, int n1){ //这是化简函数,m1是分子,n1是分母 int t; int m = m1; int n = n1; w.
2021-11-21 20:20:47 299
原创 一个不够智能的分数计算器
#include<stdio.h>void mygcd(int m, int n); //*这里的最大公约数函数我设置成了直接对两个数作用,使他们成为最简形式*//int main() { int a,b,c,d,e,f,T; scanf("%d", &T); scanf("%d/%d", &a, &b); while(--T){ scanf("%d/%d", &c, &d); e =.
2021-11-21 19:31:14 633
原创 简单的计算器
#include<stdio.h>int main() { int i = 0; int number[100]; char a[100]; int k = 0; int m = 0; int state = 1; while(scanf("%d", &number[k])!= EOF){ scanf("%c", &a[m]); //printf("%d %c ",number[k],a[...
2021-11-20 22:02:16 193
原创 计算日期的天数
思路是:如果是一月,直接加日子如果是个二月,直接31加上日子如果是其他的,用(month - 2)* 30 + x + 28 + 是否为闰年 + 日子月份减去二对应的是除去二月和本月,x是大月的月数,28+是否为闰年 是二月天数,加上日子就是本年天数。#include<stdio.h>int judjeyear(int year);int monthdays(int month);int main (){ int time[3]; int i = 0; ...
2021-11-20 17:01:31 567
原创 洗牌机器。
#include <stdio.h>#define MAX 54void printing(int a);int main(){ int a[MAX]; int b[MAX]; int T; int i = 0; int number[MAX]; scanf("%d", &T); while((scanf("%d", &number[i])) != EOF) ++i; for(int i = 0...
2021-11-20 13:55:13 324
原创 按任意进制输出已知的十进制数n。
思路:对n进行取模运算,得到的数转化为字符型。若为1~9,正常输出,若大于十,则减去10,再加上'a'。void itob(int n, char [], int base);int main(){ // freopen("0.in", "r", stdin); // freopen("0.out", "w", stdout); char s[1000]; int n, base; while(scanf("%d%d", &n, &base
2021-11-18 18:42:14 230
原创 扩展。如a-c0-9变成abc0123456789
思路:用数组记录除了'-'以外的有效字符,然后扩写。#include <stdio.h>#include <assert.h>const int N = 10001;void expand(char [], char []);int main(){ char s1[N], s2[N * 30]; while(scanf("%s", s1) != EOF) { expand(s1, s2); printf("%s\n
2021-11-18 10:40:51 91
原创 在n个数中找到 n-1个数的和为一个值,突然想到,怎么在n个数中找n-2、n-3等等。
思路,跳过一个数#include<stdio.h>#include<assert.h>void sumoffour(int a[], int n, int sum);int main(){int a[100];int T;int n;int sum;scanf("%d", &T);while(T--) { printf("第%d组\n", T + 1); scanf("%d%d", &n, &sum); asse
2021-11-16 21:49:06 574
原创 用二维数组实现矩阵的转置(任何矩阵)
思路:定义一个新矩阵作为转置后的矩阵,它已转之前矩阵的关系是(a,b)与(b,a)假设d矩阵已知为d[k][l]int dzhuan[l][k];//d的转置for(k1 = 0;k1 < k; ++k1) for(l1 = 0; l1 < l; ++l1){ dzhuan[k1][l1] = d[l1][k1];...
2021-11-16 21:38:20 1027
原创 用数组指针实现矩阵转置(方阵)
思路:第一列与第一行换位,第二列与第二刚换。如此反复。#include <stdio.h>#define M 5#define N 5int main(){int m,j,k,i; int temp;int (*p1)[5];int a[M][N] = {{1,2,3,4,5}, {5,9,6,3,4}, {8,9,5,6,4}, {7,8,5,1,6}};p1 = a;for( m = j = 0; m < 5; ++m, ++j)for(i = k = 0;
2021-11-16 21:34:23 1253 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人