C语言程序设计
C语言进行设计的复盘
我也想早日退休
这个作者很懒,什么都没留下…
展开
-
字符型数据的输入输出 运算
字符的输入输出可以调用函数 getchar()、putchar()、scanf()、printf()。getchar() 函数和 putchar() 函数只能处理单个字符的输入和输出。scanf()函数和 printf() 函数除了处理 整型 数据和 浮点型 数据的输入输出外,也可以处理 字符型 数据的输入输出。此时,在函数调用的格式控制字符串中 相应的格式控制说明为 %c 。#include<stdio.h>int main(){//printf(""); char s[80]=原创 2021-08-14 19:40:25 · 5165 阅读 · 2 评论 -
C语言程序设计 练习7-5~7-8
练习7-5原题:给二维数组赋值时,如果把列下标作为外循环的循环变量,行下标作为内循环的循环变量,输入的数据在二维数组中该如何存放?用下列 for 语句替换例7-7中的对应语句,将输入的6个数存入二维数组中,假设输入数据不变,输出什么?与例7-7中的输出结果一样吗?为什么?for(j=0;j<2;j++) for(i=0;i<3;i++) scanf("%d",&a[i][j]);把例7-7的代码贴一下吧#include<stdio.h>int main(原创 2021-07-25 21:42:05 · 733 阅读 · 0 评论 -
C语言程序设计 9.1输出平均分最高的学生信息
例9-1:假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩。输入n个学生的成绩信息,计算并输出平均分最高的学生信息。测试数据:3101 Zhang 78 87 85102 Wang 91 88 90103 Li 75 90 84课本代码:#include<stdio.h>struct student //学生信息结构定义 结构名student { int num;//类型名 结构成员名1 char name[10]; int computer,Engl原创 2021-07-18 21:49:47 · 3335 阅读 · 0 评论 -
C语言程序设计 8.2角色互换
例8-3:有两个角色分别用变量a和b表示。//通过函数调用来交换变量值 的示例程序 #include<stdio.h>void s1(int x,int y),s2(int *px,int *py),s3(int *px,int *py);int main(){ int a=1,b=2; int *pa=&a,*pb=&b; s1(a,b);//使用变量a b调用函数s1()//s1被调用时,实参a b的值传递给了形参x y,在s1中实现了x y的交换//但当原创 2021-07-18 19:53:37 · 2796 阅读 · 0 评论 -
C语言程序设计 密码开锁 指针的介绍
例8-1 :利用指针模拟密码开锁游戏。课本给出的代码//获取密码的两种方法#include<stdio.h>int main(){ int x=5342;//变量x用于存放密码值5342//程序中定义了变量x来存放密码,再定义一个特殊的指针变量p,用于存放变量x的地址//这样既可以通过变量名x直接得到密码值,也可以在不知道变量名的情况下,通过指针变量p所存放的x的地址 间接找到密码值 int *p=NULL;//定义整型指针变量p,NULL值为0,代表空指针 p=&原创 2021-07-18 18:17:06 · 784 阅读 · 0 评论 -
C语言程序设计 例7-13 将字符串中的数字字符转出为十进制整数
例7-13原题:输入一个以回车符为结束标志的字符串(少于10个字符),提取其中的所有数字字符(‘0’、…、‘9’),将其转换为一个十进制整数输出。由于字符串少于10个字符,数组长度就取其上限10,以回车符 ‘\n’ 作为输入结束符。课本代码:#include<stdio.h>int main(){ int i,number; char s[10]; //输入字符串 printf("Enter a string: "); i=0; while((s[i]=getchar())原创 2021-07-17 22:19:55 · 4292 阅读 · 0 评论 -
C语言程序设计 例7-12
例7-12原题:输入一个以回车符为结束标志的字符串(少于80个字符),统计其中数字字符(‘0’、…、‘9’)的个数。由于字符串少于80个字符,数组长度就取其上限80,以回车符 ‘\n’ 作为输入结束符。课本代码:#include<stdio.h>int main(){ int count,i;//计数count,变量 i char s[80];//定义字符串s printf("Enter a string: ");//输入提示 i=0; while((s[i]=ge原创 2021-07-17 21:11:49 · 946 阅读 · 0 评论 -
C语言程序设计 判断回文例7-11
例7-11原题:输入一个以回车符为结束标志的字符串(少于80个字符),判断该字符串中心对称,如“abcba”、“abccba”是回文,“abcdba”不是回文。在C语言中,字符串的存储和运算可以用一维字符数组来实现。数组长度取上限80,以回车符 ‘\n’ 作为输入结束符。课本的源码及我的理解:#include<stdio.h>innt main(){ int i,k;//两个变量,一个从前移动,一个从后移动 char line[80];//定义字符串 printf("Enter原创 2021-07-17 20:56:31 · 4278 阅读 · 1 评论 -
C语言程序设计 例7-10
例7-10原题:定义函数 day_of_year (year, month, day),计算并返回年月日对应的是该年的第几天。例如:调用 day_of_year (2000, 3, 1) 返回61,调用 day_of_year (1981, 3,1) 返回60。因为2000是闰年,1981不是闰年。判别闰年的条件:能被4整除但不能被100整除,或能被400整除。emmmm…我直接给源码吧这复习到了之前的函数的定义、调用还有关系表达式#include<stdio.h>int day_o原创 2021-07-17 18:12:52 · 924 阅读 · 2 评论 -
C语言程序设计 例7-9
例7-9原题:输入一个正整数n(1<n<=6),根据下式生成一个nxn的方阵,将该方阵转置(行列互换)后输出。a[i][j]=i*n+j+1(0<=i<n, 0<=j<n)我的代码及解释:#include<stdio.h>int main(){ int n; scanf("%d",&n); int i,j,a[6][6]; for(i=0;i<n;i++) for(j=0;j<n;j++) a[i][j]=i*原创 2021-07-17 11:01:28 · 1296 阅读 · 0 评论 -
C语言程序设计 二维数组的初始化 矩阵术语与数组下标的关系
二维数组的初始化有两种1、分行赋初值2、顺序赋初值两个的区别就是一个用了中括号,一个不用分行赋初值的例子有:int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};所以我们得到的数组为1 2 34 5 67 8 9但是如果你想要顺序赋初值,那么上面的数组写法为int a[3][3]={1,2,3,4,5,6,7,8,9};二维数组也可以只针对部分元素,比如static int b[4][3]={{1,2,3},{},{4,5}};上式表示只对b数组第0行原创 2021-07-17 10:36:15 · 1030 阅读 · 0 评论 -
C语言程序设计 例7-8
例7-8原题:定义一个3x2的二维数组a,数组元素的值由下式给出,按矩阵的形式输出a。a[i][j]=i+j(0<=i<3,0<=j<2)我的代码#include<stdio.h>int main(){ int a[3][2]; int i,j; for(i=0;i<3;i++) for(j=0;j<2;j++) { a[i][j]=i+j; } for(i=0;i<3;i++) for(j=0;j<2原创 2021-07-17 10:10:24 · 464 阅读 · 0 评论 -
C语言程序设计 例7-7
例7-7原题:将1个3x2的矩阵存入1个3x2的二维数组中,找出最大值以及它的行下标和列下标,并输出该矩阵。题目给出的测试数据3 210 -96 -1我的代码:#include<stdio.h>int main(){ int a[3][2]; int i,j; for(i=0;i<3;i++) for(j=0;j<2;j++) scanf("%d",&a[i][j]); int max=a[0][0],h=0,l=0; for(i=0原创 2021-07-16 21:14:48 · 390 阅读 · 0 评论 -
C语言程序设计 练习7-1~7-4
练习7-1 原题:将7-3程序中的break语句去掉,输出结果会有变化吗?假设输入数据不变,输出什么?我们先来看例7-3中的源码#include<stdio.h>int main(){ int i,flag,x; int a[5]; printf("Enter 5 integers: "); for(i=0;i<5;i++) scanf("%d",&a[i]); printf("Enter x: "); scanf("%d",&x); fla原创 2021-07-16 19:44:10 · 478 阅读 · 2 评论 -
C语言程序设计 例7-6
例7-6原题:调查电视节目受欢迎程度。某电视台要调查观众对该台8个栏目(1~8)的受欢迎情况,共调查1000位观众,现要求编写程序,输入每一位观众的投票情况(每位观众只能选择一个最喜欢的栏目投票),统计输出各栏目的得票情况。课本的代码及我的理解#include<stdio.h>int main(){ int i,response; int count[9];//数组下标对应的编号,不使用count[0] for(i=1;i<=8;i++) count[i]=0;//各原创 2021-07-13 21:46:01 · 1230 阅读 · 0 评论 -
C语言程序设计 例7-5
例7-5 原题:选择排序法。输入一个正整数n(1<n<=10),再输入n个整数,用选择法将它们从小到大排序后输出。课本给出源程序及我的理解//选择排序法#include<stdio.h>int main(){ int i,index,k,n,temp; //依次输入用到i,中间量index,从第一项到倒数第二项的k,输入个数n,交换用到中间变量temp int a[10]; //定义一个长度为10的数组 printf("Enter n: ");//提示输入数字原创 2021-07-13 20:00:05 · 2295 阅读 · 0 评论 -
C语言程序设计例7-4
例7-4原题:输入一个正整数n(1<n<=10),再输入n个正整数,将它们存入数组a中。条件1:输出最小值和它所对应的下标条件2:将最小值与第一个数交换,输出交换后的n个数。课本给出的代码及我的理解#include<stdio.h>int main(){ int i,index,n; //定义变量,下标,n个数 int a[10]; //定义长度为10的数组 printf("Enter n: "); //输入提示 scanf("%d",&n);原创 2021-07-06 21:26:57 · 1114 阅读 · 0 评论