目录
图像旋转
#include<stdio.h>
#include<math.h>
int main(){
int n,m,i,j,a[100][100],b[100][100];
scanf("%d%d",&n,&m);
for(i=0;i<n;i++){
for(j=0;j<m;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<m;i++){
for(j=0;j<n;j++){
b[i][j]=a[j][abs(m-1-i)];
printf("%d ",b[i][j]);
}
printf("\n");
}
}
完全平方数
#include<stdio.h>
int main()
{
long int n;
int i;
scanf("%d",&n);
if(n!=0){
for(i=1;i<=n;i++){
if((n/i==i)&&(n%i==0)){
printf("%d",i);
break;
}else{
if(i==n){
printf("no");
}
}
}
}else{
printf("0");
}
}
完数
#include<stdio.h>
int main()
{
int a,b,n;
int sum=0;
scanf("%d%d",&a,&b);
for(;a<=b;a++){
for(n=1;n<a;n++){
if(a%n==0){
sum=sum+n;
}
}
if(sum==a){
printf("%d\n",a);
}
sum=0;
}
}
位数判断
#include<stdio.h>
int main()
{
int a,b=0;
scanf("%d",&a);
if(a==0){
printf("1");
}else{
while(a>0){
a=a/10;
b++;
}
printf("%d",b);
}
}
温度统计
#include<stdio.h>
float max(float a,float b){
if(a>b){
return a;
}else{
return b;
}
}
float min(float a,float b){
if(a<b){
return a;
}else{
return b;
}
}
int main()
{
int n,i;
float temp[10],sum=0,a=-10*9.0/5+32,b=40*9.0/5+32,p;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%f",&temp[i]);
temp[i]=(9.0/5*temp[i]+32)*1.0;
sum=sum+temp[i];
a=max(a,temp[i]);
b=min(b,temp[i]);
}
p=sum/n;
if(n>5){
for(i=0;i<5;i++){
printf("%.1f ",temp[i]);
}
printf("\n");
for(i=5;i<n;i++){
printf("%.1f ",temp[i]);
}
}else{
for(i=0;i<n;i++){
printf("%.1f ",temp[i]);
}
}
printf("\n");
printf("%.1f %.1f %.1f",b,a,p);
}
温度转换
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
printf("%.2f",(a-32)*1.0*5/9);
}
温度转换2
#include<stdio.h>
int max(float a,float b){
if(a>b){
return a;
}else{
return b;
}
}
int main()
{
float a,b,c;
scanf("%f%f",&a,&b);
c=max(a,b);
printf("%.1f",c);
}
相邻区域
#include<stdio.h>
int main(){
int n,m,t,k,i,j,f,e,a[20][20],b[50];
scanf("%d%d%d%d",&n,&m,&t,&k);
for(i=0;i<n;i++){
for(j=0;j<m;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<t;i++){
b[i]=i+1;
b[i+t]=-i-1;
}
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(a[i][j]==k){
if(i-1>=0){
if(a[i-1][j]-a[i][j]!=0){
for(e=0;e<2*t;e++){
if(b[e]==(a[i-1][j]-a[i][j])){
b[e]=50;
}
}
}
}
if(i+1<n){
if(a[i+1][j]-a[i][j]!=0){
for(e=0;e<2*t;e++){
if(b[e]==(a[i+1][j]-a[i][j])){
b[e]=50;
}
}
}
}
if(j-1>=0){
if(a[i][j-1]-a[i][j]!=0){
for(e=0;e<2*t;e++){
if(b[e]==(a[i][j-1]-a[i][j])){
b[e]=50;
}
}
}
}
if(j+1<=m){
if(a[i][j+1]-a[i][j]!=0){
for(e=0;e<2*t;e++){
if(b[e]==(a[i][j+1]-a[i][j])){
b[e]=50;
}
}
}
}
}
}
}
for(i=0;i<2*t;i++){
if(b[i]==50){
f++;
}
}
printf("%d",f);
}
消除类游戏
#include<stdio.h>
int main()
{
int a[30][30],b[30][30];
int n,m,i,j,z=0,x;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++){
for(j=0;j<m;j++){
scanf("%d",&a[i][j]);
b[i][j]=a[i][j];
}
}
for(i=0;i<n;i++){
for(j=0;j<m-1;j++){
if(a[i][j]==a[i][j+1]){
z++;
}else{
z=0;
}
if(z>=2){
for(x=j-z+1;x<=j+1;x++){
b[i][x]=0;
}
}
}
z=0;
}
for(j=0;j<m;j++){
for(i=0;i<n-1;i++){
if(a[i][j]==a[i+1][j]){
z++;
}else{
z=0;
}
if(z>=2){
for(x=i-z+1;x<=i+1;x++){
b[x][j]=0;
}
}
}
z=0;
}
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("%d ",b[i][j]);
}
printf("\n");
}
}
小球下落问题
#include<stdio.h>
int main()
{
int n,i;
float s=-100,h=100;
scanf("%d",&n);
for(i=0;i<n;i++){
s=2*h+s;
h=h/2;
}
printf("s=%.3f h=%.3f",s,h);
}