%c\n",arr[n],a,c); else{ f(n-1,a,c,b); printf("%d:%c->%c\n",arr[n],a,c); f(n-1,b,a,c); }}int main()_键盘上输入一串字符,程序将其倒着输出来。 ">
赞
踩
#include<stdio.h>
int arr[9]={0,1,2,3,4,5};
void f(int n,char a,char b,char c){
if(n==1)printf("%d:%c->%c\n",arr[n],a,c);
else{
f(n-1,a,c,b);
printf("%d:%c->%c\n",arr[n],a,c);
f(n-1,b,a,c);
}
}
int main()
{
char a='a',b='b',c='c';
f(3,a,b,c);
return 0;
}
#include<stdio.h>
#define N 100
int main()
{
int i,j,n,t,a[N],k;
scanf("%d",&n);
for(i=0;i<n;i++) //输入数组
{
scanf("%d",&a[i]);
}
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(a[j]<a[k])
k=j;
}
t=a[i]; a[i]=a[k]; a[k]=t; //将最小值交换到a[i]位置
for(j=0;j<n;j++)
{
printf("%d ",a[j]);
}
printf("\n");
}
return 0;
}
#include<stdio.h>
int main()
{
int i,j,a[10]={1,2,3,4,5,6,7,8,1,4};
for(i=0;i<9;i++)
for(j=0;j<9-i;j++){
if(a[j]<a[j+1]){
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
从键盘中输入一个字符串,将其中的小写字符转换大写输出,其他保持不变
输入:a1FG2Bbcd 输出:A1FG2BBCD
#include<stdio.h>
#include<string.h>
int main()
{
char string[100];
gets(string);
printf("%s",strupr(string));
return 0;
}
从键盘中输入一个字符串,将其中的数字输出
#include<stdio.h>
int main()
{int i;
char a[10];
gets(a);
for(i=0;i<10;i++)
{if(a[i]>='0'&&a[i]<='9')
printf("%c",a[i]);
}
return 0;
}
从键盘中输入一个字符串,按逆序输出该串
输入:abcd 输出:dcba
#include<stdio.h>
#include<string.h>
int main()
{
int i,n;
char c[50];
puts("input the string:");
gets(c);
n=strlen(c);
for(i=n-1;i>=0;i--)
printf("%c",c[i]);
return 0;
}
回文输入一个字符串,判断它是否为回文
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,temp=1;
char a[100];
printf("从键盘中输出一个字符串:\n");
gets(a);
j=strlen(a);
for(i=0;i<=j;i++)
{
if(a[i]!=a[j-1-i])
{
temp=0;
break;
}
}
if(temp==0) printf("不是回文\n");
else printf("是回文\n");
return 0;
}
从键盘中输入一个整数,按逆序输出123 输出321
#include<stdio.h>
int main()
{
int a,b;
scanf("%d",&a);
while(a!=0)
{
b=a%10;
printf("%d",b);
a=a/10;
}
return 0;
}
一个素数,依次从个位开始去掉一位,两位……若得到的都是素数,且各数字不为0,则称为超级素数
373->37->3
求100-900之间的超级素数
#include<stdio.h>
int f(int n){
int x=1;
if(n<2)return 0;
for(int i=2;i*i<n+1;i++){
if(n%i==0){
x=0;
break;
}
}
return x;
}
int main(){
for(int i=100;i<=900;i++){
int x=0;
if(f(i)&&f(i/100)&&f(i/10))
x=1;
if(x)printf("%d ",i);
}
return 0;
}
大范围
#include<stdio.h>
int f(int n){
int x=1;
if(n<2)return 0;
for(int i=2;i*i<n+1;i++){
if(n%i==0){
x=0;
break;
}
}
return x;
}
int main(){
for(int i=100;i<=90000;i++){
int t=i,x=1;
while(t>0){
if(!f(t)){
x=0;
break;
}
t/=10;
}
if(x)printf("%d ",i);
}
return 0;
}
下面程序实现将一个整数中的每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为:87653142时,t中的数为:7531。请根据主程序写出其调用的void fun(int s,int *t)函数
#include <stdio.h>
void fun(int s,int *t)
{
int i=0,a[20]={0};
while(s>0){
int x=s%10;
if(x%2==1){
a[i++]=x;
}
s/=10;
}
*t=0;
while(i>=0)
*t=*t*10+a[i--];
}
int main()
{
int x=87654321,y;
fun(x,&y);
printf("%d, %d\n", x ,y);
return 0;
}
有 5 个人坐在一起,问第五个人多少岁?他说比第四个人大 2 岁。问第四个人岁数,他说比第三个人大 2 岁。问第三个人,又说比第二人大两岁。问第二个人,说比第一个人大2岁。最后问第一个人,他说是 10 岁。利用递归实现:求第五个人多少岁
#include <stdio.h>
int f(int n,int age)
{
if(n==5)return age;
return f(n+1,age+2);
}
int main()
{
int age;
age=f(1,10);
printf("%d\n", age);
return 0;
}
N个人围成一圈,从第1个人开始顺序报号1,2,3。 凡报到“X”者退出圈子,找出
最后留在圈子中的人原来的序号。
#include<stdio.h>
#define N 13
#define X 3
int main()
{
int a[N]={0},n=N,i=0,x=0;
while(1){
if(a[i]==0){
x++;
if(x==X) {
a[i] = 1;
n--;
x=0;
if(n==0)break;
printf("exit:%d\n",(i+1)%13);
}
}
i++;
i%=N;
}
printf("%d",i+1);
return 0;
}
从键盘任意输入a、b、c的值,编程计算并输出一元二次方程ax^2 +bx+c=0的实根
#include <stdio.h>
#include<math.h>
int main()
{
double a,b,c,x;
scanf("%lf,%lf,%lf",&a,&b,&c);
x=b*b-4*a*c;
if(x>0){
printf("x1=%.5lf\n",(-b+pow(x,0.5))/2/a);
printf("x2=%.5lf\n",(-b-pow(x,0.5))/2/a);
}else if(x==0){
printf("x1=x2=%.5lf\n",(-b+pow(x,0.5))/2/a);
}else{
printf("无实根");
}
return 0;
}
#include <stdio.h>
#include <math.h>
#include <string.h>
int main()
{
char s[21];
long a,i,len;
printf("请输入一个二进制数:\n");
scanf("%s",s);
len=strlen(s);
a=0;
for(i=len-1;i>=0;i--)
if(s[i]=='1') a=a+pow(2.0, len-1-i);
printf("其转换的十进制数为:");
printf("%ld\n",a);
return 0;
}
#include<stdio.h>
int main()
{int i,j,a[3][2],b[2][3];
printf("please input 6 number:\n");
for(i=0;i<3;i++)
for(j=0;j<2;j++)
scanf("%d",&a[i][j]);
printf("the array a is:\n");
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
printf("%4d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("the array b is:\n");
for(j=0;j<2;j++)
{
for(i=0;i<3;i++)
printf("%4d",b[j][i]);
printf("\n");
}
return 0;
}
#include<stdio.h>
int main()
{
int a[3][4]={{1,2,3,4},{2,3,4,5},{3,4,5,6}},b[3][2];
int i,j;
for(i=0;i<=2;i++)
{
for(j=0;j<=3;j++)
{
b[i][0]=a[i][0];
if(a[i][j]>a[i][0])b[i][0]=a[i][j];
}
for(j=0;j<=3;j++)
{
b[i][1]=a[i][0];
if(a[i][j]>a[i][0])b[i][j]=a[i][j];
}
}
for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++)
printf("%3d",b[i][j]);
printf("\n");
}
return 0;
}
@y=cos sqrt(a+x的2次方)+ln(ax) a=43;x=24;
#include<stdio.h>
#include<math.h>
int main()
{
int a=43,x=24,y;
y=cos(sqrt(a+x*x))+log(a*x);
printf("y=%d\n",y);
return 0;
}
@y=sin(sqrt(a+x*x))+exp(a*x)
#include<stdio.h>
#include<math.h>
int main()
{
double a=4.3,x=2.4,y;
y=sin(sqrt(a+x*x))+exp(a*x);
printf("y=%lf\n",y);
return 0;
}
#include<stdio.h>
int main(void)
{
int m,n,t,a,b;
scanf("%d%d",&m,&n);
a=m*n;
t=m % n;
while(t!=0)
{
m=n;
n=t;
t=m%n;
}
printf("最大公约数是:%d\n",n);
printf("最小公倍数是:%d\n",a/n);
return 0;
}
#include<stdio.h>
int main(void)
{
int m,n,t,a,b;
scanf("%d%d",&m,&n);
a=m*n;
while(m!=n)
{
if(m>n)
m=m-n;
else
n=n-m;
}
printf("最大公约数是:%d\n",n);
printf("最小公倍数是:%d\n",a/n);
return 0;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。