
C语言程序设计
中国慕课浙江大学翁凯教授的视频学习笔记
此去何从
这个作者很懒,什么都没留下…
展开
-
c语言 处理二维数组的函数
处理二维数组的函数#include<stdio.h>#define ROWS 3#define COLS 4void sum_rows(int ar[][COLS], int rows);void sum_cols(int [][COLS], int); // 省略形参名,没问题int sum2d(int ar[][COLS], int rows); // 另一种语法int main(){ int junk[ROWS][COLS] = { {2, 4, 6, 8},原创 2020-10-19 16:45:08 · 1082 阅读 · 0 评论 -
c语言 指针与多维数组的理解
指针与多维数组的理解#include<stdio.h>int main(){ int zippo[4][2] = { {2, 4}, {6, 8}, {1, 3}, {5, 7} }; printf(" zippo = %p, zippo + 1 = %p\n", zippo, zippo + 1); // +1意味着加两个int printf(" zippo[0] = %p, zippo[0]原创 2020-10-18 20:36:49 · 146 阅读 · 0 评论 -
c语言 处理数组的函数
处理数组的函数显示数组内的所有元素使数组内的每个元素都乘以2.5// arf.c -- 处理数组的函数#include<stdio.h>#define SIZE 5void show_array(const double ar[], int n);void mult_array(double ar[], int n, double mult);int main(vodi){ double dip[SIZE] = { 20.0, 17.66, 8.2, 15.3, 22.原创 2020-10-18 19:42:12 · 1854 阅读 · 0 评论 -
c语言 指针的基本操作
指针的基本操作#include<stdio.h>int main(){ int urn[5] = { 100,200,300,400,500 }; int* ptr1, * ptr2, * ptr3; ptr1 = urn; // 把一个地址赋给指针 ptr2 = &urn[2]; printf("pointer value, dereferenced pointer, pointer address:\n"); printf("ptr1 = %p, *ptr原创 2020-10-18 16:16:20 · 325 阅读 · 0 评论 -
c语言 指针运算中的优先级
指针运算中的优先级#include<stdio.h>int data[2] = { 100,200 };int moredata[2] = { 300,400 };int main(){ int* p1, * p2, * p3; p1 = p2 = data; p3 = moredata; printf(" *p1 = %d, *p2 = %d, *p3 = %d\n", *p1, *p2, *p3); printf("运算之前:p1 = %p, p2 = %p,原创 2020-10-18 11:49:31 · 1300 阅读 · 0 评论 -
c语言 数组元素之和—指针算法
数组元素之和#include<stdio.h>#define SIZE 10int sump(int* start, int* end);int main(){ int marbles[SIZE] = {20, 10, 5, 39, 4, 16, 19, 26, 31, 20}; long answer; answer = sump(marbles, marbles+SIZE); printf("The total number of marbles is %ld.\n",原创 2020-10-17 17:12:43 · 1872 阅读 · 0 评论 -
c语言 数组元素之和
数组元素之和#include<stdio.h>#define SIZE 10int sum(int ar[], int n);int main(){ int marbles[SIZE] = { 20, 10, 5, 39, 4, 16, 19, 26, 31, 20 }; long answer; answer = sum(marbles, SIZE); printf("The total number of marbles is %ld.\n", answer); pr原创 2020-10-17 16:53:39 · 2460 阅读 · 0 评论 -
c语言 多维数组
多维数组#include<stdio.h>#define MONTHS 12#define YEARS 5int main(){ const float rain[YEARS][MONTHS] = { {4.3, 4.3, 4.3, 3.0, 2.0, 1.2, 0.2, 0.2, 0.4, 2.4, 3.5, 6.6}, {8.5, 8.2, 1.2, 1.6, 2.4, 0.0, 5.2, 0.9, 0.3, 0.9, 1.4, 7.3}, {9.1, 8.5, 6原创 2020-10-17 11:44:43 · 331 阅读 · 0 评论 -
c语言 利用指针写出月份
读取数字给出相应的英文月份#include<stdio.h>int main(){ int num; char *month[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aus","Sep","Oct","Nov","Dec"}; scanf("%d",&num); printf("%s\n",month[num-1]);}原创 2020-10-14 19:32:39 · 1043 阅读 · 0 评论 -
c语言 利用指针求数组的最大最小值
利用指针求数组的最大最小值#include<stdio.h>void minmax(int a[], int len, int *max, int *min);int main(void){ int a[] = {1,2,3,4,5,6,7,8,12,13,14,16,17,21,23,55}; int min, max; minmax(a, sizeof(a)/sizeof(a[0]), &min, &max); printf("min原创 2020-10-13 16:16:22 · 14815 阅读 · 2 评论 -
c语言 指针交换变量
指针交换变量#include<stdio.h>void swap(int *pa, int *pb);int main(){ int a = 5; int b = 6; swap(&a, &b); printf("a=%d, b=%d", a, b); return 0;}void swap(int *pa, int *pb){ int t = *pa; *pa = *pb; *pb =原创 2020-10-13 16:01:40 · 461 阅读 · 0 评论 -
c语言 构造素数表
构造素数表#include<stdio.h>int main(){ const int maxNumber = 25; int isPrime[maxNumber]; int i; int x; for ( i = 0; i < maxNumber; i++) { isPrime[i] = 1; } // for test printf("\t"); for ( i = 2; i < maxNumber; i++) { printf("%d\t",原创 2020-10-12 23:29:36 · 574 阅读 · 0 评论 -
c语言 找数字
数组找数字#include<stdio.h>int search(int key, int a[], int length); // 声明int main(void){ int a[] = { 2,4,6,7,1,3,5,9,11,13,23,14,32 }; int x; int loc; printf("请输入一个数字:"); scanf_s("%d", &x); loc = search(x, a, sizeof(a) / sizeof(a[0])); if原创 2020-10-12 11:10:21 · 1951 阅读 · 0 评论 -
c语言 数组求平均值
数组求均值并输出大于均值的数#include<stdio.h>int main(){ int x; double sum = 0; int cnt = 0; int number[100]; // 定义一个100个元素的数组 scanf_s("%d", &x); while (x!=-1) { number[cnt] = x; sum += x; cnt++; scanf_s("%d", &x); } if (cnt>0) {原创 2020-10-11 16:46:11 · 21098 阅读 · 3 评论 -
c语言 数据类型
数据类型整数char、short、int、long、long longchar:1字节(8比特)short:2字节int:取决于编译器(CPU),通常的意义是“一个字”long:取决于编译器(CPU),通常的意义是“一个字”long long:8字节浮点数float、double、long double逻辑bool指针自定义类型数的范围:char<short<int<float<doublechar<short<int<float原创 2020-10-10 16:42:34 · 119 阅读 · 0 评论 -
c语言 求a的连续和
求a的连续和输入两个整数a和n,a的范围是[0,9],n的范围是[1,8],求数列之和S=a+aa+aaa+...+aaa...aS=a+aa+aaa+...+aaa...aS=a+aa+aaa+...+aaa...a(n个a)。如a为2、n为8时输出的是2+22+222+...+222222222+22+222+...+222222222+22+222+...+22222222的和。输入格式:输入在一行中给出两个整数,先后表示a和n输出格式:在一行中输出要求的数列之和。输入样例:2 4输出样例:原创 2020-10-09 11:52:44 · 517 阅读 · 0 评论 -
c语言 念数字
念数字#include<stdio.h>int main(){ int x; scanf_s("%d", &x); if (x<0) { printf("fu "); x = -x; } int mask = 1; int t = x; while (t>9) { t /= 10; mask *= 10; } do { int d = x / mask; switch (d) { case 0:printf("li原创 2020-10-09 11:42:27 · 3906 阅读 · 2 评论 -
c语言 约分最简分式
约分最简分式#include<stdio.h>int main(){ int dividend, divisor; scanf_s("%d/%d", ÷nd, &divisor); int a = dividend; int b = divisor; int t; while (b>0) { t = a % b; a = b; b = t; } // a为最大公约数 printf("%d/%d\n", dividend /原创 2020-10-09 11:06:03 · 3172 阅读 · 3 评论 -
c语言 n项求和
n项求和计算21+32+53+85+...\frac{2}{1}+\frac{3}{2}+\frac{5}{3}+\frac{8}{5}+...12+23+35+58+...#include<stdio.h>int main(){ int n; double dividend, divisor; double sum = 0.0; int i; double t; scanf_s("%d", &n); dividend = 2; divisor = 1;原创 2020-10-09 10:46:14 · 1550 阅读 · 0 评论 -
c语言 猜数字游戏
#include<stdio.h>int main(){ int number, n; int inp; int finished = 0; int cnt = 0; printf("请依次输入你想猜的数字与猜的次数:\n"); scanf_s("%d %d", &number, &n); printf("请开始猜数字:\n"); do { scanf_s("%d", &inp); cnt++; if (inp<0) {原创 2020-10-07 17:33:29 · 251 阅读 · 0 评论 -
c语言 统计素数之和
c语言 统计素数之和#include<stdio.h>int main(){ int m, n; printf("您想求哪两个数之间的素数之和,请依次输入它们:"); scanf_s("%d %d", &m, &n); int i; int cnt = 0; int sum = 0; if (m==1) { m = 2; } for ( i = m; i <= n; i++) { int isPrime = 1; int k;原创 2020-10-07 16:52:14 · 4441 阅读 · 0 评论 -
c语言 九九乘法表
九九乘法表#include<stdio.h>int main(){ int n = 9; //scanf_s("%d", &n); int i, j; i = 1; while (i<=n) { j = 1; while (j<=i) { printf("%d*%d=%d", j, i, i * j); if (i*j<10) { printf(" "); } else { print原创 2020-10-07 16:23:54 · 254 阅读 · 0 评论 -
c语言 水仙花数
水仙花数据水仙花数是指一个NNN位数正整数(N>=3N>=3N>=3),它的每位上的数字的NNN次幂之和等于它本身。例如153=13+53+33153=1^3+5^3+3^3153=13+53+33。#include <stdio.h>int main(){ int n; printf("请输入一个数:\n"); scanf_s("%d", &n); int first = 1; int i = 1; while (i < n) { fir原创 2020-10-07 15:56:29 · 2898 阅读 · 0 评论