首页 > 其他分享 >我的第五次C语言练习

我的第五次C语言练习

时间:2023-07-24 19:31:45浏览次数:45  
标签:toes return int void 练习 C语言 第五次 printf main

今天写书上的练习。

//第一章练习
//int main(void)
//{
//	int inch;
//	float cm;
//	inch = 0;
//	scanf("%d", &inch);
//	cm = 2.54 * inch;
//	printf("cm=%f\n", cm);
//	return 0;
//}

发现之前第一章还有练习没写,是将英尺转换为厘米,因为inch乘了个2.54,所以cm是小数,用的是float,打印也是%f。

//第二章练习
//1
//int main(void)
//{
//	printf("Gustav Mahler\n");
//	printf("Gustav\n");
//	printf("Mahler\n");
//	printf("Gustav");
//	printf(" Mahler");
//	return 0;
//}
//2
//int main(void)
//{
//	printf("my name is ...\n");
//	printf("i am living in ...");
//	return 0;
//}

第二章前几题没什么好讲的。

//3
//int main(void)
//	{
//		int age, day;
//		age = 5;
//		scanf("%d", &age);
//		day = 365 * age;
//		printf("i have lived %d days", day);
//	return 0;
//}

倒是这个第三题,我发现光取地址是不能直接自己输入变量值的,scanf还需要在变量参与的下一步计算之前,就像这里scanf不能放在day=365*age之后,要不然会直接变成age固定为5,而放在前面,就是以输入的值作为age的值。

//4
//void a(void);
//void b(void);
//int main(void)
//{
//	a();
//	a();
//	a();
//	b();
//	return 0;
//}
//void a(void)
//{
//	printf("For he is a jolly good fellow!\n");
//}
//void b(void)
//{
//	printf("Which nobady can deny\n");
//}

第四题开始引入函数了。

//5
//void br(void);
//void ic(void);
//int main(void)
//{
//	br();
//	printf(",");
//	ic();
//	printf("\n");
//	br();
//	printf("\n");
//	ic();
//	return 0;
//}
//void br(void)
//{
//	printf("Brazil,Russia");
//}
//void ic(void)
//{
//	printf("India,China");
//}

第五题也是用函数,但是答案比我想的灵活多了。题目是要打印

Brazil,Russia,India,China

Brazil,Russia

India,China

表面上看上去没什么问题,但实际打印的时候会发现引入的两个函数不好换行,打印出来是挤在一起的。答案的方法就非常巧妙,既然换行难就直接打印换行,这是我没有想到的。

// 6
//int main(void)
//{
//	int toes,twotoes,twicetoes;
//	toes = 10;
//	twotoes = toes + toes;
//	twicetoes = toes * toes;
//	printf("toes=%d,twotoes=%d,twicetoes=%d", toes, twotoes, twicetoes);
//	return 0;
//}
//7
//void a(void);
//int main(void)
//{
//	a();
//	a();
//	a();
//	printf("\n");
//	a();
//	a();
//	printf("\n");
//	a();
//	printf("\n");
//	return 0;
//}
//void a(void)
//{
//	printf("smile!");
//}
//8
//void one_three(void);
//void two(void);
//int main(void)
//{
//	printf("starting now:\n");
//	one_three();
//	printf("done!\n");
//	return 0;
//}
//void two(void)
//{
//	printf("two\n");
//
//}
//void one_three(void)
//{
//	printf("one\n");
//	two();
//	printf("three\n");
//}

后面的题目就没什么特别的了。第六题毫无技术含量,第七题就是地五题的翻版,第八题倒是用了一个新鲜的方法,函数中引用函数,以前没有考虑过。

今天收获还行,继续加油。

标签:toes,return,int,void,练习,C语言,第五次,printf,main
From: https://blog.51cto.com/u_16187763/6838346

相关文章

  • 简单理解:C语言中的分支和循环语句
    一、C语言中的循环语句while循环while(//条件语句){//语句块}执行的逻辑:在执行到while()这一行时,会根据条件语句的真和假来判断是否继续进行循环,若条件语句为真则继续循环,如果条件为假则结束循环。dowhile循环do{//语句块}while(条件语句);执行的逻辑:和while类似,但是要注......
  • C语言指针的常见问题
    1值传递下面看一个列子,student结构体中包含该学生的各种信息,我们在change函数中对其进行部分修改,再在主函数中输出其结果#include<stdio.h>#include<string.h>#defineformat"%d\n%s\n%f\n%f\n%f\n"structstudent{intnum;charname[20];floatscore[3]......
  • C语言模拟银行排队叫号系统(链队)
    一.队列队列是一种具有先进先出(FIFO)特性的线性数据结构,它只允许在队列的两端进行插入和删除操作。队列的一端称为队尾(rear),另一端称为队头(front)。新元素总是插入在队列的队尾,而从队列中删除元素时则总是删除队头元素。由于队列具有FIFO特性,因此队列通常用于需要按照顺序处理数据的场......
  • 初始C语言
    基本了解C语言的基础知识,对C语言有个初步的认识。C语言是什么?人与人之间的交流使用的是自然语言。如汉语,英语,日语。人与计算机是怎么交流的呢?使用计算机语言。目前已知已经有上千种计算机语言。人们是通过计算机语言写的程序,给计算机工作的。C语言是一门通用的计算机编程语......
  • 20230723练习总结
    CF923DPickingStrings当变化规则不好分析的时候可以考虑自己随便模拟一下变化过程,总结浓缩出一些等价且更简单的变化规则。尝试推出几个比较简单的变化关系:\(\texttt{B}\rightarrow\texttt{AC}\rightarrow\texttt{AAB}\rightarrow\texttt{AAAC}\rightarrow\texttt{C}\right......
  • C语言的一些不常用的编译知识
    1.__stringifyLinux内核中有如下两个宏:#define__stringify_1(x...)#x#define__stringify(x...)__stringify_1(x)作用:会将x替换成()里面的内容。2.GCC__attribute__使用__attribute__((used)):表示对于这个函数可能不会调用它、可能用不到它,编译器不用进行warning提......
  • C语言数据类型和变量
    一.数据类型介绍1.概念所谓类型,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才能知道如何操作数据。2.数据类型分类**内置类型:字符,整型,浮点型,布尔类型自定义类型:数组,结构体-struct,枚举-enum,联合体-union**(自己创造类型)a.字符类型char[signed]char-有符号的charunsi......
  • 练习记录-AtCoder Beginner Contest 311-(A-E)
    写的还挺顺的F之后补A-FirstABC找abc三个字母什么时候出现了一次输出即可B-VacationTogether题意:最长的几个人一排里面均有时间#include<bits/stdc++.h>#defineclosestd::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)usingnamespacestd;typedeflon......
  • 练习10.7 代码改错
    下面代码是否有错,怎么改1vector<int>vec;list<int>lst;inti;while(cin>>i) lst.push_back(i);copy(lst.cbegin(),lst.cend(),vec.begin());算法总是通过迭代器操作容器,不能直接向容器添加删除元素,无法改变元素的大小。对于copy算法,目标序列至少要和源序列有一样......
  • c语言当中的COORD ,GetStdHandle(),SetConsoleCursorPosition(),以及避免清屏和反复刷新
    这是WindowsAPI定义的结构体类型COORD来表示字符在控制台屏幕上的坐标,结构体类型COORD定义为:typedefstruct_COORD{SHORTx;SHORTy;}COORD;使用WindowsAPI GetStdHandle()从一个特定的标准设备获取表示设备的句柄(用来标识不同设备的一个数值),SetConsoleCursor......