目录
数字字符求和
#include<stdio.h>
int main()
{
int sum=0;
char a;
do{
scanf("%c",&a);
if(a>47&&a<58){
sum=sum+a-48;
}
}while(a!='!');
if(sum==0){
printf("NAN");
}else{
printf("%d",sum);
}
}
数组鞍点
#include<stdio.h>
int max(int a,int b){
if(a>b){
return a;
}else{
return b;
}
}
int min(int a,int b){
if(a>b){
return b;
}else{
return a;
}
}
int main()
{
int i,j,t=0,a[4][5],b[4],c[5],m1,m2;
for(i=0;i<4;i++){
for(j=0;j<5;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<4;i++){
m1=a[i][0];
for(j=0;j<5;j++){
m1=max(m1,a[i][j]);
}
b[i]=m1;
m1=a[i+1][0];
}
for(j=0;j<5;j++){
m2=a[0][j];
for(i=0;i<4;i++){
m2=min(m2,a[i][j]);
}
c[j]=m2;
}
for(i=0;i<4;i++){
for(j=0;j<5;j++){
if(b[i]==c[j]){
printf("%d %d %d",a[i][j],i+1,j+1);
t=1;
}
}
}
if(t==0){
printf("鞍点不存在");
}
}
数组逆序排列
#include<stdio.h>
int max(int a,int b){
if(a>b){
return a;
}else{
return b;
}
}
int min(int a,int b){
if(a>b){
return b;
}else{
return a;
}
}
int main()
{
int i,j,t=0,a[4][5],b[4],c[5],m1,m2;
for(i=0;i<4;i++){
for(j=0;j<5;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<4;i++){
m1=a[i][0];
for(j=0;j<5;j++){
m1=max(m1,a[i][j]);
}
b[i]=m1;
m1=a[i+1][0];
}
for(j=0;j<5;j++){
m2=a[0][j];
for(i=0;i<4;i++){
m2=min(m2,a[i][j]);
}
c[j]=m2;
}
for(i=0;i<4;i++){
for(j=0;j<5;j++){
if(b[i]==c[j]){
printf("%d %d %d",a[i][j],i+1,j+1);
t=1;
}
}
}
if(t==0){
printf("鞍点不存在");
}
}
数组元素平移
#include<stdio.h>
int main(){
int array[10]={1,2,3,4,5,6,7,8,9,10},p,i,z=1;
scanf("%d",&p);
for(i=0;i<9-p;i++){
array[i]=p+2+i;
}
for(i=9-p;i<10;i++){
array[i]=z;
z++;
}
for(i=0;i<10;i++){
printf("%d ",array[i]);
}
}
水仙花数
#include<stdio.h>
#include<math.h>
int fun(int a,int b){
int t,i;
int j=1,c=0,d=0;
if(a>b){
t=a;
a=b;
b=t;
}
for(;a<b+1;a++){
i=a;
while(i>9){
i=i/10;
j++;
}
if(j>2){
i=a;
while(i>0){
c=(int)pow(i%10,j)+c;
i=i/10;
}
if(c==a){
d++;
}
}
j=1;
c=0;
}
return d;
}
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c=fun(a,b);
printf("%d",c);
return 0;
}
四位密码器
#include<stdio.h>
int main()
{
int i;
char a[4];
for(i=0;i<4;i++){
scanf("%c",&a[i]);
if(a[i]>='a'&&a[i]<='z'){
printf("%c",a[i]-32);
}else{
if(a[i]>='A'&&a[i]<='Z'){
printf("%c",a[i]+32);
}else{
if(a[i]>='0'&&a[i]<='9'){
printf("*");
}else{
printf("@");
}
}
}
}
}
四则运算
#include <stdio.h>
int main()
{
int a,c;
char b;
scanf("%d%c%d",&a,&b,&c);
if(b=='+')
printf("%d%c%d=%d",a,b,c,a+c);
if(b=='-')
printf("%d%c%d=%d",a,b,c,a-c);
if(b=='*')
printf("%d%c%d=%d",a,b,c,a*c);
if(b=='/')
printf("%d%c%d=%d",a,b,c,a/c);
if(b=='%')
printf("%d%c%d=%d",a,b,c,a%c);
return 0;
}
素数判断
#include<stdio.h>
int su(int n){
int i,ret=1;
for(i=2;i<n;i++){
if(n%i==0){
ret=0;
break;
}
}
return ret;
}
int main(){
int n;
scanf("%d",&n);
if(su(n)==1){
printf("YES");
}else{
printf("NO");
}
}
跳一跳
#include<stdio.h>
#include<math.h>
int main()
{
int i,sum=0,a=0;
do{
scanf("%d",&i);
if(i==2){
a=a+1;
sum=sum+2*a;
}else{
sum=sum+i;
a=0;
}
}while(i!=0);
printf("%d",sum);
}
统计正整数的个数
#include<stdio.h>
int main(){
int n,i,j,s,a[30],sum;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(j=0;j<n;j++){
for(i=0;i<n-1;i++){
if(a[i]>a[i+1]){
s=a[i];
a[i]=a[i+1];
a[i+1]=s;
}
}
}
sum=1;
for(i=0;i<n-1;i++){
if(a[i]==a[i+1]){
sum++;
}else{
printf("%d:%d\n",a[i],sum);
sum=1;
}
}
if(a[n-2]!=a[n-1]){
printf("%d:1",a[n-1]);
}else{
printf("%d:%d",a[n-1],sum);
}
}