//那里要把i复制给m
//找到了立马break
#include<bits/stdc++.h>
using namespace std;
int main()
{
int count=0;
int t,m;
for(int i=1;i<=2019;i++)
{
m=i; //i的值会变,所以这里i复制给m
while(m)
{
t=m%10;
if(t==9)
{
count++;
break;
}
m=m/10;
}
}
cout<<count<<endl;
}
#include<bits/stdc++.h>
using namespace std;
//由题意可得,每次拆得除数和余数即可
int main()
{
for(int i=10000;i<=99999;i++)
{
int sum=0;
for(int j=10;j<=10000;j=j*10)
{
sum+=(i/j)*(i%j);
}
if(sum==i)
{
cout<<sum<<" ";
}
}
}
用数组也可以用数字
num=num*10+t;
sum+=num;
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,t=0,sum=0;
int a[100];
cin>>n;
while(n)
{
a[t]=n%10;
t++;
n=n/10;
}
for(int i=0;i<t;i++)
{
cout<<a[i];
}
}
用数组存每一位取下来的数
#include<bits/sdc++.h>
using namespace std;
bool fun(int n)
{
int a[100];
int i=0;
while(n)
{
a[i]=n%10;
i++;
n=n/10;
}
for(int j=0;j<i/2;j++)
{
if(a[j]!=a[i-1-j])
{
return false;
}
}
return true;
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
if(fun(i))
{
cout<<i<<endl;
}
}
return 0;
}
//这里要设置flag,不然的话,最后不仅会输出No 还会输出Yes
#include<bits/sdc++.h>
using namespace std;
int main()
{
int n,m;
int flag=0;
cin>>n>>m;
int a[100][100],b[100][100];
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cin>>a[i][j];
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cin>>b[i][j];
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(a[i][j]!=b[i][j])
{
flag=1;
// cout<<"No";
// break; //这里不用直接用break,因为break只可以跳出一个循环,如果是两行两列,会输出两个no,所以这里设一个标志位就可以了
}
}
}
if(flag==0)
{
cout<<"Yes";
}
if(flag==1)
{
cout<<"No";
}
}
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(i==n-1||j==0||i==j)
{
cout<<"* ";
}
else
{
cout<<" "; //两个空格
}
}
cout<<endl;
}
}
}
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(i==j)
{
cout<<"*";
}
else if(j==n-1-i)
{
cout<<"*";
}
else
{
cout<<" ";
}
}
cout<<endl;
}
}
}
//星号,星号之间没有空格
#include<bits/stdc++.h>
using namespace std;
int main()
{
int num;
while(cin>>num)
{
for(int i=0;i<=num;i++)
{
for(int j=0;j<num-i;j++)
{
cout<<" "; //两个空格
}
for(int j=0;j<=i;j++)
{
cout<<"*";
}
cout<<endl;
}
for(int i=0;i<num;i++)
{
for(int j=0;j<=i;j++)
{
cout<<" ";
}
for(int j=i;j<num;j++)
{
cout<<"*";
}
cout<<endl;
}
}
}
//设标志
//判断下三角形是否为全部为0
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[100][100];
int n;
cin>>n;
int flag=1;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cin>>a[i][j];
}
}
for(int i=1;i<n;i++)
{
for(int j=0;j<i;j++)
{
if(a[i][j]!=0)
{
flag=0;
}
}
}
if(flag==1) cout<<"YES";
else
cout<<"NO";
}
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i,j;
int a[100][100];
int n;
cin>>n;
int s=0,f=n-1;
int count=0;
while(count<n*n)
{
for(int j=s;j<=f;j++)
a[s][j]=++count;
for(int i=s+1;i<=f;i++)
a[i][f]=++count;
for(j=f-1;j>=s;j--)
a[f][j]=++count;
for(i=f-1;i>=s+1;i--)
a[i][s]=++count;
s++;
f--;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int count = 1;
int row = 0;
int col = 0;
int arr[1000][1000] = {0};
while(count <= n*n)
{
for(int i=0; i<2; i++)
{
if(row<n && col<n)
arr[row][col] = count++;
col++;
}
col--;
while(col)
{
row++;
col--;
if(row<n && col<n)
arr[row][col] = count++;
}
row++;
while(row)
{
if(row<n && col<n)
arr[row][col] = count++;
row--;
col++;
}
}
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
printf("%d ", arr[i][j]);
printf("\n");
}
return 0;
}