如图,输入一个数字,打印一个对应的三角形
代码1:
#include<stdio.h>
int main()
{
int n=0,i=0,j=0,m=0;
while(~scanf("%d",&n))
{
for(i=0;i<n;i++)//i负责最后一行打印多少个*号
//比如当输入n为3时就i循环3次,假如不看下面代码,这三次每次打印一个*,就是三个*
{
for(m=0;m<=i;m++)//m负责每行的*变化。当i为1时打印一个*,当i为2时,打印两个*
//最后一直打印到最后一行结束,最后一行由i来控制
{
printf("*");
}
for(j=0;j<n;j++)//这里的j只负责打印几行,因为它是一个内循环,i执行一次,j执行j次,所以当i为3时,j循环
//j循环3此就是3行
{
}
printf("\n");//换行,每执行一次,执行一次m,执行一次j之后就会换一次行。
}
}
return 0;
}
代码2:
#include<stdio.h>
int main()
{
int n=0,i=0,j=0;int m=0;
int count=0;
while(~scanf("%d",&n))
{
for(i=0;i<n;i++)//几个
{ printf("*");
for(j=0;j<i;j++)//几行
{ printf("*");
}
printf("\n");
}
}
return 0;
}
代码1实际上是由
这个演变过来的。
思路:只需要仍然保持输入几就打印几行,但是改善前面几行的条件,也就是j不动,但是把i给改一点
演变过程:
输入一个n,打印n矩形。比如输入2,打印一个2行2列的矩形
#include<stdio.h>
int main()
{
int n=0,i=0,j=0;int m=0;
int count=0;
while(~scanf("%d",&n))
{
for(i=0;i<n;i++)//几个
{ printf("*");
for(j=0;j<n;j++)//几行
{ printf("*");
}
printf("\n");
}
}
return 0;
}
输入一个数,这个数是多少就打印多少个*号
#include<stdio.h>
int main()
{
int n=0;
//int count=0;
int i=0;
while(~scanf("%d",&n))
{
for(i=0;i<n;i++)
{
printf("*");
}
}
return 0;
}
输入两个数,一个年份一个月份。
输出对应月份的天数
如果输入的年份恰好是闰年,同时月份输入为2时就会输出29天。否则照常,同时1,3,5,7,9,月份31天,2,4,6,8,10,12月份30天
代码1(简洁版):
#include<stdio.h>
int main()
{
int days[12]={31,28,31,30,31,30,31,30,31,30,31,30};
int b=0;
int a=0;
while(scanf("%d %d",&a,&b)!=EOF)
{
int day=days[b-1];
if((a%4==0 && a%100!=0)||(a%400==0))
{
if(b==2)
{
day=day+1;
}
}
printf("%d\n",day);
}
return 0;
}
代码2(复杂版):
#include<stdio.h>
int main()
{
int a=0,b=0,c=0;
while(scanf("%d %d",&a,&b)!=EOF);//输入年份和月份
{
if((a%4==0 && a%100!=0)|| a%400==0)
{
if(b==2)
{
printf("29");
}
}
else
{ //2,4,,,,8,,1,12显示31天
if(b%2==0)
{
printf("30");
}
else
{
printf("31");
}
}
}
return 0;
}
输入一个数,然后输入一个运算符,最后再输入一个运算符。运算符只能为+-*/,其他的显示"无效",然后按照相应的运算符把第一个数和第二个数进行运算,最后输出。当输入运算符为"/"时,除数如果为0就显示"除数不能为0"
比如输入: 1.0+2.0
输出:1.0+2.0=3.0
#include<stdio.h>
int main()
{
float a,c=0,sum,jian,chu,cheng;
char b;
while(scanf("%f %c %f",&a,&b,&c))
{
if(b=='+')
{
sum=a+c;
printf("%f%c%f=%f",a,b,c,sum);
}
if(b=='*')
{
cheng=a*c;
printf("%f%c%f=%f",a,b,c,cheng);
}
if(b=='-')
{
jian=a-c;
printf("%f%c%f=%f",a,b,c,jian);
}
if(b=='/')
{
if(c==0)
{
printf("除数不能为0");
}
else
{ chu=a/c;
printf("%f%c%f=%f",a,b,c,chu);
}
}
if(b!='+'&& b!='-'&& b!='*'&& b!='/')
printf("无效");
}
return 0;
}
#include "stdio.h"
void main() {
int n;//输入几个数
int t;// 全部没有重复数字 才会执行
int i,j;//冒泡 i / j
int arr[20]= {0};//初始化数组
scanf("%d",&n);
for(i=0; i<n; i++) {
scanf("%d",&arr[i]);
}
i=0;
for(i=0; i<n; i++) {
for(j=i+1; j<n; j++) {
if(arr[i]==arr[j]) {
printf("%d ",arr[i]);
t++;
}
}
}
if(t==0) {
printf("not");//全部没有重复数字 才会执行
}
}
2.
第二行第三行依次类推
3.
#include<stdio.h>
int main()
{
int c=0;
int count=0;
int i=0;
char buf[100]={0};
gets(buf);
while(buf[i]!=0)
{
if(buf[i]=='A')
{
c++;
}
else if(buf[i]=='B')
{
count++;
}
i++;
}
if(c>count)
{
printf("A\n");
}
if(count>c)
{
printf("B\n");
}
else if(c==count)
{
printf("E\n");
}
return 0;
}
4.
如果输入内容里包含AEIOUaeiou,元音字符就打印"vowel",如果没有就打印"consant"
#include<stdio.h>
#include<string.h>
int main ()
{
int i=0;
char vowel[]="AEIOUaeiou";
int ch=0;
ch=getchar();
if(strchr(vowel,ch))
{
printf("vowel");
}
else
printf("Consonant");
//getchar();
return 0;
}
如果多组输入,不用getchar,用scanf的话:
用strchr库函数在判断是否有元音字符:
5.输入一个数,如果会字符就打印is an alphabet,如果不是字符就打印is not an alphabet
第二种方法
用ispalpha库函数
第三种方法,用Getchar
用getchar这里如果多行输入用
就会报错
不论输入数字还是字母都显示不是字母
但是如果用getchar单行输入就没问题
但是我们就是想要多行输入的效果
可以试试这个
#include<stdio.h>
int main() {
char ch,t;
int z;
z=1;
do{
ch=getchar();
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) {
printf("is an alphabet\n");
}else if(ch>=48 && ch<=57){//0-9的acsii码
printf("is not an alphabet\n");
}else if(t=27){//ESC的ASCII
z=0; //z为0退出
break;//esc->27
}
t=getchar();//读取回车\n
}while(z);//z为1时循环,为0时为假,退出循环
return 0;
}
其实getchar用多行也可以
括号别丢了
6.输入三个数,判断是不是三角形,如果是三角形就判断是等腰三角形还是全等三角形,如果不是三角形,就输出不是三角形
#include<stdio.h>
int main()
{
int a=0,b=0,c=0;
while(scanf("%d %d %d",&a,&b,&c)!=EOF){
if( (a+b>c) ||(a+c>b) || (b+c>a) ){
printf("是三角形");
if(a==b&&a==c){
printf("是全等三角形");}
else if(a==b&&a!=c || a==c&&a!=b || b==c&&b!=a){
printf("等腰");}
else{
printf("其他三角形");}
}
else{
printf("不是三角形");}
}
return 0;
}