The second lesson
Posted Vanau
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了The second lesson相关的知识,希望对你有一定的参考价值。
1.
/******输入一个三位数,取出每个位上的数值******/
#include<stdio.h>
void main()
int a;
printf("please input a=");
scanf("%d",&a);
printf("bai wei=%d\\nshi wei=%d\\nge wei=%d\\n",a/100,a%100/10,a%10);
2.
/****从键盘输入的字符中统计数字字符的个数,用换行符结束循环****/
//----The first project
#include<stdio.h>
#include<conio.h> //使用字符数据的非格式化输入输出必须将conio.h包含进来
void main()
int n=0,c;
c=getchar(); //getchar()函数调用时是读取用户的按键信息,返回用户输入第一个字符的的ASCII码
while(c!=0x0a) //当第一个字符不是换行符时,进入循环
if(0x30<c&&c<0x39)
n++;
c=getchar(); //这个getchar必须要有,不然的话就只循环一次
printf("%d",n);
//----The second project
#include<stdio.h>
void main()
int n=0;
printf("input a string:\\n");
for(;getchar()!='\\n';n++) //for语句判断循环条件时,一般为逻辑表达式或者为关系表达式。注意其中项缺省的条件。
; //;必须要有,表示循环体为空语句
printf("%d",n);
3.
/****************************************************************
编程打印大小可变的菱形*号图案
*****************************************************************/
//----The first project
/****************************************************************
i为行数,并以此为循环变量,m为空格的个数,n为*号的个数。
观察可知:1.菱形的大小其实就是中间行中*号的个数,也即是行数,其值为奇数;
2.在每一行中,当i<=(SIZE+1)/2时,n=2*i-1,否则n=2*(SIZE+1-i)-1;
在每一行*号之前的空格数m=(SIZE-n)/2;
****************************************************************/
#include<stdio.h>
#define SIZE 11 //直接宏定义该菱形图案型号大小
void main()
int i,m,n;
for(i=1;i<=SIZE;i++)
if(i<=(SIZE+1)/2)
n=2*i-1;
else
n=2*(SIZE+1-i)-1;
m=(SIZE-n)/2;
for(;m>0;m--)
printf(" ");
for(;n>0;n--)
printf("*");
printf("\\n");
//----The second project----INPROVED
#include<stdio.h>
#include<stdlib.h> //标准库头文件,调用exit()函数需要添加该头文件
void main()
int i,j,k,m,n,size;
printf("input size:"); //可自定义输入菱形大小
scanf("%d",&size);
if(size<=0||size%2==0) //逻辑运算符:&&表示逻辑与,||表示逻辑或,
printf("input error!");
exit(-1); //exit()函数的作用是当程序执行条件不满足时(本题值输入有误)来终止整个程序的运行,强制返回到操作系统
for(i=1;i<=size;i++)
n=(i<=(size+1)/2)?i:size+1-i; //三目运算符常与赋值运算符连用,且两者的优先级最低。可近似代替if-else
n=2*n-1;
m=(size-n)/2;
for(k=1;k<=m;k++)
printf(" ");
for(j=1;j<=n;j++)
printf("*");
printf("\\n");
/********************************************************************
编程打印大小可变的沙漏型*号图案
********************************************************************/
#include<stdio.h>
#include<stdlib.h> //标准库头文件,调用exit()函数需要添加该头文件
void main()
int i,j,k,m,n,size;
printf("input size:"); //可自定义输入沙漏型大小
scanf("%d",&size);
if(size<=0||size%2==0) //逻辑运算符:&&表示逻辑与,||表示逻辑或,
printf("input error!");
exit(-1); //exit()函数的作用是当程序执行条件不满足时(本题值输入有误)来终止整个程序的运行,强制返回到操作系统
for(i=1;i<=size;i++)
n=(i<=(size+1)/2)?i-1:size+1-i-1; //三目运算符常与赋值运算符连用,且两者的优先级最低。可近似代替if-else
n=size-2*n;
m=(size-n)/2;
for(k=1;k<=m;k++)
printf(" ");
for(j=1;j<=n;j++)
printf("*");
printf("\\n");
以上是关于The second lesson的主要内容,如果未能解决你的问题,请参考以下文章